Home | History | Annotate | Line # | Download | only in files
xinput.c revision 1.4
      1  1.1  mrg /*
      2  1.1  mrg  * This file generated automatically from xinput.xml by c_client.py.
      3  1.1  mrg  * Edit at your peril.
      4  1.1  mrg  */
      5  1.1  mrg 
      6  1.2  mrg #ifdef HAVE_CONFIG_H
      7  1.2  mrg #include "config.h"
      8  1.2  mrg #endif
      9  1.2  mrg #include <stdlib.h>
     10  1.1  mrg #include <string.h>
     11  1.1  mrg #include <assert.h>
     12  1.2  mrg #include <stddef.h>  /* for offsetof() */
     13  1.1  mrg #include "xcbext.h"
     14  1.1  mrg #include "xinput.h"
     15  1.2  mrg 
     16  1.2  mrg #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
     17  1.3  mrg #include "xfixes.h"
     18  1.1  mrg 
     19  1.1  mrg xcb_extension_t xcb_input_id = { "XInputExtension", 0 };
     20  1.1  mrg 
     21  1.3  mrg void
     22  1.3  mrg xcb_input_event_class_next (xcb_input_event_class_iterator_t *i  /**< */)
     23  1.3  mrg {
     24  1.3  mrg     --i->rem;
     25  1.3  mrg     ++i->data;
     26  1.3  mrg     i->index += sizeof(xcb_input_event_class_t);
     27  1.3  mrg }
     28  1.3  mrg 
     29  1.3  mrg xcb_generic_iterator_t
     30  1.3  mrg xcb_input_event_class_end (xcb_input_event_class_iterator_t i  /**< */)
     31  1.3  mrg {
     32  1.3  mrg     xcb_generic_iterator_t ret;
     33  1.3  mrg     ret.data = i.data + i.rem;
     34  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     35  1.3  mrg     ret.rem = 0;
     36  1.3  mrg     return ret;
     37  1.3  mrg }
     38  1.3  mrg 
     39  1.1  mrg void
     40  1.1  mrg xcb_input_key_code_next (xcb_input_key_code_iterator_t *i  /**< */)
     41  1.1  mrg {
     42  1.1  mrg     --i->rem;
     43  1.1  mrg     ++i->data;
     44  1.1  mrg     i->index += sizeof(xcb_input_key_code_t);
     45  1.1  mrg }
     46  1.1  mrg 
     47  1.1  mrg xcb_generic_iterator_t
     48  1.1  mrg xcb_input_key_code_end (xcb_input_key_code_iterator_t i  /**< */)
     49  1.1  mrg {
     50  1.1  mrg     xcb_generic_iterator_t ret;
     51  1.1  mrg     ret.data = i.data + i.rem;
     52  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     53  1.1  mrg     ret.rem = 0;
     54  1.1  mrg     return ret;
     55  1.1  mrg }
     56  1.1  mrg 
     57  1.3  mrg void
     58  1.3  mrg xcb_input_device_id_next (xcb_input_device_id_iterator_t *i  /**< */)
     59  1.3  mrg {
     60  1.3  mrg     --i->rem;
     61  1.3  mrg     ++i->data;
     62  1.3  mrg     i->index += sizeof(xcb_input_device_id_t);
     63  1.3  mrg }
     64  1.3  mrg 
     65  1.3  mrg xcb_generic_iterator_t
     66  1.3  mrg xcb_input_device_id_end (xcb_input_device_id_iterator_t i  /**< */)
     67  1.3  mrg {
     68  1.3  mrg     xcb_generic_iterator_t ret;
     69  1.3  mrg     ret.data = i.data + i.rem;
     70  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     71  1.3  mrg     ret.rem = 0;
     72  1.3  mrg     return ret;
     73  1.3  mrg }
     74  1.3  mrg 
     75  1.3  mrg void
     76  1.3  mrg xcb_input_fp1616_next (xcb_input_fp1616_iterator_t *i  /**< */)
     77  1.3  mrg {
     78  1.3  mrg     --i->rem;
     79  1.3  mrg     ++i->data;
     80  1.3  mrg     i->index += sizeof(xcb_input_fp1616_t);
     81  1.3  mrg }
     82  1.3  mrg 
     83  1.3  mrg xcb_generic_iterator_t
     84  1.3  mrg xcb_input_fp1616_end (xcb_input_fp1616_iterator_t i  /**< */)
     85  1.3  mrg {
     86  1.3  mrg     xcb_generic_iterator_t ret;
     87  1.3  mrg     ret.data = i.data + i.rem;
     88  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     89  1.3  mrg     ret.rem = 0;
     90  1.3  mrg     return ret;
     91  1.3  mrg }
     92  1.3  mrg 
     93  1.1  mrg void
     94  1.3  mrg xcb_input_fp3232_next (xcb_input_fp3232_iterator_t *i  /**< */)
     95  1.1  mrg {
     96  1.1  mrg     --i->rem;
     97  1.1  mrg     ++i->data;
     98  1.3  mrg     i->index += sizeof(xcb_input_fp3232_t);
     99  1.1  mrg }
    100  1.1  mrg 
    101  1.1  mrg xcb_generic_iterator_t
    102  1.3  mrg xcb_input_fp3232_end (xcb_input_fp3232_iterator_t i  /**< */)
    103  1.1  mrg {
    104  1.1  mrg     xcb_generic_iterator_t ret;
    105  1.1  mrg     ret.data = i.data + i.rem;
    106  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    107  1.1  mrg     ret.rem = 0;
    108  1.1  mrg     return ret;
    109  1.1  mrg }
    110  1.1  mrg 
    111  1.2  mrg int
    112  1.2  mrg xcb_input_get_extension_version_sizeof (const void  *_buffer  /**< */)
    113  1.2  mrg {
    114  1.2  mrg     char *xcb_tmp = (char *)_buffer;
    115  1.2  mrg     const xcb_input_get_extension_version_request_t *_aux = (xcb_input_get_extension_version_request_t *)_buffer;
    116  1.2  mrg     unsigned int xcb_buffer_len = 0;
    117  1.2  mrg     unsigned int xcb_block_len = 0;
    118  1.2  mrg     unsigned int xcb_pad = 0;
    119  1.3  mrg     unsigned int xcb_align_to = 0;
    120  1.2  mrg 
    121  1.2  mrg 
    122  1.2  mrg     xcb_block_len += sizeof(xcb_input_get_extension_version_request_t);
    123  1.2  mrg     xcb_tmp += xcb_block_len;
    124  1.3  mrg     xcb_buffer_len += xcb_block_len;
    125  1.3  mrg     xcb_block_len = 0;
    126  1.2  mrg     /* name */
    127  1.2  mrg     xcb_block_len += _aux->name_len * sizeof(char);
    128  1.2  mrg     xcb_tmp += xcb_block_len;
    129  1.2  mrg     xcb_align_to = ALIGNOF(char);
    130  1.2  mrg     /* insert padding */
    131  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    132  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    133  1.2  mrg     if (0 != xcb_pad) {
    134  1.2  mrg         xcb_tmp += xcb_pad;
    135  1.2  mrg         xcb_pad = 0;
    136  1.2  mrg     }
    137  1.2  mrg     xcb_block_len = 0;
    138  1.2  mrg 
    139  1.2  mrg     return xcb_buffer_len;
    140  1.2  mrg }
    141  1.2  mrg 
    142  1.1  mrg xcb_input_get_extension_version_cookie_t
    143  1.1  mrg xcb_input_get_extension_version (xcb_connection_t *c  /**< */,
    144  1.1  mrg                                  uint16_t          name_len  /**< */,
    145  1.1  mrg                                  const char       *name  /**< */)
    146  1.1  mrg {
    147  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    148  1.1  mrg         /* count */ 4,
    149  1.1  mrg         /* ext */ &xcb_input_id,
    150  1.1  mrg         /* opcode */ XCB_INPUT_GET_EXTENSION_VERSION,
    151  1.1  mrg         /* isvoid */ 0
    152  1.1  mrg     };
    153  1.4  mrg 
    154  1.1  mrg     struct iovec xcb_parts[6];
    155  1.1  mrg     xcb_input_get_extension_version_cookie_t xcb_ret;
    156  1.1  mrg     xcb_input_get_extension_version_request_t xcb_out;
    157  1.4  mrg 
    158  1.1  mrg     xcb_out.name_len = name_len;
    159  1.1  mrg     memset(xcb_out.pad0, 0, 2);
    160  1.4  mrg 
    161  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    162  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    163  1.1  mrg     xcb_parts[3].iov_base = 0;
    164  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    165  1.2  mrg     /* char name */
    166  1.1  mrg     xcb_parts[4].iov_base = (char *) name;
    167  1.1  mrg     xcb_parts[4].iov_len = name_len * sizeof(char);
    168  1.1  mrg     xcb_parts[5].iov_base = 0;
    169  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
    170  1.4  mrg 
    171  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    172  1.1  mrg     return xcb_ret;
    173  1.1  mrg }
    174  1.1  mrg 
    175  1.1  mrg xcb_input_get_extension_version_cookie_t
    176  1.1  mrg xcb_input_get_extension_version_unchecked (xcb_connection_t *c  /**< */,
    177  1.1  mrg                                            uint16_t          name_len  /**< */,
    178  1.1  mrg                                            const char       *name  /**< */)
    179  1.1  mrg {
    180  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    181  1.1  mrg         /* count */ 4,
    182  1.1  mrg         /* ext */ &xcb_input_id,
    183  1.1  mrg         /* opcode */ XCB_INPUT_GET_EXTENSION_VERSION,
    184  1.1  mrg         /* isvoid */ 0
    185  1.1  mrg     };
    186  1.4  mrg 
    187  1.1  mrg     struct iovec xcb_parts[6];
    188  1.1  mrg     xcb_input_get_extension_version_cookie_t xcb_ret;
    189  1.1  mrg     xcb_input_get_extension_version_request_t xcb_out;
    190  1.4  mrg 
    191  1.1  mrg     xcb_out.name_len = name_len;
    192  1.1  mrg     memset(xcb_out.pad0, 0, 2);
    193  1.4  mrg 
    194  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    195  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    196  1.1  mrg     xcb_parts[3].iov_base = 0;
    197  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    198  1.2  mrg     /* char name */
    199  1.1  mrg     xcb_parts[4].iov_base = (char *) name;
    200  1.1  mrg     xcb_parts[4].iov_len = name_len * sizeof(char);
    201  1.1  mrg     xcb_parts[5].iov_base = 0;
    202  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
    203  1.4  mrg 
    204  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    205  1.1  mrg     return xcb_ret;
    206  1.1  mrg }
    207  1.1  mrg 
    208  1.1  mrg xcb_input_get_extension_version_reply_t *
    209  1.1  mrg xcb_input_get_extension_version_reply (xcb_connection_t                          *c  /**< */,
    210  1.1  mrg                                        xcb_input_get_extension_version_cookie_t   cookie  /**< */,
    211  1.1  mrg                                        xcb_generic_error_t                      **e  /**< */)
    212  1.1  mrg {
    213  1.1  mrg     return (xcb_input_get_extension_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    214  1.1  mrg }
    215  1.1  mrg 
    216  1.1  mrg void
    217  1.1  mrg xcb_input_device_info_next (xcb_input_device_info_iterator_t *i  /**< */)
    218  1.1  mrg {
    219  1.1  mrg     --i->rem;
    220  1.1  mrg     ++i->data;
    221  1.1  mrg     i->index += sizeof(xcb_input_device_info_t);
    222  1.1  mrg }
    223  1.1  mrg 
    224  1.1  mrg xcb_generic_iterator_t
    225  1.1  mrg xcb_input_device_info_end (xcb_input_device_info_iterator_t i  /**< */)
    226  1.1  mrg {
    227  1.1  mrg     xcb_generic_iterator_t ret;
    228  1.1  mrg     ret.data = i.data + i.rem;
    229  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    230  1.1  mrg     ret.rem = 0;
    231  1.1  mrg     return ret;
    232  1.1  mrg }
    233  1.1  mrg 
    234  1.3  mrg void
    235  1.3  mrg xcb_input_key_info_next (xcb_input_key_info_iterator_t *i  /**< */)
    236  1.1  mrg {
    237  1.3  mrg     --i->rem;
    238  1.3  mrg     ++i->data;
    239  1.3  mrg     i->index += sizeof(xcb_input_key_info_t);
    240  1.1  mrg }
    241  1.1  mrg 
    242  1.3  mrg xcb_generic_iterator_t
    243  1.3  mrg xcb_input_key_info_end (xcb_input_key_info_iterator_t i  /**< */)
    244  1.1  mrg {
    245  1.3  mrg     xcb_generic_iterator_t ret;
    246  1.3  mrg     ret.data = i.data + i.rem;
    247  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    248  1.3  mrg     ret.rem = 0;
    249  1.3  mrg     return ret;
    250  1.1  mrg }
    251  1.1  mrg 
    252  1.3  mrg void
    253  1.3  mrg xcb_input_button_info_next (xcb_input_button_info_iterator_t *i  /**< */)
    254  1.1  mrg {
    255  1.3  mrg     --i->rem;
    256  1.3  mrg     ++i->data;
    257  1.3  mrg     i->index += sizeof(xcb_input_button_info_t);
    258  1.1  mrg }
    259  1.1  mrg 
    260  1.3  mrg xcb_generic_iterator_t
    261  1.3  mrg xcb_input_button_info_end (xcb_input_button_info_iterator_t i  /**< */)
    262  1.1  mrg {
    263  1.3  mrg     xcb_generic_iterator_t ret;
    264  1.3  mrg     ret.data = i.data + i.rem;
    265  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    266  1.3  mrg     ret.rem = 0;
    267  1.3  mrg     return ret;
    268  1.1  mrg }
    269  1.1  mrg 
    270  1.3  mrg void
    271  1.3  mrg xcb_input_axis_info_next (xcb_input_axis_info_iterator_t *i  /**< */)
    272  1.1  mrg {
    273  1.3  mrg     --i->rem;
    274  1.3  mrg     ++i->data;
    275  1.3  mrg     i->index += sizeof(xcb_input_axis_info_t);
    276  1.1  mrg }
    277  1.1  mrg 
    278  1.1  mrg xcb_generic_iterator_t
    279  1.1  mrg xcb_input_axis_info_end (xcb_input_axis_info_iterator_t i  /**< */)
    280  1.1  mrg {
    281  1.1  mrg     xcb_generic_iterator_t ret;
    282  1.1  mrg     ret.data = i.data + i.rem;
    283  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    284  1.1  mrg     ret.rem = 0;
    285  1.1  mrg     return ret;
    286  1.1  mrg }
    287  1.1  mrg 
    288  1.2  mrg int
    289  1.2  mrg xcb_input_valuator_info_sizeof (const void  *_buffer  /**< */)
    290  1.2  mrg {
    291  1.2  mrg     char *xcb_tmp = (char *)_buffer;
    292  1.2  mrg     const xcb_input_valuator_info_t *_aux = (xcb_input_valuator_info_t *)_buffer;
    293  1.2  mrg     unsigned int xcb_buffer_len = 0;
    294  1.2  mrg     unsigned int xcb_block_len = 0;
    295  1.2  mrg     unsigned int xcb_pad = 0;
    296  1.3  mrg     unsigned int xcb_align_to = 0;
    297  1.2  mrg 
    298  1.2  mrg 
    299  1.2  mrg     xcb_block_len += sizeof(xcb_input_valuator_info_t);
    300  1.2  mrg     xcb_tmp += xcb_block_len;
    301  1.3  mrg     xcb_buffer_len += xcb_block_len;
    302  1.3  mrg     xcb_block_len = 0;
    303  1.2  mrg     /* axes */
    304  1.2  mrg     xcb_block_len += _aux->axes_len * sizeof(xcb_input_axis_info_t);
    305  1.2  mrg     xcb_tmp += xcb_block_len;
    306  1.2  mrg     xcb_align_to = ALIGNOF(xcb_input_axis_info_t);
    307  1.2  mrg     /* insert padding */
    308  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    309  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    310  1.2  mrg     if (0 != xcb_pad) {
    311  1.2  mrg         xcb_tmp += xcb_pad;
    312  1.2  mrg         xcb_pad = 0;
    313  1.2  mrg     }
    314  1.2  mrg     xcb_block_len = 0;
    315  1.2  mrg 
    316  1.2  mrg     return xcb_buffer_len;
    317  1.2  mrg }
    318  1.2  mrg 
    319  1.1  mrg xcb_input_axis_info_t *
    320  1.1  mrg xcb_input_valuator_info_axes (const xcb_input_valuator_info_t *R  /**< */)
    321  1.1  mrg {
    322  1.1  mrg     return (xcb_input_axis_info_t *) (R + 1);
    323  1.1  mrg }
    324  1.1  mrg 
    325  1.1  mrg int
    326  1.1  mrg xcb_input_valuator_info_axes_length (const xcb_input_valuator_info_t *R  /**< */)
    327  1.1  mrg {
    328  1.1  mrg     return R->axes_len;
    329  1.1  mrg }
    330  1.1  mrg 
    331  1.1  mrg xcb_input_axis_info_iterator_t
    332  1.1  mrg xcb_input_valuator_info_axes_iterator (const xcb_input_valuator_info_t *R  /**< */)
    333  1.1  mrg {
    334  1.1  mrg     xcb_input_axis_info_iterator_t i;
    335  1.1  mrg     i.data = (xcb_input_axis_info_t *) (R + 1);
    336  1.1  mrg     i.rem = R->axes_len;
    337  1.1  mrg     i.index = (char *) i.data - (char *) R;
    338  1.1  mrg     return i;
    339  1.1  mrg }
    340  1.1  mrg 
    341  1.1  mrg void
    342  1.1  mrg xcb_input_valuator_info_next (xcb_input_valuator_info_iterator_t *i  /**< */)
    343  1.1  mrg {
    344  1.1  mrg     xcb_input_valuator_info_t *R = i->data;
    345  1.2  mrg     xcb_generic_iterator_t child;
    346  1.2  mrg     child.data = (xcb_input_valuator_info_t *)(((char *)R) + xcb_input_valuator_info_sizeof(R));
    347  1.2  mrg     i->index = (char *) child.data - (char *) i->data;
    348  1.1  mrg     --i->rem;
    349  1.1  mrg     i->data = (xcb_input_valuator_info_t *) child.data;
    350  1.1  mrg }
    351  1.1  mrg 
    352  1.1  mrg xcb_generic_iterator_t
    353  1.1  mrg xcb_input_valuator_info_end (xcb_input_valuator_info_iterator_t i  /**< */)
    354  1.1  mrg {
    355  1.1  mrg     xcb_generic_iterator_t ret;
    356  1.1  mrg     while(i.rem > 0)
    357  1.1  mrg         xcb_input_valuator_info_next(&i);
    358  1.1  mrg     ret.data = i.data;
    359  1.1  mrg     ret.rem = i.rem;
    360  1.1  mrg     ret.index = i.index;
    361  1.1  mrg     return ret;
    362  1.1  mrg }
    363  1.1  mrg 
    364  1.1  mrg void
    365  1.3  mrg xcb_input_input_info_next (xcb_input_input_info_iterator_t *i  /**< */)
    366  1.1  mrg {
    367  1.1  mrg     --i->rem;
    368  1.1  mrg     ++i->data;
    369  1.3  mrg     i->index += sizeof(xcb_input_input_info_t);
    370  1.1  mrg }
    371  1.1  mrg 
    372  1.1  mrg xcb_generic_iterator_t
    373  1.3  mrg xcb_input_input_info_end (xcb_input_input_info_iterator_t i  /**< */)
    374  1.1  mrg {
    375  1.1  mrg     xcb_generic_iterator_t ret;
    376  1.1  mrg     ret.data = i.data + i.rem;
    377  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    378  1.1  mrg     ret.rem = 0;
    379  1.1  mrg     return ret;
    380  1.1  mrg }
    381  1.1  mrg 
    382  1.2  mrg int
    383  1.3  mrg xcb_input_device_name_sizeof (const void  *_buffer  /**< */)
    384  1.2  mrg {
    385  1.2  mrg     char *xcb_tmp = (char *)_buffer;
    386  1.3  mrg     const xcb_input_device_name_t *_aux = (xcb_input_device_name_t *)_buffer;
    387  1.2  mrg     unsigned int xcb_buffer_len = 0;
    388  1.2  mrg     unsigned int xcb_block_len = 0;
    389  1.2  mrg     unsigned int xcb_pad = 0;
    390  1.3  mrg     unsigned int xcb_align_to = 0;
    391  1.2  mrg 
    392  1.2  mrg 
    393  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_name_t);
    394  1.2  mrg     xcb_tmp += xcb_block_len;
    395  1.3  mrg     xcb_buffer_len += xcb_block_len;
    396  1.3  mrg     xcb_block_len = 0;
    397  1.3  mrg     /* string */
    398  1.3  mrg     xcb_block_len += _aux->len * sizeof(char);
    399  1.2  mrg     xcb_tmp += xcb_block_len;
    400  1.3  mrg     xcb_align_to = ALIGNOF(char);
    401  1.2  mrg     /* insert padding */
    402  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    403  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    404  1.2  mrg     if (0 != xcb_pad) {
    405  1.2  mrg         xcb_tmp += xcb_pad;
    406  1.2  mrg         xcb_pad = 0;
    407  1.2  mrg     }
    408  1.2  mrg     xcb_block_len = 0;
    409  1.2  mrg 
    410  1.2  mrg     return xcb_buffer_len;
    411  1.2  mrg }
    412  1.2  mrg 
    413  1.3  mrg char *
    414  1.3  mrg xcb_input_device_name_string (const xcb_input_device_name_t *R  /**< */)
    415  1.1  mrg {
    416  1.3  mrg     return (char *) (R + 1);
    417  1.1  mrg }
    418  1.1  mrg 
    419  1.3  mrg int
    420  1.3  mrg xcb_input_device_name_string_length (const xcb_input_device_name_t *R  /**< */)
    421  1.1  mrg {
    422  1.3  mrg     return R->len;
    423  1.1  mrg }
    424  1.1  mrg 
    425  1.3  mrg xcb_generic_iterator_t
    426  1.3  mrg xcb_input_device_name_string_end (const xcb_input_device_name_t *R  /**< */)
    427  1.1  mrg {
    428  1.3  mrg     xcb_generic_iterator_t i;
    429  1.3  mrg     i.data = ((char *) (R + 1)) + (R->len);
    430  1.3  mrg     i.rem = 0;
    431  1.3  mrg     i.index = (char *) i.data - (char *) R;
    432  1.3  mrg     return i;
    433  1.1  mrg }
    434  1.1  mrg 
    435  1.3  mrg void
    436  1.3  mrg xcb_input_device_name_next (xcb_input_device_name_iterator_t *i  /**< */)
    437  1.1  mrg {
    438  1.3  mrg     xcb_input_device_name_t *R = i->data;
    439  1.3  mrg     xcb_generic_iterator_t child;
    440  1.3  mrg     child.data = (xcb_input_device_name_t *)(((char *)R) + xcb_input_device_name_sizeof(R));
    441  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
    442  1.3  mrg     --i->rem;
    443  1.3  mrg     i->data = (xcb_input_device_name_t *) child.data;
    444  1.1  mrg }
    445  1.1  mrg 
    446  1.3  mrg xcb_generic_iterator_t
    447  1.3  mrg xcb_input_device_name_end (xcb_input_device_name_iterator_t i  /**< */)
    448  1.1  mrg {
    449  1.3  mrg     xcb_generic_iterator_t ret;
    450  1.3  mrg     while(i.rem > 0)
    451  1.3  mrg         xcb_input_device_name_next(&i);
    452  1.3  mrg     ret.data = i.data;
    453  1.3  mrg     ret.rem = i.rem;
    454  1.3  mrg     ret.index = i.index;
    455  1.3  mrg     return ret;
    456  1.1  mrg }
    457  1.1  mrg 
    458  1.3  mrg int
    459  1.3  mrg xcb_input_list_input_devices_sizeof (const void  *_buffer  /**< */)
    460  1.3  mrg {
    461  1.3  mrg     char *xcb_tmp = (char *)_buffer;
    462  1.3  mrg     const xcb_input_list_input_devices_reply_t *_aux = (xcb_input_list_input_devices_reply_t *)_buffer;
    463  1.3  mrg     unsigned int xcb_buffer_len = 0;
    464  1.3  mrg     unsigned int xcb_block_len = 0;
    465  1.3  mrg     unsigned int xcb_pad = 0;
    466  1.3  mrg     unsigned int xcb_align_to = 0;
    467  1.3  mrg 
    468  1.3  mrg 
    469  1.3  mrg     xcb_block_len += sizeof(xcb_input_list_input_devices_reply_t);
    470  1.3  mrg     xcb_tmp += xcb_block_len;
    471  1.3  mrg     xcb_buffer_len += xcb_block_len;
    472  1.3  mrg     xcb_block_len = 0;
    473  1.3  mrg     /* devices */
    474  1.3  mrg     xcb_block_len += _aux->devices_len * sizeof(xcb_input_device_info_t);
    475  1.3  mrg     xcb_tmp += xcb_block_len;
    476  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_device_info_t);
    477  1.3  mrg     /* insert padding */
    478  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    479  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    480  1.3  mrg     if (0 != xcb_pad) {
    481  1.3  mrg         xcb_tmp += xcb_pad;
    482  1.3  mrg         xcb_pad = 0;
    483  1.3  mrg     }
    484  1.3  mrg     xcb_block_len = 0;
    485  1.1  mrg 
    486  1.3  mrg     return xcb_buffer_len;
    487  1.1  mrg }
    488  1.1  mrg 
    489  1.3  mrg xcb_input_list_input_devices_cookie_t
    490  1.3  mrg xcb_input_list_input_devices (xcb_connection_t *c  /**< */)
    491  1.1  mrg {
    492  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    493  1.1  mrg         /* count */ 2,
    494  1.1  mrg         /* ext */ &xcb_input_id,
    495  1.3  mrg         /* opcode */ XCB_INPUT_LIST_INPUT_DEVICES,
    496  1.3  mrg         /* isvoid */ 0
    497  1.1  mrg     };
    498  1.4  mrg 
    499  1.1  mrg     struct iovec xcb_parts[4];
    500  1.3  mrg     xcb_input_list_input_devices_cookie_t xcb_ret;
    501  1.3  mrg     xcb_input_list_input_devices_request_t xcb_out;
    502  1.4  mrg 
    503  1.4  mrg 
    504  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    505  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    506  1.1  mrg     xcb_parts[3].iov_base = 0;
    507  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    508  1.4  mrg 
    509  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    510  1.1  mrg     return xcb_ret;
    511  1.1  mrg }
    512  1.1  mrg 
    513  1.3  mrg xcb_input_list_input_devices_cookie_t
    514  1.3  mrg xcb_input_list_input_devices_unchecked (xcb_connection_t *c  /**< */)
    515  1.1  mrg {
    516  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    517  1.1  mrg         /* count */ 2,
    518  1.1  mrg         /* ext */ &xcb_input_id,
    519  1.3  mrg         /* opcode */ XCB_INPUT_LIST_INPUT_DEVICES,
    520  1.3  mrg         /* isvoid */ 0
    521  1.1  mrg     };
    522  1.4  mrg 
    523  1.1  mrg     struct iovec xcb_parts[4];
    524  1.3  mrg     xcb_input_list_input_devices_cookie_t xcb_ret;
    525  1.3  mrg     xcb_input_list_input_devices_request_t xcb_out;
    526  1.4  mrg 
    527  1.4  mrg 
    528  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    529  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    530  1.1  mrg     xcb_parts[3].iov_base = 0;
    531  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    532  1.4  mrg 
    533  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    534  1.1  mrg     return xcb_ret;
    535  1.1  mrg }
    536  1.1  mrg 
    537  1.3  mrg xcb_input_device_info_t *
    538  1.3  mrg xcb_input_list_input_devices_devices (const xcb_input_list_input_devices_reply_t *R  /**< */)
    539  1.1  mrg {
    540  1.3  mrg     return (xcb_input_device_info_t *) (R + 1);
    541  1.1  mrg }
    542  1.1  mrg 
    543  1.3  mrg int
    544  1.3  mrg xcb_input_list_input_devices_devices_length (const xcb_input_list_input_devices_reply_t *R  /**< */)
    545  1.1  mrg {
    546  1.3  mrg     return R->devices_len;
    547  1.1  mrg }
    548  1.1  mrg 
    549  1.3  mrg xcb_input_device_info_iterator_t
    550  1.3  mrg xcb_input_list_input_devices_devices_iterator (const xcb_input_list_input_devices_reply_t *R  /**< */)
    551  1.1  mrg {
    552  1.3  mrg     xcb_input_device_info_iterator_t i;
    553  1.3  mrg     i.data = (xcb_input_device_info_t *) (R + 1);
    554  1.3  mrg     i.rem = R->devices_len;
    555  1.3  mrg     i.index = (char *) i.data - (char *) R;
    556  1.3  mrg     return i;
    557  1.1  mrg }
    558  1.1  mrg 
    559  1.3  mrg xcb_input_list_input_devices_reply_t *
    560  1.3  mrg xcb_input_list_input_devices_reply (xcb_connection_t                       *c  /**< */,
    561  1.3  mrg                                     xcb_input_list_input_devices_cookie_t   cookie  /**< */,
    562  1.3  mrg                                     xcb_generic_error_t                   **e  /**< */)
    563  1.2  mrg {
    564  1.3  mrg     return (xcb_input_list_input_devices_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    565  1.2  mrg }
    566  1.2  mrg 
    567  1.3  mrg void
    568  1.3  mrg xcb_input_input_class_info_next (xcb_input_input_class_info_iterator_t *i  /**< */)
    569  1.3  mrg {
    570  1.3  mrg     --i->rem;
    571  1.3  mrg     ++i->data;
    572  1.3  mrg     i->index += sizeof(xcb_input_input_class_info_t);
    573  1.1  mrg }
    574  1.1  mrg 
    575  1.3  mrg xcb_generic_iterator_t
    576  1.3  mrg xcb_input_input_class_info_end (xcb_input_input_class_info_iterator_t i  /**< */)
    577  1.1  mrg {
    578  1.3  mrg     xcb_generic_iterator_t ret;
    579  1.3  mrg     ret.data = i.data + i.rem;
    580  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    581  1.3  mrg     ret.rem = 0;
    582  1.3  mrg     return ret;
    583  1.1  mrg }
    584  1.1  mrg 
    585  1.2  mrg int
    586  1.3  mrg xcb_input_open_device_sizeof (const void  *_buffer  /**< */)
    587  1.2  mrg {
    588  1.2  mrg     char *xcb_tmp = (char *)_buffer;
    589  1.3  mrg     const xcb_input_open_device_reply_t *_aux = (xcb_input_open_device_reply_t *)_buffer;
    590  1.2  mrg     unsigned int xcb_buffer_len = 0;
    591  1.2  mrg     unsigned int xcb_block_len = 0;
    592  1.2  mrg     unsigned int xcb_pad = 0;
    593  1.3  mrg     unsigned int xcb_align_to = 0;
    594  1.2  mrg 
    595  1.2  mrg 
    596  1.3  mrg     xcb_block_len += sizeof(xcb_input_open_device_reply_t);
    597  1.2  mrg     xcb_tmp += xcb_block_len;
    598  1.3  mrg     xcb_buffer_len += xcb_block_len;
    599  1.2  mrg     xcb_block_len = 0;
    600  1.3  mrg     /* class_info */
    601  1.3  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_input_class_info_t);
    602  1.2  mrg     xcb_tmp += xcb_block_len;
    603  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_input_class_info_t);
    604  1.2  mrg     /* insert padding */
    605  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    606  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    607  1.2  mrg     if (0 != xcb_pad) {
    608  1.2  mrg         xcb_tmp += xcb_pad;
    609  1.2  mrg         xcb_pad = 0;
    610  1.2  mrg     }
    611  1.2  mrg     xcb_block_len = 0;
    612  1.2  mrg 
    613  1.2  mrg     return xcb_buffer_len;
    614  1.2  mrg }
    615  1.2  mrg 
    616  1.3  mrg xcb_input_open_device_cookie_t
    617  1.3  mrg xcb_input_open_device (xcb_connection_t *c  /**< */,
    618  1.3  mrg                        uint8_t           device_id  /**< */)
    619  1.1  mrg {
    620  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    621  1.1  mrg         /* count */ 2,
    622  1.1  mrg         /* ext */ &xcb_input_id,
    623  1.3  mrg         /* opcode */ XCB_INPUT_OPEN_DEVICE,
    624  1.1  mrg         /* isvoid */ 0
    625  1.1  mrg     };
    626  1.4  mrg 
    627  1.1  mrg     struct iovec xcb_parts[4];
    628  1.3  mrg     xcb_input_open_device_cookie_t xcb_ret;
    629  1.3  mrg     xcb_input_open_device_request_t xcb_out;
    630  1.4  mrg 
    631  1.3  mrg     xcb_out.device_id = device_id;
    632  1.3  mrg     memset(xcb_out.pad0, 0, 3);
    633  1.4  mrg 
    634  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    635  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    636  1.1  mrg     xcb_parts[3].iov_base = 0;
    637  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    638  1.4  mrg 
    639  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    640  1.1  mrg     return xcb_ret;
    641  1.1  mrg }
    642  1.1  mrg 
    643  1.3  mrg xcb_input_open_device_cookie_t
    644  1.3  mrg xcb_input_open_device_unchecked (xcb_connection_t *c  /**< */,
    645  1.3  mrg                                  uint8_t           device_id  /**< */)
    646  1.1  mrg {
    647  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    648  1.1  mrg         /* count */ 2,
    649  1.1  mrg         /* ext */ &xcb_input_id,
    650  1.3  mrg         /* opcode */ XCB_INPUT_OPEN_DEVICE,
    651  1.1  mrg         /* isvoid */ 0
    652  1.1  mrg     };
    653  1.4  mrg 
    654  1.1  mrg     struct iovec xcb_parts[4];
    655  1.3  mrg     xcb_input_open_device_cookie_t xcb_ret;
    656  1.3  mrg     xcb_input_open_device_request_t xcb_out;
    657  1.4  mrg 
    658  1.3  mrg     xcb_out.device_id = device_id;
    659  1.3  mrg     memset(xcb_out.pad0, 0, 3);
    660  1.4  mrg 
    661  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    662  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    663  1.1  mrg     xcb_parts[3].iov_base = 0;
    664  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    665  1.4  mrg 
    666  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    667  1.1  mrg     return xcb_ret;
    668  1.1  mrg }
    669  1.1  mrg 
    670  1.3  mrg xcb_input_input_class_info_t *
    671  1.3  mrg xcb_input_open_device_class_info (const xcb_input_open_device_reply_t *R  /**< */)
    672  1.1  mrg {
    673  1.3  mrg     return (xcb_input_input_class_info_t *) (R + 1);
    674  1.1  mrg }
    675  1.1  mrg 
    676  1.1  mrg int
    677  1.3  mrg xcb_input_open_device_class_info_length (const xcb_input_open_device_reply_t *R  /**< */)
    678  1.1  mrg {
    679  1.3  mrg     return R->num_classes;
    680  1.1  mrg }
    681  1.1  mrg 
    682  1.3  mrg xcb_input_input_class_info_iterator_t
    683  1.3  mrg xcb_input_open_device_class_info_iterator (const xcb_input_open_device_reply_t *R  /**< */)
    684  1.1  mrg {
    685  1.3  mrg     xcb_input_input_class_info_iterator_t i;
    686  1.3  mrg     i.data = (xcb_input_input_class_info_t *) (R + 1);
    687  1.3  mrg     i.rem = R->num_classes;
    688  1.1  mrg     i.index = (char *) i.data - (char *) R;
    689  1.1  mrg     return i;
    690  1.1  mrg }
    691  1.1  mrg 
    692  1.3  mrg xcb_input_open_device_reply_t *
    693  1.3  mrg xcb_input_open_device_reply (xcb_connection_t                *c  /**< */,
    694  1.3  mrg                              xcb_input_open_device_cookie_t   cookie  /**< */,
    695  1.3  mrg                              xcb_generic_error_t            **e  /**< */)
    696  1.1  mrg {
    697  1.3  mrg     return (xcb_input_open_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    698  1.1  mrg }
    699  1.1  mrg 
    700  1.3  mrg xcb_void_cookie_t
    701  1.3  mrg xcb_input_close_device_checked (xcb_connection_t *c  /**< */,
    702  1.3  mrg                                 uint8_t           device_id  /**< */)
    703  1.1  mrg {
    704  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
    705  1.3  mrg         /* count */ 2,
    706  1.3  mrg         /* ext */ &xcb_input_id,
    707  1.3  mrg         /* opcode */ XCB_INPUT_CLOSE_DEVICE,
    708  1.3  mrg         /* isvoid */ 1
    709  1.3  mrg     };
    710  1.4  mrg 
    711  1.3  mrg     struct iovec xcb_parts[4];
    712  1.3  mrg     xcb_void_cookie_t xcb_ret;
    713  1.3  mrg     xcb_input_close_device_request_t xcb_out;
    714  1.4  mrg 
    715  1.3  mrg     xcb_out.device_id = device_id;
    716  1.3  mrg     memset(xcb_out.pad0, 0, 3);
    717  1.4  mrg 
    718  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    719  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    720  1.3  mrg     xcb_parts[3].iov_base = 0;
    721  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    722  1.4  mrg 
    723  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    724  1.3  mrg     return xcb_ret;
    725  1.1  mrg }
    726  1.1  mrg 
    727  1.3  mrg xcb_void_cookie_t
    728  1.3  mrg xcb_input_close_device (xcb_connection_t *c  /**< */,
    729  1.3  mrg                         uint8_t           device_id  /**< */)
    730  1.1  mrg {
    731  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
    732  1.3  mrg         /* count */ 2,
    733  1.3  mrg         /* ext */ &xcb_input_id,
    734  1.3  mrg         /* opcode */ XCB_INPUT_CLOSE_DEVICE,
    735  1.3  mrg         /* isvoid */ 1
    736  1.3  mrg     };
    737  1.4  mrg 
    738  1.3  mrg     struct iovec xcb_parts[4];
    739  1.3  mrg     xcb_void_cookie_t xcb_ret;
    740  1.3  mrg     xcb_input_close_device_request_t xcb_out;
    741  1.4  mrg 
    742  1.3  mrg     xcb_out.device_id = device_id;
    743  1.3  mrg     memset(xcb_out.pad0, 0, 3);
    744  1.4  mrg 
    745  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    746  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    747  1.3  mrg     xcb_parts[3].iov_base = 0;
    748  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    749  1.4  mrg 
    750  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    751  1.3  mrg     return xcb_ret;
    752  1.3  mrg }
    753  1.3  mrg 
    754  1.3  mrg xcb_input_set_device_mode_cookie_t
    755  1.3  mrg xcb_input_set_device_mode (xcb_connection_t *c  /**< */,
    756  1.3  mrg                            uint8_t           device_id  /**< */,
    757  1.3  mrg                            uint8_t           mode  /**< */)
    758  1.3  mrg {
    759  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
    760  1.3  mrg         /* count */ 2,
    761  1.3  mrg         /* ext */ &xcb_input_id,
    762  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_MODE,
    763  1.3  mrg         /* isvoid */ 0
    764  1.3  mrg     };
    765  1.4  mrg 
    766  1.3  mrg     struct iovec xcb_parts[4];
    767  1.3  mrg     xcb_input_set_device_mode_cookie_t xcb_ret;
    768  1.3  mrg     xcb_input_set_device_mode_request_t xcb_out;
    769  1.4  mrg 
    770  1.3  mrg     xcb_out.device_id = device_id;
    771  1.3  mrg     xcb_out.mode = mode;
    772  1.3  mrg     memset(xcb_out.pad0, 0, 2);
    773  1.4  mrg 
    774  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    775  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    776  1.3  mrg     xcb_parts[3].iov_base = 0;
    777  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    778  1.4  mrg 
    779  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    780  1.3  mrg     return xcb_ret;
    781  1.3  mrg }
    782  1.3  mrg 
    783  1.3  mrg xcb_input_set_device_mode_cookie_t
    784  1.3  mrg xcb_input_set_device_mode_unchecked (xcb_connection_t *c  /**< */,
    785  1.3  mrg                                      uint8_t           device_id  /**< */,
    786  1.3  mrg                                      uint8_t           mode  /**< */)
    787  1.3  mrg {
    788  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
    789  1.3  mrg         /* count */ 2,
    790  1.3  mrg         /* ext */ &xcb_input_id,
    791  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_MODE,
    792  1.3  mrg         /* isvoid */ 0
    793  1.3  mrg     };
    794  1.4  mrg 
    795  1.3  mrg     struct iovec xcb_parts[4];
    796  1.3  mrg     xcb_input_set_device_mode_cookie_t xcb_ret;
    797  1.3  mrg     xcb_input_set_device_mode_request_t xcb_out;
    798  1.4  mrg 
    799  1.3  mrg     xcb_out.device_id = device_id;
    800  1.3  mrg     xcb_out.mode = mode;
    801  1.3  mrg     memset(xcb_out.pad0, 0, 2);
    802  1.4  mrg 
    803  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    804  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    805  1.3  mrg     xcb_parts[3].iov_base = 0;
    806  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    807  1.4  mrg 
    808  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    809  1.3  mrg     return xcb_ret;
    810  1.1  mrg }
    811  1.1  mrg 
    812  1.3  mrg xcb_input_set_device_mode_reply_t *
    813  1.3  mrg xcb_input_set_device_mode_reply (xcb_connection_t                    *c  /**< */,
    814  1.3  mrg                                  xcb_input_set_device_mode_cookie_t   cookie  /**< */,
    815  1.3  mrg                                  xcb_generic_error_t                **e  /**< */)
    816  1.1  mrg {
    817  1.3  mrg     return (xcb_input_set_device_mode_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    818  1.1  mrg }
    819  1.1  mrg 
    820  1.2  mrg int
    821  1.3  mrg xcb_input_select_extension_event_sizeof (const void  *_buffer  /**< */)
    822  1.2  mrg {
    823  1.2  mrg     char *xcb_tmp = (char *)_buffer;
    824  1.3  mrg     const xcb_input_select_extension_event_request_t *_aux = (xcb_input_select_extension_event_request_t *)_buffer;
    825  1.2  mrg     unsigned int xcb_buffer_len = 0;
    826  1.2  mrg     unsigned int xcb_block_len = 0;
    827  1.2  mrg     unsigned int xcb_pad = 0;
    828  1.3  mrg     unsigned int xcb_align_to = 0;
    829  1.2  mrg 
    830  1.2  mrg 
    831  1.3  mrg     xcb_block_len += sizeof(xcb_input_select_extension_event_request_t);
    832  1.2  mrg     xcb_tmp += xcb_block_len;
    833  1.3  mrg     xcb_buffer_len += xcb_block_len;
    834  1.3  mrg     xcb_block_len = 0;
    835  1.2  mrg     /* classes */
    836  1.2  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
    837  1.2  mrg     xcb_tmp += xcb_block_len;
    838  1.2  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
    839  1.2  mrg     /* insert padding */
    840  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    841  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    842  1.2  mrg     if (0 != xcb_pad) {
    843  1.2  mrg         xcb_tmp += xcb_pad;
    844  1.2  mrg         xcb_pad = 0;
    845  1.2  mrg     }
    846  1.2  mrg     xcb_block_len = 0;
    847  1.2  mrg 
    848  1.2  mrg     return xcb_buffer_len;
    849  1.2  mrg }
    850  1.2  mrg 
    851  1.1  mrg xcb_void_cookie_t
    852  1.3  mrg xcb_input_select_extension_event_checked (xcb_connection_t              *c  /**< */,
    853  1.3  mrg                                           xcb_window_t                   window  /**< */,
    854  1.3  mrg                                           uint16_t                       num_classes  /**< */,
    855  1.3  mrg                                           const xcb_input_event_class_t *classes  /**< */)
    856  1.1  mrg {
    857  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    858  1.1  mrg         /* count */ 4,
    859  1.1  mrg         /* ext */ &xcb_input_id,
    860  1.3  mrg         /* opcode */ XCB_INPUT_SELECT_EXTENSION_EVENT,
    861  1.1  mrg         /* isvoid */ 1
    862  1.1  mrg     };
    863  1.4  mrg 
    864  1.1  mrg     struct iovec xcb_parts[6];
    865  1.1  mrg     xcb_void_cookie_t xcb_ret;
    866  1.3  mrg     xcb_input_select_extension_event_request_t xcb_out;
    867  1.4  mrg 
    868  1.1  mrg     xcb_out.window = window;
    869  1.1  mrg     xcb_out.num_classes = num_classes;
    870  1.3  mrg     memset(xcb_out.pad0, 0, 2);
    871  1.4  mrg 
    872  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    873  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    874  1.1  mrg     xcb_parts[3].iov_base = 0;
    875  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    876  1.2  mrg     /* xcb_input_event_class_t classes */
    877  1.1  mrg     xcb_parts[4].iov_base = (char *) classes;
    878  1.1  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
    879  1.1  mrg     xcb_parts[5].iov_base = 0;
    880  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
    881  1.4  mrg 
    882  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    883  1.1  mrg     return xcb_ret;
    884  1.1  mrg }
    885  1.1  mrg 
    886  1.1  mrg xcb_void_cookie_t
    887  1.3  mrg xcb_input_select_extension_event (xcb_connection_t              *c  /**< */,
    888  1.3  mrg                                   xcb_window_t                   window  /**< */,
    889  1.3  mrg                                   uint16_t                       num_classes  /**< */,
    890  1.3  mrg                                   const xcb_input_event_class_t *classes  /**< */)
    891  1.1  mrg {
    892  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    893  1.1  mrg         /* count */ 4,
    894  1.1  mrg         /* ext */ &xcb_input_id,
    895  1.3  mrg         /* opcode */ XCB_INPUT_SELECT_EXTENSION_EVENT,
    896  1.1  mrg         /* isvoid */ 1
    897  1.1  mrg     };
    898  1.4  mrg 
    899  1.1  mrg     struct iovec xcb_parts[6];
    900  1.1  mrg     xcb_void_cookie_t xcb_ret;
    901  1.3  mrg     xcb_input_select_extension_event_request_t xcb_out;
    902  1.4  mrg 
    903  1.1  mrg     xcb_out.window = window;
    904  1.1  mrg     xcb_out.num_classes = num_classes;
    905  1.3  mrg     memset(xcb_out.pad0, 0, 2);
    906  1.4  mrg 
    907  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    908  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    909  1.1  mrg     xcb_parts[3].iov_base = 0;
    910  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    911  1.2  mrg     /* xcb_input_event_class_t classes */
    912  1.1  mrg     xcb_parts[4].iov_base = (char *) classes;
    913  1.1  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
    914  1.1  mrg     xcb_parts[5].iov_base = 0;
    915  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
    916  1.4  mrg 
    917  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    918  1.1  mrg     return xcb_ret;
    919  1.1  mrg }
    920  1.1  mrg 
    921  1.2  mrg int
    922  1.3  mrg xcb_input_get_selected_extension_events_sizeof (const void  *_buffer  /**< */)
    923  1.2  mrg {
    924  1.2  mrg     char *xcb_tmp = (char *)_buffer;
    925  1.3  mrg     const xcb_input_get_selected_extension_events_reply_t *_aux = (xcb_input_get_selected_extension_events_reply_t *)_buffer;
    926  1.2  mrg     unsigned int xcb_buffer_len = 0;
    927  1.2  mrg     unsigned int xcb_block_len = 0;
    928  1.2  mrg     unsigned int xcb_pad = 0;
    929  1.3  mrg     unsigned int xcb_align_to = 0;
    930  1.2  mrg 
    931  1.2  mrg 
    932  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_selected_extension_events_reply_t);
    933  1.3  mrg     xcb_tmp += xcb_block_len;
    934  1.3  mrg     xcb_buffer_len += xcb_block_len;
    935  1.3  mrg     xcb_block_len = 0;
    936  1.3  mrg     /* this_classes */
    937  1.3  mrg     xcb_block_len += _aux->num_this_classes * sizeof(xcb_input_event_class_t);
    938  1.2  mrg     xcb_tmp += xcb_block_len;
    939  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
    940  1.3  mrg     /* insert padding */
    941  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    942  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    943  1.3  mrg     if (0 != xcb_pad) {
    944  1.3  mrg         xcb_tmp += xcb_pad;
    945  1.3  mrg         xcb_pad = 0;
    946  1.3  mrg     }
    947  1.3  mrg     xcb_block_len = 0;
    948  1.3  mrg     /* all_classes */
    949  1.3  mrg     xcb_block_len += _aux->num_all_classes * sizeof(xcb_input_event_class_t);
    950  1.2  mrg     xcb_tmp += xcb_block_len;
    951  1.2  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
    952  1.2  mrg     /* insert padding */
    953  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    954  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
    955  1.2  mrg     if (0 != xcb_pad) {
    956  1.2  mrg         xcb_tmp += xcb_pad;
    957  1.2  mrg         xcb_pad = 0;
    958  1.2  mrg     }
    959  1.2  mrg     xcb_block_len = 0;
    960  1.2  mrg 
    961  1.2  mrg     return xcb_buffer_len;
    962  1.2  mrg }
    963  1.2  mrg 
    964  1.3  mrg xcb_input_get_selected_extension_events_cookie_t
    965  1.3  mrg xcb_input_get_selected_extension_events (xcb_connection_t *c  /**< */,
    966  1.3  mrg                                          xcb_window_t      window  /**< */)
    967  1.1  mrg {
    968  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    969  1.1  mrg         /* count */ 2,
    970  1.1  mrg         /* ext */ &xcb_input_id,
    971  1.3  mrg         /* opcode */ XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS,
    972  1.1  mrg         /* isvoid */ 0
    973  1.1  mrg     };
    974  1.4  mrg 
    975  1.1  mrg     struct iovec xcb_parts[4];
    976  1.3  mrg     xcb_input_get_selected_extension_events_cookie_t xcb_ret;
    977  1.3  mrg     xcb_input_get_selected_extension_events_request_t xcb_out;
    978  1.4  mrg 
    979  1.1  mrg     xcb_out.window = window;
    980  1.4  mrg 
    981  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
    982  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
    983  1.1  mrg     xcb_parts[3].iov_base = 0;
    984  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    985  1.4  mrg 
    986  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    987  1.1  mrg     return xcb_ret;
    988  1.1  mrg }
    989  1.1  mrg 
    990  1.3  mrg xcb_input_get_selected_extension_events_cookie_t
    991  1.3  mrg xcb_input_get_selected_extension_events_unchecked (xcb_connection_t *c  /**< */,
    992  1.3  mrg                                                    xcb_window_t      window  /**< */)
    993  1.1  mrg {
    994  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
    995  1.1  mrg         /* count */ 2,
    996  1.1  mrg         /* ext */ &xcb_input_id,
    997  1.3  mrg         /* opcode */ XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS,
    998  1.1  mrg         /* isvoid */ 0
    999  1.1  mrg     };
   1000  1.4  mrg 
   1001  1.1  mrg     struct iovec xcb_parts[4];
   1002  1.3  mrg     xcb_input_get_selected_extension_events_cookie_t xcb_ret;
   1003  1.3  mrg     xcb_input_get_selected_extension_events_request_t xcb_out;
   1004  1.4  mrg 
   1005  1.1  mrg     xcb_out.window = window;
   1006  1.4  mrg 
   1007  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1008  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1009  1.1  mrg     xcb_parts[3].iov_base = 0;
   1010  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1011  1.4  mrg 
   1012  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1013  1.1  mrg     return xcb_ret;
   1014  1.1  mrg }
   1015  1.1  mrg 
   1016  1.1  mrg xcb_input_event_class_t *
   1017  1.3  mrg xcb_input_get_selected_extension_events_this_classes (const xcb_input_get_selected_extension_events_reply_t *R  /**< */)
   1018  1.1  mrg {
   1019  1.1  mrg     return (xcb_input_event_class_t *) (R + 1);
   1020  1.1  mrg }
   1021  1.1  mrg 
   1022  1.1  mrg int
   1023  1.3  mrg xcb_input_get_selected_extension_events_this_classes_length (const xcb_input_get_selected_extension_events_reply_t *R  /**< */)
   1024  1.1  mrg {
   1025  1.3  mrg     return R->num_this_classes;
   1026  1.1  mrg }
   1027  1.1  mrg 
   1028  1.1  mrg xcb_generic_iterator_t
   1029  1.3  mrg xcb_input_get_selected_extension_events_this_classes_end (const xcb_input_get_selected_extension_events_reply_t *R  /**< */)
   1030  1.1  mrg {
   1031  1.1  mrg     xcb_generic_iterator_t i;
   1032  1.3  mrg     i.data = ((xcb_input_event_class_t *) (R + 1)) + (R->num_this_classes);
   1033  1.1  mrg     i.rem = 0;
   1034  1.1  mrg     i.index = (char *) i.data - (char *) R;
   1035  1.1  mrg     return i;
   1036  1.1  mrg }
   1037  1.1  mrg 
   1038  1.3  mrg xcb_input_event_class_t *
   1039  1.3  mrg xcb_input_get_selected_extension_events_all_classes (const xcb_input_get_selected_extension_events_reply_t *R  /**< */)
   1040  1.1  mrg {
   1041  1.3  mrg     xcb_generic_iterator_t prev = xcb_input_get_selected_extension_events_this_classes_end(R);
   1042  1.3  mrg     return (xcb_input_event_class_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_input_event_class_t, prev.index) + 0);
   1043  1.1  mrg }
   1044  1.1  mrg 
   1045  1.3  mrg int
   1046  1.3  mrg xcb_input_get_selected_extension_events_all_classes_length (const xcb_input_get_selected_extension_events_reply_t *R  /**< */)
   1047  1.1  mrg {
   1048  1.3  mrg     return R->num_all_classes;
   1049  1.1  mrg }
   1050  1.1  mrg 
   1051  1.3  mrg xcb_generic_iterator_t
   1052  1.3  mrg xcb_input_get_selected_extension_events_all_classes_end (const xcb_input_get_selected_extension_events_reply_t *R  /**< */)
   1053  1.1  mrg {
   1054  1.3  mrg     xcb_generic_iterator_t i;
   1055  1.3  mrg     xcb_generic_iterator_t child = xcb_input_get_selected_extension_events_this_classes_end(R);
   1056  1.3  mrg     i.data = ((xcb_input_event_class_t *) child.data) + (R->num_all_classes);
   1057  1.3  mrg     i.rem = 0;
   1058  1.3  mrg     i.index = (char *) i.data - (char *) R;
   1059  1.3  mrg     return i;
   1060  1.1  mrg }
   1061  1.1  mrg 
   1062  1.3  mrg xcb_input_get_selected_extension_events_reply_t *
   1063  1.3  mrg xcb_input_get_selected_extension_events_reply (xcb_connection_t                                  *c  /**< */,
   1064  1.3  mrg                                                xcb_input_get_selected_extension_events_cookie_t   cookie  /**< */,
   1065  1.3  mrg                                                xcb_generic_error_t                              **e  /**< */)
   1066  1.1  mrg {
   1067  1.3  mrg     return (xcb_input_get_selected_extension_events_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1068  1.1  mrg }
   1069  1.1  mrg 
   1070  1.3  mrg int
   1071  1.3  mrg xcb_input_change_device_dont_propagate_list_sizeof (const void  *_buffer  /**< */)
   1072  1.3  mrg {
   1073  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   1074  1.3  mrg     const xcb_input_change_device_dont_propagate_list_request_t *_aux = (xcb_input_change_device_dont_propagate_list_request_t *)_buffer;
   1075  1.3  mrg     unsigned int xcb_buffer_len = 0;
   1076  1.3  mrg     unsigned int xcb_block_len = 0;
   1077  1.3  mrg     unsigned int xcb_pad = 0;
   1078  1.3  mrg     unsigned int xcb_align_to = 0;
   1079  1.1  mrg 
   1080  1.1  mrg 
   1081  1.3  mrg     xcb_block_len += sizeof(xcb_input_change_device_dont_propagate_list_request_t);
   1082  1.3  mrg     xcb_tmp += xcb_block_len;
   1083  1.3  mrg     xcb_buffer_len += xcb_block_len;
   1084  1.3  mrg     xcb_block_len = 0;
   1085  1.3  mrg     /* classes */
   1086  1.3  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
   1087  1.3  mrg     xcb_tmp += xcb_block_len;
   1088  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
   1089  1.3  mrg     /* insert padding */
   1090  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1091  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   1092  1.3  mrg     if (0 != xcb_pad) {
   1093  1.3  mrg         xcb_tmp += xcb_pad;
   1094  1.3  mrg         xcb_pad = 0;
   1095  1.3  mrg     }
   1096  1.3  mrg     xcb_block_len = 0;
   1097  1.1  mrg 
   1098  1.3  mrg     return xcb_buffer_len;
   1099  1.1  mrg }
   1100  1.1  mrg 
   1101  1.3  mrg xcb_void_cookie_t
   1102  1.3  mrg xcb_input_change_device_dont_propagate_list_checked (xcb_connection_t              *c  /**< */,
   1103  1.3  mrg                                                      xcb_window_t                   window  /**< */,
   1104  1.3  mrg                                                      uint16_t                       num_classes  /**< */,
   1105  1.3  mrg                                                      uint8_t                        mode  /**< */,
   1106  1.3  mrg                                                      const xcb_input_event_class_t *classes  /**< */)
   1107  1.1  mrg {
   1108  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1109  1.3  mrg         /* count */ 4,
   1110  1.1  mrg         /* ext */ &xcb_input_id,
   1111  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST,
   1112  1.3  mrg         /* isvoid */ 1
   1113  1.1  mrg     };
   1114  1.4  mrg 
   1115  1.3  mrg     struct iovec xcb_parts[6];
   1116  1.3  mrg     xcb_void_cookie_t xcb_ret;
   1117  1.3  mrg     xcb_input_change_device_dont_propagate_list_request_t xcb_out;
   1118  1.4  mrg 
   1119  1.3  mrg     xcb_out.window = window;
   1120  1.3  mrg     xcb_out.num_classes = num_classes;
   1121  1.3  mrg     xcb_out.mode = mode;
   1122  1.3  mrg     xcb_out.pad0 = 0;
   1123  1.4  mrg 
   1124  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1125  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1126  1.1  mrg     xcb_parts[3].iov_base = 0;
   1127  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1128  1.3  mrg     /* xcb_input_event_class_t classes */
   1129  1.3  mrg     xcb_parts[4].iov_base = (char *) classes;
   1130  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   1131  1.3  mrg     xcb_parts[5].iov_base = 0;
   1132  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1133  1.4  mrg 
   1134  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1135  1.1  mrg     return xcb_ret;
   1136  1.1  mrg }
   1137  1.1  mrg 
   1138  1.3  mrg xcb_void_cookie_t
   1139  1.3  mrg xcb_input_change_device_dont_propagate_list (xcb_connection_t              *c  /**< */,
   1140  1.3  mrg                                              xcb_window_t                   window  /**< */,
   1141  1.3  mrg                                              uint16_t                       num_classes  /**< */,
   1142  1.3  mrg                                              uint8_t                        mode  /**< */,
   1143  1.3  mrg                                              const xcb_input_event_class_t *classes  /**< */)
   1144  1.1  mrg {
   1145  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1146  1.3  mrg         /* count */ 4,
   1147  1.1  mrg         /* ext */ &xcb_input_id,
   1148  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST,
   1149  1.3  mrg         /* isvoid */ 1
   1150  1.1  mrg     };
   1151  1.4  mrg 
   1152  1.3  mrg     struct iovec xcb_parts[6];
   1153  1.3  mrg     xcb_void_cookie_t xcb_ret;
   1154  1.3  mrg     xcb_input_change_device_dont_propagate_list_request_t xcb_out;
   1155  1.4  mrg 
   1156  1.3  mrg     xcb_out.window = window;
   1157  1.3  mrg     xcb_out.num_classes = num_classes;
   1158  1.3  mrg     xcb_out.mode = mode;
   1159  1.3  mrg     xcb_out.pad0 = 0;
   1160  1.4  mrg 
   1161  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1162  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1163  1.1  mrg     xcb_parts[3].iov_base = 0;
   1164  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1165  1.3  mrg     /* xcb_input_event_class_t classes */
   1166  1.3  mrg     xcb_parts[4].iov_base = (char *) classes;
   1167  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   1168  1.3  mrg     xcb_parts[5].iov_base = 0;
   1169  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1170  1.4  mrg 
   1171  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1172  1.1  mrg     return xcb_ret;
   1173  1.1  mrg }
   1174  1.1  mrg 
   1175  1.3  mrg int
   1176  1.3  mrg xcb_input_get_device_dont_propagate_list_sizeof (const void  *_buffer  /**< */)
   1177  1.3  mrg {
   1178  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   1179  1.3  mrg     const xcb_input_get_device_dont_propagate_list_reply_t *_aux = (xcb_input_get_device_dont_propagate_list_reply_t *)_buffer;
   1180  1.3  mrg     unsigned int xcb_buffer_len = 0;
   1181  1.3  mrg     unsigned int xcb_block_len = 0;
   1182  1.3  mrg     unsigned int xcb_pad = 0;
   1183  1.3  mrg     unsigned int xcb_align_to = 0;
   1184  1.3  mrg 
   1185  1.1  mrg 
   1186  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_device_dont_propagate_list_reply_t);
   1187  1.3  mrg     xcb_tmp += xcb_block_len;
   1188  1.3  mrg     xcb_buffer_len += xcb_block_len;
   1189  1.3  mrg     xcb_block_len = 0;
   1190  1.3  mrg     /* classes */
   1191  1.3  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
   1192  1.3  mrg     xcb_tmp += xcb_block_len;
   1193  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
   1194  1.3  mrg     /* insert padding */
   1195  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1196  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   1197  1.3  mrg     if (0 != xcb_pad) {
   1198  1.3  mrg         xcb_tmp += xcb_pad;
   1199  1.3  mrg         xcb_pad = 0;
   1200  1.3  mrg     }
   1201  1.3  mrg     xcb_block_len = 0;
   1202  1.3  mrg 
   1203  1.3  mrg     return xcb_buffer_len;
   1204  1.1  mrg }
   1205  1.1  mrg 
   1206  1.3  mrg xcb_input_get_device_dont_propagate_list_cookie_t
   1207  1.3  mrg xcb_input_get_device_dont_propagate_list (xcb_connection_t *c  /**< */,
   1208  1.3  mrg                                           xcb_window_t      window  /**< */)
   1209  1.1  mrg {
   1210  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1211  1.1  mrg         /* count */ 2,
   1212  1.1  mrg         /* ext */ &xcb_input_id,
   1213  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST,
   1214  1.1  mrg         /* isvoid */ 0
   1215  1.1  mrg     };
   1216  1.4  mrg 
   1217  1.1  mrg     struct iovec xcb_parts[4];
   1218  1.3  mrg     xcb_input_get_device_dont_propagate_list_cookie_t xcb_ret;
   1219  1.3  mrg     xcb_input_get_device_dont_propagate_list_request_t xcb_out;
   1220  1.4  mrg 
   1221  1.3  mrg     xcb_out.window = window;
   1222  1.4  mrg 
   1223  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1224  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1225  1.1  mrg     xcb_parts[3].iov_base = 0;
   1226  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1227  1.4  mrg 
   1228  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1229  1.1  mrg     return xcb_ret;
   1230  1.1  mrg }
   1231  1.1  mrg 
   1232  1.3  mrg xcb_input_get_device_dont_propagate_list_cookie_t
   1233  1.3  mrg xcb_input_get_device_dont_propagate_list_unchecked (xcb_connection_t *c  /**< */,
   1234  1.3  mrg                                                     xcb_window_t      window  /**< */)
   1235  1.1  mrg {
   1236  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1237  1.1  mrg         /* count */ 2,
   1238  1.1  mrg         /* ext */ &xcb_input_id,
   1239  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST,
   1240  1.1  mrg         /* isvoid */ 0
   1241  1.1  mrg     };
   1242  1.4  mrg 
   1243  1.1  mrg     struct iovec xcb_parts[4];
   1244  1.3  mrg     xcb_input_get_device_dont_propagate_list_cookie_t xcb_ret;
   1245  1.3  mrg     xcb_input_get_device_dont_propagate_list_request_t xcb_out;
   1246  1.4  mrg 
   1247  1.3  mrg     xcb_out.window = window;
   1248  1.4  mrg 
   1249  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1250  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1251  1.1  mrg     xcb_parts[3].iov_base = 0;
   1252  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1253  1.4  mrg 
   1254  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1255  1.1  mrg     return xcb_ret;
   1256  1.1  mrg }
   1257  1.1  mrg 
   1258  1.3  mrg xcb_input_event_class_t *
   1259  1.3  mrg xcb_input_get_device_dont_propagate_list_classes (const xcb_input_get_device_dont_propagate_list_reply_t *R  /**< */)
   1260  1.1  mrg {
   1261  1.3  mrg     return (xcb_input_event_class_t *) (R + 1);
   1262  1.1  mrg }
   1263  1.1  mrg 
   1264  1.2  mrg int
   1265  1.3  mrg xcb_input_get_device_dont_propagate_list_classes_length (const xcb_input_get_device_dont_propagate_list_reply_t *R  /**< */)
   1266  1.2  mrg {
   1267  1.3  mrg     return R->num_classes;
   1268  1.3  mrg }
   1269  1.3  mrg 
   1270  1.3  mrg xcb_generic_iterator_t
   1271  1.3  mrg xcb_input_get_device_dont_propagate_list_classes_end (const xcb_input_get_device_dont_propagate_list_reply_t *R  /**< */)
   1272  1.3  mrg {
   1273  1.3  mrg     xcb_generic_iterator_t i;
   1274  1.3  mrg     i.data = ((xcb_input_event_class_t *) (R + 1)) + (R->num_classes);
   1275  1.3  mrg     i.rem = 0;
   1276  1.3  mrg     i.index = (char *) i.data - (char *) R;
   1277  1.3  mrg     return i;
   1278  1.3  mrg }
   1279  1.2  mrg 
   1280  1.3  mrg xcb_input_get_device_dont_propagate_list_reply_t *
   1281  1.3  mrg xcb_input_get_device_dont_propagate_list_reply (xcb_connection_t                                   *c  /**< */,
   1282  1.3  mrg                                                 xcb_input_get_device_dont_propagate_list_cookie_t   cookie  /**< */,
   1283  1.3  mrg                                                 xcb_generic_error_t                               **e  /**< */)
   1284  1.3  mrg {
   1285  1.3  mrg     return (xcb_input_get_device_dont_propagate_list_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1286  1.2  mrg }
   1287  1.2  mrg 
   1288  1.3  mrg void
   1289  1.3  mrg xcb_input_device_time_coord_next (xcb_input_device_time_coord_iterator_t *i  /**< */)
   1290  1.1  mrg {
   1291  1.3  mrg     --i->rem;
   1292  1.3  mrg     ++i->data;
   1293  1.3  mrg     i->index += sizeof(xcb_input_device_time_coord_t);
   1294  1.1  mrg }
   1295  1.1  mrg 
   1296  1.3  mrg xcb_generic_iterator_t
   1297  1.3  mrg xcb_input_device_time_coord_end (xcb_input_device_time_coord_iterator_t i  /**< */)
   1298  1.3  mrg {
   1299  1.3  mrg     xcb_generic_iterator_t ret;
   1300  1.3  mrg     ret.data = i.data + i.rem;
   1301  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1302  1.3  mrg     ret.rem = 0;
   1303  1.3  mrg     return ret;
   1304  1.3  mrg }
   1305  1.3  mrg 
   1306  1.3  mrg xcb_input_get_device_motion_events_cookie_t
   1307  1.3  mrg xcb_input_get_device_motion_events (xcb_connection_t *c  /**< */,
   1308  1.3  mrg                                     xcb_timestamp_t   start  /**< */,
   1309  1.3  mrg                                     xcb_timestamp_t   stop  /**< */,
   1310  1.3  mrg                                     uint8_t           device_id  /**< */)
   1311  1.3  mrg {
   1312  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   1313  1.3  mrg         /* count */ 2,
   1314  1.3  mrg         /* ext */ &xcb_input_id,
   1315  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_MOTION_EVENTS,
   1316  1.3  mrg         /* isvoid */ 0
   1317  1.3  mrg     };
   1318  1.4  mrg 
   1319  1.3  mrg     struct iovec xcb_parts[4];
   1320  1.3  mrg     xcb_input_get_device_motion_events_cookie_t xcb_ret;
   1321  1.3  mrg     xcb_input_get_device_motion_events_request_t xcb_out;
   1322  1.4  mrg 
   1323  1.3  mrg     xcb_out.start = start;
   1324  1.3  mrg     xcb_out.stop = stop;
   1325  1.3  mrg     xcb_out.device_id = device_id;
   1326  1.4  mrg 
   1327  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1328  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1329  1.3  mrg     xcb_parts[3].iov_base = 0;
   1330  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1331  1.4  mrg 
   1332  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1333  1.3  mrg     return xcb_ret;
   1334  1.3  mrg }
   1335  1.3  mrg 
   1336  1.3  mrg xcb_input_get_device_motion_events_cookie_t
   1337  1.3  mrg xcb_input_get_device_motion_events_unchecked (xcb_connection_t *c  /**< */,
   1338  1.3  mrg                                               xcb_timestamp_t   start  /**< */,
   1339  1.3  mrg                                               xcb_timestamp_t   stop  /**< */,
   1340  1.3  mrg                                               uint8_t           device_id  /**< */)
   1341  1.1  mrg {
   1342  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1343  1.3  mrg         /* count */ 2,
   1344  1.1  mrg         /* ext */ &xcb_input_id,
   1345  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_MOTION_EVENTS,
   1346  1.1  mrg         /* isvoid */ 0
   1347  1.1  mrg     };
   1348  1.4  mrg 
   1349  1.3  mrg     struct iovec xcb_parts[4];
   1350  1.3  mrg     xcb_input_get_device_motion_events_cookie_t xcb_ret;
   1351  1.3  mrg     xcb_input_get_device_motion_events_request_t xcb_out;
   1352  1.4  mrg 
   1353  1.3  mrg     xcb_out.start = start;
   1354  1.3  mrg     xcb_out.stop = stop;
   1355  1.1  mrg     xcb_out.device_id = device_id;
   1356  1.4  mrg 
   1357  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1358  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1359  1.1  mrg     xcb_parts[3].iov_base = 0;
   1360  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1361  1.4  mrg 
   1362  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1363  1.1  mrg     return xcb_ret;
   1364  1.1  mrg }
   1365  1.1  mrg 
   1366  1.3  mrg xcb_input_get_device_motion_events_reply_t *
   1367  1.3  mrg xcb_input_get_device_motion_events_reply (xcb_connection_t                             *c  /**< */,
   1368  1.3  mrg                                           xcb_input_get_device_motion_events_cookie_t   cookie  /**< */,
   1369  1.3  mrg                                           xcb_generic_error_t                         **e  /**< */)
   1370  1.1  mrg {
   1371  1.3  mrg     return (xcb_input_get_device_motion_events_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1372  1.1  mrg }
   1373  1.1  mrg 
   1374  1.3  mrg xcb_input_change_keyboard_device_cookie_t
   1375  1.3  mrg xcb_input_change_keyboard_device (xcb_connection_t *c  /**< */,
   1376  1.3  mrg                                   uint8_t           device_id  /**< */)
   1377  1.1  mrg {
   1378  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1379  1.1  mrg         /* count */ 2,
   1380  1.1  mrg         /* ext */ &xcb_input_id,
   1381  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_KEYBOARD_DEVICE,
   1382  1.3  mrg         /* isvoid */ 0
   1383  1.1  mrg     };
   1384  1.4  mrg 
   1385  1.1  mrg     struct iovec xcb_parts[4];
   1386  1.3  mrg     xcb_input_change_keyboard_device_cookie_t xcb_ret;
   1387  1.3  mrg     xcb_input_change_keyboard_device_request_t xcb_out;
   1388  1.4  mrg 
   1389  1.1  mrg     xcb_out.device_id = device_id;
   1390  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   1391  1.4  mrg 
   1392  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1393  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1394  1.1  mrg     xcb_parts[3].iov_base = 0;
   1395  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1396  1.4  mrg 
   1397  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1398  1.1  mrg     return xcb_ret;
   1399  1.1  mrg }
   1400  1.1  mrg 
   1401  1.3  mrg xcb_input_change_keyboard_device_cookie_t
   1402  1.3  mrg xcb_input_change_keyboard_device_unchecked (xcb_connection_t *c  /**< */,
   1403  1.3  mrg                                             uint8_t           device_id  /**< */)
   1404  1.1  mrg {
   1405  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1406  1.1  mrg         /* count */ 2,
   1407  1.1  mrg         /* ext */ &xcb_input_id,
   1408  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_KEYBOARD_DEVICE,
   1409  1.3  mrg         /* isvoid */ 0
   1410  1.1  mrg     };
   1411  1.4  mrg 
   1412  1.1  mrg     struct iovec xcb_parts[4];
   1413  1.3  mrg     xcb_input_change_keyboard_device_cookie_t xcb_ret;
   1414  1.3  mrg     xcb_input_change_keyboard_device_request_t xcb_out;
   1415  1.4  mrg 
   1416  1.1  mrg     xcb_out.device_id = device_id;
   1417  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   1418  1.4  mrg 
   1419  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1420  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1421  1.1  mrg     xcb_parts[3].iov_base = 0;
   1422  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1423  1.4  mrg 
   1424  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1425  1.1  mrg     return xcb_ret;
   1426  1.1  mrg }
   1427  1.1  mrg 
   1428  1.3  mrg xcb_input_change_keyboard_device_reply_t *
   1429  1.3  mrg xcb_input_change_keyboard_device_reply (xcb_connection_t                           *c  /**< */,
   1430  1.3  mrg                                         xcb_input_change_keyboard_device_cookie_t   cookie  /**< */,
   1431  1.3  mrg                                         xcb_generic_error_t                       **e  /**< */)
   1432  1.2  mrg {
   1433  1.3  mrg     return (xcb_input_change_keyboard_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1434  1.2  mrg }
   1435  1.2  mrg 
   1436  1.3  mrg xcb_input_change_pointer_device_cookie_t
   1437  1.3  mrg xcb_input_change_pointer_device (xcb_connection_t *c  /**< */,
   1438  1.3  mrg                                  uint8_t           x_axis  /**< */,
   1439  1.3  mrg                                  uint8_t           y_axis  /**< */,
   1440  1.3  mrg                                  uint8_t           device_id  /**< */)
   1441  1.1  mrg {
   1442  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1443  1.3  mrg         /* count */ 2,
   1444  1.1  mrg         /* ext */ &xcb_input_id,
   1445  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_POINTER_DEVICE,
   1446  1.3  mrg         /* isvoid */ 0
   1447  1.1  mrg     };
   1448  1.4  mrg 
   1449  1.3  mrg     struct iovec xcb_parts[4];
   1450  1.3  mrg     xcb_input_change_pointer_device_cookie_t xcb_ret;
   1451  1.3  mrg     xcb_input_change_pointer_device_request_t xcb_out;
   1452  1.4  mrg 
   1453  1.3  mrg     xcb_out.x_axis = x_axis;
   1454  1.3  mrg     xcb_out.y_axis = y_axis;
   1455  1.3  mrg     xcb_out.device_id = device_id;
   1456  1.3  mrg     xcb_out.pad0 = 0;
   1457  1.4  mrg 
   1458  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1459  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1460  1.1  mrg     xcb_parts[3].iov_base = 0;
   1461  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1462  1.4  mrg 
   1463  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1464  1.1  mrg     return xcb_ret;
   1465  1.1  mrg }
   1466  1.1  mrg 
   1467  1.3  mrg xcb_input_change_pointer_device_cookie_t
   1468  1.3  mrg xcb_input_change_pointer_device_unchecked (xcb_connection_t *c  /**< */,
   1469  1.3  mrg                                            uint8_t           x_axis  /**< */,
   1470  1.3  mrg                                            uint8_t           y_axis  /**< */,
   1471  1.3  mrg                                            uint8_t           device_id  /**< */)
   1472  1.1  mrg {
   1473  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1474  1.1  mrg         /* count */ 2,
   1475  1.1  mrg         /* ext */ &xcb_input_id,
   1476  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_POINTER_DEVICE,
   1477  1.3  mrg         /* isvoid */ 0
   1478  1.1  mrg     };
   1479  1.4  mrg 
   1480  1.1  mrg     struct iovec xcb_parts[4];
   1481  1.3  mrg     xcb_input_change_pointer_device_cookie_t xcb_ret;
   1482  1.3  mrg     xcb_input_change_pointer_device_request_t xcb_out;
   1483  1.4  mrg 
   1484  1.3  mrg     xcb_out.x_axis = x_axis;
   1485  1.3  mrg     xcb_out.y_axis = y_axis;
   1486  1.3  mrg     xcb_out.device_id = device_id;
   1487  1.3  mrg     xcb_out.pad0 = 0;
   1488  1.4  mrg 
   1489  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1490  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1491  1.1  mrg     xcb_parts[3].iov_base = 0;
   1492  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1493  1.4  mrg 
   1494  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1495  1.1  mrg     return xcb_ret;
   1496  1.1  mrg }
   1497  1.1  mrg 
   1498  1.3  mrg xcb_input_change_pointer_device_reply_t *
   1499  1.3  mrg xcb_input_change_pointer_device_reply (xcb_connection_t                          *c  /**< */,
   1500  1.3  mrg                                        xcb_input_change_pointer_device_cookie_t   cookie  /**< */,
   1501  1.3  mrg                                        xcb_generic_error_t                      **e  /**< */)
   1502  1.1  mrg {
   1503  1.3  mrg     return (xcb_input_change_pointer_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1504  1.1  mrg }
   1505  1.1  mrg 
   1506  1.2  mrg int
   1507  1.3  mrg xcb_input_grab_device_sizeof (const void  *_buffer  /**< */)
   1508  1.2  mrg {
   1509  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   1510  1.3  mrg     const xcb_input_grab_device_request_t *_aux = (xcb_input_grab_device_request_t *)_buffer;
   1511  1.2  mrg     unsigned int xcb_buffer_len = 0;
   1512  1.2  mrg     unsigned int xcb_block_len = 0;
   1513  1.2  mrg     unsigned int xcb_pad = 0;
   1514  1.3  mrg     unsigned int xcb_align_to = 0;
   1515  1.2  mrg 
   1516  1.2  mrg 
   1517  1.3  mrg     xcb_block_len += sizeof(xcb_input_grab_device_request_t);
   1518  1.2  mrg     xcb_tmp += xcb_block_len;
   1519  1.3  mrg     xcb_buffer_len += xcb_block_len;
   1520  1.3  mrg     xcb_block_len = 0;
   1521  1.2  mrg     /* classes */
   1522  1.2  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
   1523  1.2  mrg     xcb_tmp += xcb_block_len;
   1524  1.2  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
   1525  1.2  mrg     /* insert padding */
   1526  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1527  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   1528  1.2  mrg     if (0 != xcb_pad) {
   1529  1.2  mrg         xcb_tmp += xcb_pad;
   1530  1.2  mrg         xcb_pad = 0;
   1531  1.2  mrg     }
   1532  1.2  mrg     xcb_block_len = 0;
   1533  1.2  mrg 
   1534  1.2  mrg     return xcb_buffer_len;
   1535  1.2  mrg }
   1536  1.2  mrg 
   1537  1.3  mrg xcb_input_grab_device_cookie_t
   1538  1.3  mrg xcb_input_grab_device (xcb_connection_t              *c  /**< */,
   1539  1.3  mrg                        xcb_window_t                   grab_window  /**< */,
   1540  1.3  mrg                        xcb_timestamp_t                time  /**< */,
   1541  1.3  mrg                        uint16_t                       num_classes  /**< */,
   1542  1.3  mrg                        uint8_t                        this_device_mode  /**< */,
   1543  1.3  mrg                        uint8_t                        other_device_mode  /**< */,
   1544  1.3  mrg                        uint8_t                        owner_events  /**< */,
   1545  1.3  mrg                        uint8_t                        device_id  /**< */,
   1546  1.3  mrg                        const xcb_input_event_class_t *classes  /**< */)
   1547  1.1  mrg {
   1548  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1549  1.1  mrg         /* count */ 4,
   1550  1.1  mrg         /* ext */ &xcb_input_id,
   1551  1.3  mrg         /* opcode */ XCB_INPUT_GRAB_DEVICE,
   1552  1.3  mrg         /* isvoid */ 0
   1553  1.1  mrg     };
   1554  1.4  mrg 
   1555  1.1  mrg     struct iovec xcb_parts[6];
   1556  1.3  mrg     xcb_input_grab_device_cookie_t xcb_ret;
   1557  1.3  mrg     xcb_input_grab_device_request_t xcb_out;
   1558  1.4  mrg 
   1559  1.1  mrg     xcb_out.grab_window = grab_window;
   1560  1.3  mrg     xcb_out.time = time;
   1561  1.1  mrg     xcb_out.num_classes = num_classes;
   1562  1.1  mrg     xcb_out.this_device_mode = this_device_mode;
   1563  1.1  mrg     xcb_out.other_device_mode = other_device_mode;
   1564  1.1  mrg     xcb_out.owner_events = owner_events;
   1565  1.3  mrg     xcb_out.device_id = device_id;
   1566  1.1  mrg     memset(xcb_out.pad0, 0, 2);
   1567  1.4  mrg 
   1568  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1569  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1570  1.1  mrg     xcb_parts[3].iov_base = 0;
   1571  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1572  1.2  mrg     /* xcb_input_event_class_t classes */
   1573  1.1  mrg     xcb_parts[4].iov_base = (char *) classes;
   1574  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(uint32_t);
   1575  1.1  mrg     xcb_parts[5].iov_base = 0;
   1576  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1577  1.4  mrg 
   1578  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1579  1.1  mrg     return xcb_ret;
   1580  1.1  mrg }
   1581  1.1  mrg 
   1582  1.3  mrg xcb_input_grab_device_cookie_t
   1583  1.3  mrg xcb_input_grab_device_unchecked (xcb_connection_t              *c  /**< */,
   1584  1.3  mrg                                  xcb_window_t                   grab_window  /**< */,
   1585  1.3  mrg                                  xcb_timestamp_t                time  /**< */,
   1586  1.3  mrg                                  uint16_t                       num_classes  /**< */,
   1587  1.3  mrg                                  uint8_t                        this_device_mode  /**< */,
   1588  1.3  mrg                                  uint8_t                        other_device_mode  /**< */,
   1589  1.3  mrg                                  uint8_t                        owner_events  /**< */,
   1590  1.3  mrg                                  uint8_t                        device_id  /**< */,
   1591  1.3  mrg                                  const xcb_input_event_class_t *classes  /**< */)
   1592  1.3  mrg {
   1593  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   1594  1.3  mrg         /* count */ 4,
   1595  1.3  mrg         /* ext */ &xcb_input_id,
   1596  1.3  mrg         /* opcode */ XCB_INPUT_GRAB_DEVICE,
   1597  1.3  mrg         /* isvoid */ 0
   1598  1.1  mrg     };
   1599  1.4  mrg 
   1600  1.1  mrg     struct iovec xcb_parts[6];
   1601  1.3  mrg     xcb_input_grab_device_cookie_t xcb_ret;
   1602  1.3  mrg     xcb_input_grab_device_request_t xcb_out;
   1603  1.4  mrg 
   1604  1.1  mrg     xcb_out.grab_window = grab_window;
   1605  1.3  mrg     xcb_out.time = time;
   1606  1.1  mrg     xcb_out.num_classes = num_classes;
   1607  1.1  mrg     xcb_out.this_device_mode = this_device_mode;
   1608  1.1  mrg     xcb_out.other_device_mode = other_device_mode;
   1609  1.1  mrg     xcb_out.owner_events = owner_events;
   1610  1.3  mrg     xcb_out.device_id = device_id;
   1611  1.1  mrg     memset(xcb_out.pad0, 0, 2);
   1612  1.4  mrg 
   1613  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1614  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1615  1.1  mrg     xcb_parts[3].iov_base = 0;
   1616  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1617  1.2  mrg     /* xcb_input_event_class_t classes */
   1618  1.1  mrg     xcb_parts[4].iov_base = (char *) classes;
   1619  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(uint32_t);
   1620  1.1  mrg     xcb_parts[5].iov_base = 0;
   1621  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1622  1.4  mrg 
   1623  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1624  1.1  mrg     return xcb_ret;
   1625  1.1  mrg }
   1626  1.1  mrg 
   1627  1.3  mrg xcb_input_grab_device_reply_t *
   1628  1.3  mrg xcb_input_grab_device_reply (xcb_connection_t                *c  /**< */,
   1629  1.3  mrg                              xcb_input_grab_device_cookie_t   cookie  /**< */,
   1630  1.3  mrg                              xcb_generic_error_t            **e  /**< */)
   1631  1.3  mrg {
   1632  1.3  mrg     return (xcb_input_grab_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   1633  1.3  mrg }
   1634  1.3  mrg 
   1635  1.1  mrg xcb_void_cookie_t
   1636  1.3  mrg xcb_input_ungrab_device_checked (xcb_connection_t *c  /**< */,
   1637  1.3  mrg                                  xcb_timestamp_t   time  /**< */,
   1638  1.3  mrg                                  uint8_t           device_id  /**< */)
   1639  1.1  mrg {
   1640  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1641  1.1  mrg         /* count */ 2,
   1642  1.1  mrg         /* ext */ &xcb_input_id,
   1643  1.3  mrg         /* opcode */ XCB_INPUT_UNGRAB_DEVICE,
   1644  1.1  mrg         /* isvoid */ 1
   1645  1.1  mrg     };
   1646  1.4  mrg 
   1647  1.1  mrg     struct iovec xcb_parts[4];
   1648  1.1  mrg     xcb_void_cookie_t xcb_ret;
   1649  1.3  mrg     xcb_input_ungrab_device_request_t xcb_out;
   1650  1.4  mrg 
   1651  1.3  mrg     xcb_out.time = time;
   1652  1.3  mrg     xcb_out.device_id = device_id;
   1653  1.4  mrg 
   1654  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1655  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1656  1.1  mrg     xcb_parts[3].iov_base = 0;
   1657  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1658  1.4  mrg 
   1659  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1660  1.1  mrg     return xcb_ret;
   1661  1.1  mrg }
   1662  1.1  mrg 
   1663  1.1  mrg xcb_void_cookie_t
   1664  1.3  mrg xcb_input_ungrab_device (xcb_connection_t *c  /**< */,
   1665  1.3  mrg                          xcb_timestamp_t   time  /**< */,
   1666  1.3  mrg                          uint8_t           device_id  /**< */)
   1667  1.1  mrg {
   1668  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1669  1.1  mrg         /* count */ 2,
   1670  1.1  mrg         /* ext */ &xcb_input_id,
   1671  1.3  mrg         /* opcode */ XCB_INPUT_UNGRAB_DEVICE,
   1672  1.1  mrg         /* isvoid */ 1
   1673  1.1  mrg     };
   1674  1.4  mrg 
   1675  1.1  mrg     struct iovec xcb_parts[4];
   1676  1.1  mrg     xcb_void_cookie_t xcb_ret;
   1677  1.3  mrg     xcb_input_ungrab_device_request_t xcb_out;
   1678  1.4  mrg 
   1679  1.3  mrg     xcb_out.time = time;
   1680  1.3  mrg     xcb_out.device_id = device_id;
   1681  1.4  mrg 
   1682  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1683  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1684  1.1  mrg     xcb_parts[3].iov_base = 0;
   1685  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1686  1.4  mrg 
   1687  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1688  1.1  mrg     return xcb_ret;
   1689  1.1  mrg }
   1690  1.1  mrg 
   1691  1.3  mrg int
   1692  1.3  mrg xcb_input_grab_device_key_sizeof (const void  *_buffer  /**< */)
   1693  1.3  mrg {
   1694  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   1695  1.3  mrg     const xcb_input_grab_device_key_request_t *_aux = (xcb_input_grab_device_key_request_t *)_buffer;
   1696  1.3  mrg     unsigned int xcb_buffer_len = 0;
   1697  1.3  mrg     unsigned int xcb_block_len = 0;
   1698  1.3  mrg     unsigned int xcb_pad = 0;
   1699  1.3  mrg     unsigned int xcb_align_to = 0;
   1700  1.3  mrg 
   1701  1.3  mrg 
   1702  1.3  mrg     xcb_block_len += sizeof(xcb_input_grab_device_key_request_t);
   1703  1.3  mrg     xcb_tmp += xcb_block_len;
   1704  1.3  mrg     xcb_buffer_len += xcb_block_len;
   1705  1.3  mrg     xcb_block_len = 0;
   1706  1.3  mrg     /* classes */
   1707  1.3  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
   1708  1.3  mrg     xcb_tmp += xcb_block_len;
   1709  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
   1710  1.3  mrg     /* insert padding */
   1711  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1712  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   1713  1.3  mrg     if (0 != xcb_pad) {
   1714  1.3  mrg         xcb_tmp += xcb_pad;
   1715  1.3  mrg         xcb_pad = 0;
   1716  1.3  mrg     }
   1717  1.3  mrg     xcb_block_len = 0;
   1718  1.3  mrg 
   1719  1.3  mrg     return xcb_buffer_len;
   1720  1.3  mrg }
   1721  1.3  mrg 
   1722  1.1  mrg xcb_void_cookie_t
   1723  1.3  mrg xcb_input_grab_device_key_checked (xcb_connection_t              *c  /**< */,
   1724  1.3  mrg                                    xcb_window_t                   grab_window  /**< */,
   1725  1.3  mrg                                    uint16_t                       num_classes  /**< */,
   1726  1.3  mrg                                    uint16_t                       modifiers  /**< */,
   1727  1.3  mrg                                    uint8_t                        modifier_device  /**< */,
   1728  1.3  mrg                                    uint8_t                        grabbed_device  /**< */,
   1729  1.3  mrg                                    uint8_t                        key  /**< */,
   1730  1.3  mrg                                    uint8_t                        this_device_mode  /**< */,
   1731  1.3  mrg                                    uint8_t                        other_device_mode  /**< */,
   1732  1.3  mrg                                    uint8_t                        owner_events  /**< */,
   1733  1.3  mrg                                    const xcb_input_event_class_t *classes  /**< */)
   1734  1.1  mrg {
   1735  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1736  1.3  mrg         /* count */ 4,
   1737  1.1  mrg         /* ext */ &xcb_input_id,
   1738  1.3  mrg         /* opcode */ XCB_INPUT_GRAB_DEVICE_KEY,
   1739  1.1  mrg         /* isvoid */ 1
   1740  1.1  mrg     };
   1741  1.4  mrg 
   1742  1.3  mrg     struct iovec xcb_parts[6];
   1743  1.1  mrg     xcb_void_cookie_t xcb_ret;
   1744  1.3  mrg     xcb_input_grab_device_key_request_t xcb_out;
   1745  1.4  mrg 
   1746  1.3  mrg     xcb_out.grab_window = grab_window;
   1747  1.3  mrg     xcb_out.num_classes = num_classes;
   1748  1.3  mrg     xcb_out.modifiers = modifiers;
   1749  1.3  mrg     xcb_out.modifier_device = modifier_device;
   1750  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   1751  1.3  mrg     xcb_out.key = key;
   1752  1.3  mrg     xcb_out.this_device_mode = this_device_mode;
   1753  1.3  mrg     xcb_out.other_device_mode = other_device_mode;
   1754  1.3  mrg     xcb_out.owner_events = owner_events;
   1755  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   1756  1.4  mrg 
   1757  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1758  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1759  1.1  mrg     xcb_parts[3].iov_base = 0;
   1760  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1761  1.3  mrg     /* xcb_input_event_class_t classes */
   1762  1.3  mrg     xcb_parts[4].iov_base = (char *) classes;
   1763  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   1764  1.3  mrg     xcb_parts[5].iov_base = 0;
   1765  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1766  1.4  mrg 
   1767  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1768  1.1  mrg     return xcb_ret;
   1769  1.1  mrg }
   1770  1.1  mrg 
   1771  1.1  mrg xcb_void_cookie_t
   1772  1.3  mrg xcb_input_grab_device_key (xcb_connection_t              *c  /**< */,
   1773  1.3  mrg                            xcb_window_t                   grab_window  /**< */,
   1774  1.3  mrg                            uint16_t                       num_classes  /**< */,
   1775  1.3  mrg                            uint16_t                       modifiers  /**< */,
   1776  1.3  mrg                            uint8_t                        modifier_device  /**< */,
   1777  1.3  mrg                            uint8_t                        grabbed_device  /**< */,
   1778  1.3  mrg                            uint8_t                        key  /**< */,
   1779  1.3  mrg                            uint8_t                        this_device_mode  /**< */,
   1780  1.3  mrg                            uint8_t                        other_device_mode  /**< */,
   1781  1.3  mrg                            uint8_t                        owner_events  /**< */,
   1782  1.3  mrg                            const xcb_input_event_class_t *classes  /**< */)
   1783  1.1  mrg {
   1784  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1785  1.3  mrg         /* count */ 4,
   1786  1.1  mrg         /* ext */ &xcb_input_id,
   1787  1.3  mrg         /* opcode */ XCB_INPUT_GRAB_DEVICE_KEY,
   1788  1.1  mrg         /* isvoid */ 1
   1789  1.1  mrg     };
   1790  1.4  mrg 
   1791  1.3  mrg     struct iovec xcb_parts[6];
   1792  1.1  mrg     xcb_void_cookie_t xcb_ret;
   1793  1.3  mrg     xcb_input_grab_device_key_request_t xcb_out;
   1794  1.4  mrg 
   1795  1.3  mrg     xcb_out.grab_window = grab_window;
   1796  1.3  mrg     xcb_out.num_classes = num_classes;
   1797  1.3  mrg     xcb_out.modifiers = modifiers;
   1798  1.3  mrg     xcb_out.modifier_device = modifier_device;
   1799  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   1800  1.3  mrg     xcb_out.key = key;
   1801  1.3  mrg     xcb_out.this_device_mode = this_device_mode;
   1802  1.3  mrg     xcb_out.other_device_mode = other_device_mode;
   1803  1.3  mrg     xcb_out.owner_events = owner_events;
   1804  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   1805  1.4  mrg 
   1806  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1807  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1808  1.1  mrg     xcb_parts[3].iov_base = 0;
   1809  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1810  1.3  mrg     /* xcb_input_event_class_t classes */
   1811  1.3  mrg     xcb_parts[4].iov_base = (char *) classes;
   1812  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   1813  1.3  mrg     xcb_parts[5].iov_base = 0;
   1814  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1815  1.4  mrg 
   1816  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1817  1.1  mrg     return xcb_ret;
   1818  1.1  mrg }
   1819  1.1  mrg 
   1820  1.3  mrg xcb_void_cookie_t
   1821  1.3  mrg xcb_input_ungrab_device_key_checked (xcb_connection_t *c  /**< */,
   1822  1.3  mrg                                      xcb_window_t      grabWindow  /**< */,
   1823  1.3  mrg                                      uint16_t          modifiers  /**< */,
   1824  1.3  mrg                                      uint8_t           modifier_device  /**< */,
   1825  1.3  mrg                                      uint8_t           key  /**< */,
   1826  1.3  mrg                                      uint8_t           grabbed_device  /**< */)
   1827  1.1  mrg {
   1828  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1829  1.1  mrg         /* count */ 2,
   1830  1.1  mrg         /* ext */ &xcb_input_id,
   1831  1.3  mrg         /* opcode */ XCB_INPUT_UNGRAB_DEVICE_KEY,
   1832  1.3  mrg         /* isvoid */ 1
   1833  1.1  mrg     };
   1834  1.4  mrg 
   1835  1.1  mrg     struct iovec xcb_parts[4];
   1836  1.3  mrg     xcb_void_cookie_t xcb_ret;
   1837  1.3  mrg     xcb_input_ungrab_device_key_request_t xcb_out;
   1838  1.4  mrg 
   1839  1.3  mrg     xcb_out.grabWindow = grabWindow;
   1840  1.3  mrg     xcb_out.modifiers = modifiers;
   1841  1.3  mrg     xcb_out.modifier_device = modifier_device;
   1842  1.3  mrg     xcb_out.key = key;
   1843  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   1844  1.4  mrg 
   1845  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1846  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1847  1.1  mrg     xcb_parts[3].iov_base = 0;
   1848  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1849  1.4  mrg 
   1850  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1851  1.1  mrg     return xcb_ret;
   1852  1.1  mrg }
   1853  1.1  mrg 
   1854  1.3  mrg xcb_void_cookie_t
   1855  1.3  mrg xcb_input_ungrab_device_key (xcb_connection_t *c  /**< */,
   1856  1.3  mrg                              xcb_window_t      grabWindow  /**< */,
   1857  1.3  mrg                              uint16_t          modifiers  /**< */,
   1858  1.3  mrg                              uint8_t           modifier_device  /**< */,
   1859  1.3  mrg                              uint8_t           key  /**< */,
   1860  1.3  mrg                              uint8_t           grabbed_device  /**< */)
   1861  1.1  mrg {
   1862  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1863  1.1  mrg         /* count */ 2,
   1864  1.1  mrg         /* ext */ &xcb_input_id,
   1865  1.3  mrg         /* opcode */ XCB_INPUT_UNGRAB_DEVICE_KEY,
   1866  1.3  mrg         /* isvoid */ 1
   1867  1.1  mrg     };
   1868  1.4  mrg 
   1869  1.1  mrg     struct iovec xcb_parts[4];
   1870  1.3  mrg     xcb_void_cookie_t xcb_ret;
   1871  1.3  mrg     xcb_input_ungrab_device_key_request_t xcb_out;
   1872  1.4  mrg 
   1873  1.3  mrg     xcb_out.grabWindow = grabWindow;
   1874  1.3  mrg     xcb_out.modifiers = modifiers;
   1875  1.3  mrg     xcb_out.modifier_device = modifier_device;
   1876  1.3  mrg     xcb_out.key = key;
   1877  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   1878  1.4  mrg 
   1879  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1880  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1881  1.1  mrg     xcb_parts[3].iov_base = 0;
   1882  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1883  1.4  mrg 
   1884  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   1885  1.1  mrg     return xcb_ret;
   1886  1.1  mrg }
   1887  1.1  mrg 
   1888  1.3  mrg int
   1889  1.3  mrg xcb_input_grab_device_button_sizeof (const void  *_buffer  /**< */)
   1890  1.3  mrg {
   1891  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   1892  1.3  mrg     const xcb_input_grab_device_button_request_t *_aux = (xcb_input_grab_device_button_request_t *)_buffer;
   1893  1.3  mrg     unsigned int xcb_buffer_len = 0;
   1894  1.3  mrg     unsigned int xcb_block_len = 0;
   1895  1.3  mrg     unsigned int xcb_pad = 0;
   1896  1.3  mrg     unsigned int xcb_align_to = 0;
   1897  1.3  mrg 
   1898  1.3  mrg 
   1899  1.3  mrg     xcb_block_len += sizeof(xcb_input_grab_device_button_request_t);
   1900  1.3  mrg     xcb_tmp += xcb_block_len;
   1901  1.3  mrg     xcb_buffer_len += xcb_block_len;
   1902  1.3  mrg     xcb_block_len = 0;
   1903  1.3  mrg     /* classes */
   1904  1.3  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
   1905  1.3  mrg     xcb_tmp += xcb_block_len;
   1906  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
   1907  1.3  mrg     /* insert padding */
   1908  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1909  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   1910  1.3  mrg     if (0 != xcb_pad) {
   1911  1.3  mrg         xcb_tmp += xcb_pad;
   1912  1.3  mrg         xcb_pad = 0;
   1913  1.3  mrg     }
   1914  1.3  mrg     xcb_block_len = 0;
   1915  1.1  mrg 
   1916  1.3  mrg     return xcb_buffer_len;
   1917  1.1  mrg }
   1918  1.1  mrg 
   1919  1.1  mrg xcb_void_cookie_t
   1920  1.3  mrg xcb_input_grab_device_button_checked (xcb_connection_t              *c  /**< */,
   1921  1.3  mrg                                       xcb_window_t                   grab_window  /**< */,
   1922  1.3  mrg                                       uint8_t                        grabbed_device  /**< */,
   1923  1.3  mrg                                       uint8_t                        modifier_device  /**< */,
   1924  1.3  mrg                                       uint16_t                       num_classes  /**< */,
   1925  1.3  mrg                                       uint16_t                       modifiers  /**< */,
   1926  1.3  mrg                                       uint8_t                        this_device_mode  /**< */,
   1927  1.3  mrg                                       uint8_t                        other_device_mode  /**< */,
   1928  1.3  mrg                                       uint8_t                        button  /**< */,
   1929  1.3  mrg                                       uint8_t                        owner_events  /**< */,
   1930  1.3  mrg                                       const xcb_input_event_class_t *classes  /**< */)
   1931  1.1  mrg {
   1932  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1933  1.3  mrg         /* count */ 4,
   1934  1.1  mrg         /* ext */ &xcb_input_id,
   1935  1.3  mrg         /* opcode */ XCB_INPUT_GRAB_DEVICE_BUTTON,
   1936  1.1  mrg         /* isvoid */ 1
   1937  1.1  mrg     };
   1938  1.4  mrg 
   1939  1.3  mrg     struct iovec xcb_parts[6];
   1940  1.1  mrg     xcb_void_cookie_t xcb_ret;
   1941  1.3  mrg     xcb_input_grab_device_button_request_t xcb_out;
   1942  1.4  mrg 
   1943  1.3  mrg     xcb_out.grab_window = grab_window;
   1944  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   1945  1.3  mrg     xcb_out.modifier_device = modifier_device;
   1946  1.3  mrg     xcb_out.num_classes = num_classes;
   1947  1.3  mrg     xcb_out.modifiers = modifiers;
   1948  1.3  mrg     xcb_out.this_device_mode = this_device_mode;
   1949  1.3  mrg     xcb_out.other_device_mode = other_device_mode;
   1950  1.3  mrg     xcb_out.button = button;
   1951  1.3  mrg     xcb_out.owner_events = owner_events;
   1952  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   1953  1.4  mrg 
   1954  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   1955  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   1956  1.1  mrg     xcb_parts[3].iov_base = 0;
   1957  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   1958  1.3  mrg     /* xcb_input_event_class_t classes */
   1959  1.3  mrg     xcb_parts[4].iov_base = (char *) classes;
   1960  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   1961  1.3  mrg     xcb_parts[5].iov_base = 0;
   1962  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   1963  1.4  mrg 
   1964  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   1965  1.1  mrg     return xcb_ret;
   1966  1.1  mrg }
   1967  1.1  mrg 
   1968  1.1  mrg xcb_void_cookie_t
   1969  1.3  mrg xcb_input_grab_device_button (xcb_connection_t              *c  /**< */,
   1970  1.3  mrg                               xcb_window_t                   grab_window  /**< */,
   1971  1.3  mrg                               uint8_t                        grabbed_device  /**< */,
   1972  1.3  mrg                               uint8_t                        modifier_device  /**< */,
   1973  1.3  mrg                               uint16_t                       num_classes  /**< */,
   1974  1.3  mrg                               uint16_t                       modifiers  /**< */,
   1975  1.3  mrg                               uint8_t                        this_device_mode  /**< */,
   1976  1.3  mrg                               uint8_t                        other_device_mode  /**< */,
   1977  1.3  mrg                               uint8_t                        button  /**< */,
   1978  1.3  mrg                               uint8_t                        owner_events  /**< */,
   1979  1.3  mrg                               const xcb_input_event_class_t *classes  /**< */)
   1980  1.1  mrg {
   1981  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   1982  1.3  mrg         /* count */ 4,
   1983  1.1  mrg         /* ext */ &xcb_input_id,
   1984  1.3  mrg         /* opcode */ XCB_INPUT_GRAB_DEVICE_BUTTON,
   1985  1.1  mrg         /* isvoid */ 1
   1986  1.1  mrg     };
   1987  1.4  mrg 
   1988  1.3  mrg     struct iovec xcb_parts[6];
   1989  1.1  mrg     xcb_void_cookie_t xcb_ret;
   1990  1.3  mrg     xcb_input_grab_device_button_request_t xcb_out;
   1991  1.4  mrg 
   1992  1.3  mrg     xcb_out.grab_window = grab_window;
   1993  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   1994  1.3  mrg     xcb_out.modifier_device = modifier_device;
   1995  1.3  mrg     xcb_out.num_classes = num_classes;
   1996  1.3  mrg     xcb_out.modifiers = modifiers;
   1997  1.3  mrg     xcb_out.this_device_mode = this_device_mode;
   1998  1.3  mrg     xcb_out.other_device_mode = other_device_mode;
   1999  1.3  mrg     xcb_out.button = button;
   2000  1.3  mrg     xcb_out.owner_events = owner_events;
   2001  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   2002  1.4  mrg 
   2003  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2004  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2005  1.1  mrg     xcb_parts[3].iov_base = 0;
   2006  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2007  1.3  mrg     /* xcb_input_event_class_t classes */
   2008  1.3  mrg     xcb_parts[4].iov_base = (char *) classes;
   2009  1.3  mrg     xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   2010  1.3  mrg     xcb_parts[5].iov_base = 0;
   2011  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   2012  1.4  mrg 
   2013  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2014  1.1  mrg     return xcb_ret;
   2015  1.1  mrg }
   2016  1.1  mrg 
   2017  1.3  mrg xcb_void_cookie_t
   2018  1.3  mrg xcb_input_ungrab_device_button_checked (xcb_connection_t *c  /**< */,
   2019  1.3  mrg                                         xcb_window_t      grab_window  /**< */,
   2020  1.3  mrg                                         uint16_t          modifiers  /**< */,
   2021  1.3  mrg                                         uint8_t           modifier_device  /**< */,
   2022  1.3  mrg                                         uint8_t           button  /**< */,
   2023  1.3  mrg                                         uint8_t           grabbed_device  /**< */)
   2024  1.1  mrg {
   2025  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   2026  1.1  mrg         /* count */ 2,
   2027  1.1  mrg         /* ext */ &xcb_input_id,
   2028  1.3  mrg         /* opcode */ XCB_INPUT_UNGRAB_DEVICE_BUTTON,
   2029  1.3  mrg         /* isvoid */ 1
   2030  1.3  mrg     };
   2031  1.4  mrg 
   2032  1.1  mrg     struct iovec xcb_parts[4];
   2033  1.3  mrg     xcb_void_cookie_t xcb_ret;
   2034  1.3  mrg     xcb_input_ungrab_device_button_request_t xcb_out;
   2035  1.4  mrg 
   2036  1.3  mrg     xcb_out.grab_window = grab_window;
   2037  1.3  mrg     xcb_out.modifiers = modifiers;
   2038  1.3  mrg     xcb_out.modifier_device = modifier_device;
   2039  1.3  mrg     xcb_out.button = button;
   2040  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   2041  1.4  mrg 
   2042  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2043  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2044  1.1  mrg     xcb_parts[3].iov_base = 0;
   2045  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2046  1.4  mrg 
   2047  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   2048  1.1  mrg     return xcb_ret;
   2049  1.1  mrg }
   2050  1.1  mrg 
   2051  1.3  mrg xcb_void_cookie_t
   2052  1.3  mrg xcb_input_ungrab_device_button (xcb_connection_t *c  /**< */,
   2053  1.3  mrg                                 xcb_window_t      grab_window  /**< */,
   2054  1.3  mrg                                 uint16_t          modifiers  /**< */,
   2055  1.3  mrg                                 uint8_t           modifier_device  /**< */,
   2056  1.3  mrg                                 uint8_t           button  /**< */,
   2057  1.3  mrg                                 uint8_t           grabbed_device  /**< */)
   2058  1.1  mrg {
   2059  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   2060  1.1  mrg         /* count */ 2,
   2061  1.1  mrg         /* ext */ &xcb_input_id,
   2062  1.3  mrg         /* opcode */ XCB_INPUT_UNGRAB_DEVICE_BUTTON,
   2063  1.3  mrg         /* isvoid */ 1
   2064  1.1  mrg     };
   2065  1.4  mrg 
   2066  1.1  mrg     struct iovec xcb_parts[4];
   2067  1.3  mrg     xcb_void_cookie_t xcb_ret;
   2068  1.3  mrg     xcb_input_ungrab_device_button_request_t xcb_out;
   2069  1.4  mrg 
   2070  1.3  mrg     xcb_out.grab_window = grab_window;
   2071  1.3  mrg     xcb_out.modifiers = modifiers;
   2072  1.3  mrg     xcb_out.modifier_device = modifier_device;
   2073  1.3  mrg     xcb_out.button = button;
   2074  1.3  mrg     xcb_out.grabbed_device = grabbed_device;
   2075  1.4  mrg 
   2076  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2077  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2078  1.1  mrg     xcb_parts[3].iov_base = 0;
   2079  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2080  1.4  mrg 
   2081  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2082  1.1  mrg     return xcb_ret;
   2083  1.1  mrg }
   2084  1.1  mrg 
   2085  1.3  mrg xcb_void_cookie_t
   2086  1.3  mrg xcb_input_allow_device_events_checked (xcb_connection_t *c  /**< */,
   2087  1.3  mrg                                        xcb_timestamp_t   time  /**< */,
   2088  1.3  mrg                                        uint8_t           mode  /**< */,
   2089  1.3  mrg                                        uint8_t           device_id  /**< */)
   2090  1.1  mrg {
   2091  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2092  1.3  mrg         /* count */ 2,
   2093  1.3  mrg         /* ext */ &xcb_input_id,
   2094  1.3  mrg         /* opcode */ XCB_INPUT_ALLOW_DEVICE_EVENTS,
   2095  1.3  mrg         /* isvoid */ 1
   2096  1.3  mrg     };
   2097  1.4  mrg 
   2098  1.3  mrg     struct iovec xcb_parts[4];
   2099  1.3  mrg     xcb_void_cookie_t xcb_ret;
   2100  1.3  mrg     xcb_input_allow_device_events_request_t xcb_out;
   2101  1.4  mrg 
   2102  1.3  mrg     xcb_out.time = time;
   2103  1.3  mrg     xcb_out.mode = mode;
   2104  1.3  mrg     xcb_out.device_id = device_id;
   2105  1.4  mrg 
   2106  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2107  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2108  1.3  mrg     xcb_parts[3].iov_base = 0;
   2109  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2110  1.4  mrg 
   2111  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   2112  1.3  mrg     return xcb_ret;
   2113  1.1  mrg }
   2114  1.1  mrg 
   2115  1.3  mrg xcb_void_cookie_t
   2116  1.3  mrg xcb_input_allow_device_events (xcb_connection_t *c  /**< */,
   2117  1.3  mrg                                xcb_timestamp_t   time  /**< */,
   2118  1.3  mrg                                uint8_t           mode  /**< */,
   2119  1.3  mrg                                uint8_t           device_id  /**< */)
   2120  1.1  mrg {
   2121  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2122  1.3  mrg         /* count */ 2,
   2123  1.3  mrg         /* ext */ &xcb_input_id,
   2124  1.3  mrg         /* opcode */ XCB_INPUT_ALLOW_DEVICE_EVENTS,
   2125  1.3  mrg         /* isvoid */ 1
   2126  1.3  mrg     };
   2127  1.4  mrg 
   2128  1.3  mrg     struct iovec xcb_parts[4];
   2129  1.3  mrg     xcb_void_cookie_t xcb_ret;
   2130  1.3  mrg     xcb_input_allow_device_events_request_t xcb_out;
   2131  1.4  mrg 
   2132  1.3  mrg     xcb_out.time = time;
   2133  1.3  mrg     xcb_out.mode = mode;
   2134  1.3  mrg     xcb_out.device_id = device_id;
   2135  1.4  mrg 
   2136  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2137  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2138  1.3  mrg     xcb_parts[3].iov_base = 0;
   2139  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2140  1.4  mrg 
   2141  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2142  1.3  mrg     return xcb_ret;
   2143  1.1  mrg }
   2144  1.1  mrg 
   2145  1.3  mrg xcb_input_get_device_focus_cookie_t
   2146  1.3  mrg xcb_input_get_device_focus (xcb_connection_t *c  /**< */,
   2147  1.3  mrg                             uint8_t           device_id  /**< */)
   2148  1.1  mrg {
   2149  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2150  1.3  mrg         /* count */ 2,
   2151  1.3  mrg         /* ext */ &xcb_input_id,
   2152  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_FOCUS,
   2153  1.3  mrg         /* isvoid */ 0
   2154  1.3  mrg     };
   2155  1.4  mrg 
   2156  1.3  mrg     struct iovec xcb_parts[4];
   2157  1.3  mrg     xcb_input_get_device_focus_cookie_t xcb_ret;
   2158  1.3  mrg     xcb_input_get_device_focus_request_t xcb_out;
   2159  1.4  mrg 
   2160  1.3  mrg     xcb_out.device_id = device_id;
   2161  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   2162  1.4  mrg 
   2163  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2164  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2165  1.3  mrg     xcb_parts[3].iov_base = 0;
   2166  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2167  1.4  mrg 
   2168  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   2169  1.3  mrg     return xcb_ret;
   2170  1.1  mrg }
   2171  1.1  mrg 
   2172  1.3  mrg xcb_input_get_device_focus_cookie_t
   2173  1.3  mrg xcb_input_get_device_focus_unchecked (xcb_connection_t *c  /**< */,
   2174  1.3  mrg                                       uint8_t           device_id  /**< */)
   2175  1.1  mrg {
   2176  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2177  1.3  mrg         /* count */ 2,
   2178  1.3  mrg         /* ext */ &xcb_input_id,
   2179  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_FOCUS,
   2180  1.3  mrg         /* isvoid */ 0
   2181  1.3  mrg     };
   2182  1.4  mrg 
   2183  1.3  mrg     struct iovec xcb_parts[4];
   2184  1.3  mrg     xcb_input_get_device_focus_cookie_t xcb_ret;
   2185  1.3  mrg     xcb_input_get_device_focus_request_t xcb_out;
   2186  1.4  mrg 
   2187  1.3  mrg     xcb_out.device_id = device_id;
   2188  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   2189  1.4  mrg 
   2190  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2191  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2192  1.3  mrg     xcb_parts[3].iov_base = 0;
   2193  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2194  1.4  mrg 
   2195  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2196  1.3  mrg     return xcb_ret;
   2197  1.1  mrg }
   2198  1.1  mrg 
   2199  1.3  mrg xcb_input_get_device_focus_reply_t *
   2200  1.3  mrg xcb_input_get_device_focus_reply (xcb_connection_t                     *c  /**< */,
   2201  1.3  mrg                                   xcb_input_get_device_focus_cookie_t   cookie  /**< */,
   2202  1.3  mrg                                   xcb_generic_error_t                 **e  /**< */)
   2203  1.1  mrg {
   2204  1.3  mrg     return (xcb_input_get_device_focus_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   2205  1.1  mrg }
   2206  1.1  mrg 
   2207  1.3  mrg xcb_void_cookie_t
   2208  1.3  mrg xcb_input_set_device_focus_checked (xcb_connection_t *c  /**< */,
   2209  1.3  mrg                                     xcb_window_t      focus  /**< */,
   2210  1.3  mrg                                     xcb_timestamp_t   time  /**< */,
   2211  1.3  mrg                                     uint8_t           revert_to  /**< */,
   2212  1.3  mrg                                     uint8_t           device_id  /**< */)
   2213  1.3  mrg {
   2214  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2215  1.3  mrg         /* count */ 2,
   2216  1.3  mrg         /* ext */ &xcb_input_id,
   2217  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_FOCUS,
   2218  1.3  mrg         /* isvoid */ 1
   2219  1.3  mrg     };
   2220  1.4  mrg 
   2221  1.3  mrg     struct iovec xcb_parts[4];
   2222  1.3  mrg     xcb_void_cookie_t xcb_ret;
   2223  1.3  mrg     xcb_input_set_device_focus_request_t xcb_out;
   2224  1.4  mrg 
   2225  1.3  mrg     xcb_out.focus = focus;
   2226  1.3  mrg     xcb_out.time = time;
   2227  1.3  mrg     xcb_out.revert_to = revert_to;
   2228  1.3  mrg     xcb_out.device_id = device_id;
   2229  1.4  mrg 
   2230  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2231  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2232  1.3  mrg     xcb_parts[3].iov_base = 0;
   2233  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2234  1.4  mrg 
   2235  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   2236  1.3  mrg     return xcb_ret;
   2237  1.3  mrg }
   2238  1.3  mrg 
   2239  1.3  mrg xcb_void_cookie_t
   2240  1.3  mrg xcb_input_set_device_focus (xcb_connection_t *c  /**< */,
   2241  1.3  mrg                             xcb_window_t      focus  /**< */,
   2242  1.3  mrg                             xcb_timestamp_t   time  /**< */,
   2243  1.3  mrg                             uint8_t           revert_to  /**< */,
   2244  1.3  mrg                             uint8_t           device_id  /**< */)
   2245  1.3  mrg {
   2246  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2247  1.3  mrg         /* count */ 2,
   2248  1.3  mrg         /* ext */ &xcb_input_id,
   2249  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_FOCUS,
   2250  1.3  mrg         /* isvoid */ 1
   2251  1.3  mrg     };
   2252  1.4  mrg 
   2253  1.3  mrg     struct iovec xcb_parts[4];
   2254  1.3  mrg     xcb_void_cookie_t xcb_ret;
   2255  1.3  mrg     xcb_input_set_device_focus_request_t xcb_out;
   2256  1.4  mrg 
   2257  1.3  mrg     xcb_out.focus = focus;
   2258  1.3  mrg     xcb_out.time = time;
   2259  1.3  mrg     xcb_out.revert_to = revert_to;
   2260  1.3  mrg     xcb_out.device_id = device_id;
   2261  1.4  mrg 
   2262  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2263  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2264  1.3  mrg     xcb_parts[3].iov_base = 0;
   2265  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2266  1.4  mrg 
   2267  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2268  1.3  mrg     return xcb_ret;
   2269  1.3  mrg }
   2270  1.3  mrg 
   2271  1.3  mrg void
   2272  1.3  mrg xcb_input_kbd_feedback_state_next (xcb_input_kbd_feedback_state_iterator_t *i  /**< */)
   2273  1.3  mrg {
   2274  1.3  mrg     --i->rem;
   2275  1.3  mrg     ++i->data;
   2276  1.3  mrg     i->index += sizeof(xcb_input_kbd_feedback_state_t);
   2277  1.3  mrg }
   2278  1.3  mrg 
   2279  1.3  mrg xcb_generic_iterator_t
   2280  1.3  mrg xcb_input_kbd_feedback_state_end (xcb_input_kbd_feedback_state_iterator_t i  /**< */)
   2281  1.3  mrg {
   2282  1.3  mrg     xcb_generic_iterator_t ret;
   2283  1.3  mrg     ret.data = i.data + i.rem;
   2284  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2285  1.3  mrg     ret.rem = 0;
   2286  1.3  mrg     return ret;
   2287  1.3  mrg }
   2288  1.3  mrg 
   2289  1.3  mrg void
   2290  1.3  mrg xcb_input_ptr_feedback_state_next (xcb_input_ptr_feedback_state_iterator_t *i  /**< */)
   2291  1.1  mrg {
   2292  1.1  mrg     --i->rem;
   2293  1.1  mrg     ++i->data;
   2294  1.1  mrg     i->index += sizeof(xcb_input_ptr_feedback_state_t);
   2295  1.1  mrg }
   2296  1.1  mrg 
   2297  1.1  mrg xcb_generic_iterator_t
   2298  1.1  mrg xcb_input_ptr_feedback_state_end (xcb_input_ptr_feedback_state_iterator_t i  /**< */)
   2299  1.1  mrg {
   2300  1.1  mrg     xcb_generic_iterator_t ret;
   2301  1.1  mrg     ret.data = i.data + i.rem;
   2302  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2303  1.1  mrg     ret.rem = 0;
   2304  1.1  mrg     return ret;
   2305  1.1  mrg }
   2306  1.1  mrg 
   2307  1.1  mrg void
   2308  1.1  mrg xcb_input_integer_feedback_state_next (xcb_input_integer_feedback_state_iterator_t *i  /**< */)
   2309  1.1  mrg {
   2310  1.1  mrg     --i->rem;
   2311  1.1  mrg     ++i->data;
   2312  1.1  mrg     i->index += sizeof(xcb_input_integer_feedback_state_t);
   2313  1.1  mrg }
   2314  1.1  mrg 
   2315  1.1  mrg xcb_generic_iterator_t
   2316  1.1  mrg xcb_input_integer_feedback_state_end (xcb_input_integer_feedback_state_iterator_t i  /**< */)
   2317  1.1  mrg {
   2318  1.1  mrg     xcb_generic_iterator_t ret;
   2319  1.1  mrg     ret.data = i.data + i.rem;
   2320  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2321  1.1  mrg     ret.rem = 0;
   2322  1.1  mrg     return ret;
   2323  1.1  mrg }
   2324  1.1  mrg 
   2325  1.2  mrg int
   2326  1.2  mrg xcb_input_string_feedback_state_sizeof (const void  *_buffer  /**< */)
   2327  1.2  mrg {
   2328  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   2329  1.2  mrg     const xcb_input_string_feedback_state_t *_aux = (xcb_input_string_feedback_state_t *)_buffer;
   2330  1.2  mrg     unsigned int xcb_buffer_len = 0;
   2331  1.2  mrg     unsigned int xcb_block_len = 0;
   2332  1.2  mrg     unsigned int xcb_pad = 0;
   2333  1.3  mrg     unsigned int xcb_align_to = 0;
   2334  1.2  mrg 
   2335  1.2  mrg 
   2336  1.2  mrg     xcb_block_len += sizeof(xcb_input_string_feedback_state_t);
   2337  1.2  mrg     xcb_tmp += xcb_block_len;
   2338  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2339  1.3  mrg     xcb_block_len = 0;
   2340  1.2  mrg     /* keysyms */
   2341  1.2  mrg     xcb_block_len += _aux->num_keysyms * sizeof(xcb_keysym_t);
   2342  1.2  mrg     xcb_tmp += xcb_block_len;
   2343  1.2  mrg     xcb_align_to = ALIGNOF(xcb_keysym_t);
   2344  1.2  mrg     /* insert padding */
   2345  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2346  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2347  1.2  mrg     if (0 != xcb_pad) {
   2348  1.2  mrg         xcb_tmp += xcb_pad;
   2349  1.2  mrg         xcb_pad = 0;
   2350  1.2  mrg     }
   2351  1.2  mrg     xcb_block_len = 0;
   2352  1.2  mrg 
   2353  1.2  mrg     return xcb_buffer_len;
   2354  1.2  mrg }
   2355  1.2  mrg 
   2356  1.1  mrg xcb_keysym_t *
   2357  1.1  mrg xcb_input_string_feedback_state_keysyms (const xcb_input_string_feedback_state_t *R  /**< */)
   2358  1.1  mrg {
   2359  1.1  mrg     return (xcb_keysym_t *) (R + 1);
   2360  1.1  mrg }
   2361  1.1  mrg 
   2362  1.1  mrg int
   2363  1.1  mrg xcb_input_string_feedback_state_keysyms_length (const xcb_input_string_feedback_state_t *R  /**< */)
   2364  1.1  mrg {
   2365  1.1  mrg     return R->num_keysyms;
   2366  1.1  mrg }
   2367  1.1  mrg 
   2368  1.1  mrg xcb_generic_iterator_t
   2369  1.1  mrg xcb_input_string_feedback_state_keysyms_end (const xcb_input_string_feedback_state_t *R  /**< */)
   2370  1.1  mrg {
   2371  1.1  mrg     xcb_generic_iterator_t i;
   2372  1.1  mrg     i.data = ((xcb_keysym_t *) (R + 1)) + (R->num_keysyms);
   2373  1.1  mrg     i.rem = 0;
   2374  1.1  mrg     i.index = (char *) i.data - (char *) R;
   2375  1.1  mrg     return i;
   2376  1.1  mrg }
   2377  1.1  mrg 
   2378  1.1  mrg void
   2379  1.1  mrg xcb_input_string_feedback_state_next (xcb_input_string_feedback_state_iterator_t *i  /**< */)
   2380  1.1  mrg {
   2381  1.1  mrg     xcb_input_string_feedback_state_t *R = i->data;
   2382  1.2  mrg     xcb_generic_iterator_t child;
   2383  1.2  mrg     child.data = (xcb_input_string_feedback_state_t *)(((char *)R) + xcb_input_string_feedback_state_sizeof(R));
   2384  1.2  mrg     i->index = (char *) child.data - (char *) i->data;
   2385  1.1  mrg     --i->rem;
   2386  1.1  mrg     i->data = (xcb_input_string_feedback_state_t *) child.data;
   2387  1.1  mrg }
   2388  1.1  mrg 
   2389  1.1  mrg xcb_generic_iterator_t
   2390  1.1  mrg xcb_input_string_feedback_state_end (xcb_input_string_feedback_state_iterator_t i  /**< */)
   2391  1.1  mrg {
   2392  1.1  mrg     xcb_generic_iterator_t ret;
   2393  1.1  mrg     while(i.rem > 0)
   2394  1.1  mrg         xcb_input_string_feedback_state_next(&i);
   2395  1.1  mrg     ret.data = i.data;
   2396  1.1  mrg     ret.rem = i.rem;
   2397  1.1  mrg     ret.index = i.index;
   2398  1.1  mrg     return ret;
   2399  1.1  mrg }
   2400  1.1  mrg 
   2401  1.1  mrg void
   2402  1.1  mrg xcb_input_bell_feedback_state_next (xcb_input_bell_feedback_state_iterator_t *i  /**< */)
   2403  1.1  mrg {
   2404  1.1  mrg     --i->rem;
   2405  1.1  mrg     ++i->data;
   2406  1.1  mrg     i->index += sizeof(xcb_input_bell_feedback_state_t);
   2407  1.1  mrg }
   2408  1.1  mrg 
   2409  1.1  mrg xcb_generic_iterator_t
   2410  1.1  mrg xcb_input_bell_feedback_state_end (xcb_input_bell_feedback_state_iterator_t i  /**< */)
   2411  1.1  mrg {
   2412  1.1  mrg     xcb_generic_iterator_t ret;
   2413  1.1  mrg     ret.data = i.data + i.rem;
   2414  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2415  1.1  mrg     ret.rem = 0;
   2416  1.1  mrg     return ret;
   2417  1.1  mrg }
   2418  1.1  mrg 
   2419  1.1  mrg void
   2420  1.1  mrg xcb_input_led_feedback_state_next (xcb_input_led_feedback_state_iterator_t *i  /**< */)
   2421  1.1  mrg {
   2422  1.1  mrg     --i->rem;
   2423  1.1  mrg     ++i->data;
   2424  1.1  mrg     i->index += sizeof(xcb_input_led_feedback_state_t);
   2425  1.1  mrg }
   2426  1.1  mrg 
   2427  1.1  mrg xcb_generic_iterator_t
   2428  1.1  mrg xcb_input_led_feedback_state_end (xcb_input_led_feedback_state_iterator_t i  /**< */)
   2429  1.1  mrg {
   2430  1.1  mrg     xcb_generic_iterator_t ret;
   2431  1.1  mrg     ret.data = i.data + i.rem;
   2432  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2433  1.1  mrg     ret.rem = 0;
   2434  1.1  mrg     return ret;
   2435  1.1  mrg }
   2436  1.1  mrg 
   2437  1.3  mrg int
   2438  1.3  mrg xcb_input_feedback_state_sizeof (const void  *_buffer  /**< */)
   2439  1.1  mrg {
   2440  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   2441  1.3  mrg     const xcb_input_feedback_state_t *_aux = (xcb_input_feedback_state_t *)_buffer;
   2442  1.3  mrg     unsigned int xcb_buffer_len = 0;
   2443  1.3  mrg     unsigned int xcb_block_len = 0;
   2444  1.3  mrg     unsigned int xcb_pad = 0;
   2445  1.3  mrg     unsigned int xcb_align_to = 0;
   2446  1.1  mrg 
   2447  1.1  mrg 
   2448  1.3  mrg     xcb_block_len += sizeof(xcb_input_feedback_state_t);
   2449  1.3  mrg     xcb_tmp += xcb_block_len;
   2450  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2451  1.3  mrg     xcb_block_len = 0;
   2452  1.3  mrg     /* uninterpreted_data */
   2453  1.3  mrg     xcb_block_len += (_aux->len - 4) * sizeof(uint8_t);
   2454  1.3  mrg     xcb_tmp += xcb_block_len;
   2455  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   2456  1.3  mrg     /* insert padding */
   2457  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2458  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2459  1.3  mrg     if (0 != xcb_pad) {
   2460  1.3  mrg         xcb_tmp += xcb_pad;
   2461  1.3  mrg         xcb_pad = 0;
   2462  1.3  mrg     }
   2463  1.3  mrg     xcb_block_len = 0;
   2464  1.1  mrg 
   2465  1.3  mrg     return xcb_buffer_len;
   2466  1.1  mrg }
   2467  1.1  mrg 
   2468  1.3  mrg uint8_t *
   2469  1.3  mrg xcb_input_feedback_state_uninterpreted_data (const xcb_input_feedback_state_t *R  /**< */)
   2470  1.1  mrg {
   2471  1.3  mrg     return (uint8_t *) (R + 1);
   2472  1.1  mrg }
   2473  1.1  mrg 
   2474  1.3  mrg int
   2475  1.3  mrg xcb_input_feedback_state_uninterpreted_data_length (const xcb_input_feedback_state_t *R  /**< */)
   2476  1.1  mrg {
   2477  1.3  mrg     return (R->len - 4);
   2478  1.1  mrg }
   2479  1.1  mrg 
   2480  1.1  mrg xcb_generic_iterator_t
   2481  1.3  mrg xcb_input_feedback_state_uninterpreted_data_end (const xcb_input_feedback_state_t *R  /**< */)
   2482  1.1  mrg {
   2483  1.3  mrg     xcb_generic_iterator_t i;
   2484  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + ((R->len - 4));
   2485  1.3  mrg     i.rem = 0;
   2486  1.3  mrg     i.index = (char *) i.data - (char *) R;
   2487  1.3  mrg     return i;
   2488  1.1  mrg }
   2489  1.1  mrg 
   2490  1.1  mrg void
   2491  1.3  mrg xcb_input_feedback_state_next (xcb_input_feedback_state_iterator_t *i  /**< */)
   2492  1.1  mrg {
   2493  1.3  mrg     xcb_input_feedback_state_t *R = i->data;
   2494  1.3  mrg     xcb_generic_iterator_t child;
   2495  1.3  mrg     child.data = (xcb_input_feedback_state_t *)(((char *)R) + xcb_input_feedback_state_sizeof(R));
   2496  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   2497  1.1  mrg     --i->rem;
   2498  1.3  mrg     i->data = (xcb_input_feedback_state_t *) child.data;
   2499  1.1  mrg }
   2500  1.1  mrg 
   2501  1.1  mrg xcb_generic_iterator_t
   2502  1.3  mrg xcb_input_feedback_state_end (xcb_input_feedback_state_iterator_t i  /**< */)
   2503  1.1  mrg {
   2504  1.1  mrg     xcb_generic_iterator_t ret;
   2505  1.3  mrg     while(i.rem > 0)
   2506  1.3  mrg         xcb_input_feedback_state_next(&i);
   2507  1.3  mrg     ret.data = i.data;
   2508  1.3  mrg     ret.rem = i.rem;
   2509  1.3  mrg     ret.index = i.index;
   2510  1.1  mrg     return ret;
   2511  1.1  mrg }
   2512  1.1  mrg 
   2513  1.2  mrg int
   2514  1.3  mrg xcb_input_get_feedback_control_sizeof (const void  *_buffer  /**< */)
   2515  1.2  mrg {
   2516  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   2517  1.3  mrg     const xcb_input_get_feedback_control_reply_t *_aux = (xcb_input_get_feedback_control_reply_t *)_buffer;
   2518  1.2  mrg     unsigned int xcb_buffer_len = 0;
   2519  1.2  mrg     unsigned int xcb_block_len = 0;
   2520  1.2  mrg     unsigned int xcb_pad = 0;
   2521  1.3  mrg     unsigned int xcb_align_to = 0;
   2522  1.2  mrg 
   2523  1.3  mrg     unsigned int i;
   2524  1.3  mrg     unsigned int xcb_tmp_len;
   2525  1.2  mrg 
   2526  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_feedback_control_reply_t);
   2527  1.2  mrg     xcb_tmp += xcb_block_len;
   2528  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2529  1.3  mrg     xcb_block_len = 0;
   2530  1.3  mrg     /* feedbacks */
   2531  1.3  mrg     for(i=0; i<_aux->num_feedbacks; i++) {
   2532  1.3  mrg         xcb_tmp_len = xcb_input_feedback_state_sizeof(xcb_tmp);
   2533  1.3  mrg         xcb_block_len += xcb_tmp_len;
   2534  1.3  mrg         xcb_tmp += xcb_tmp_len;
   2535  1.3  mrg     }
   2536  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_feedback_state_t);
   2537  1.2  mrg     /* insert padding */
   2538  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2539  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2540  1.2  mrg     if (0 != xcb_pad) {
   2541  1.2  mrg         xcb_tmp += xcb_pad;
   2542  1.2  mrg         xcb_pad = 0;
   2543  1.2  mrg     }
   2544  1.2  mrg     xcb_block_len = 0;
   2545  1.2  mrg 
   2546  1.2  mrg     return xcb_buffer_len;
   2547  1.2  mrg }
   2548  1.2  mrg 
   2549  1.3  mrg xcb_input_get_feedback_control_cookie_t
   2550  1.3  mrg xcb_input_get_feedback_control (xcb_connection_t *c  /**< */,
   2551  1.3  mrg                                 uint8_t           device_id  /**< */)
   2552  1.3  mrg {
   2553  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2554  1.3  mrg         /* count */ 2,
   2555  1.3  mrg         /* ext */ &xcb_input_id,
   2556  1.3  mrg         /* opcode */ XCB_INPUT_GET_FEEDBACK_CONTROL,
   2557  1.3  mrg         /* isvoid */ 0
   2558  1.3  mrg     };
   2559  1.4  mrg 
   2560  1.3  mrg     struct iovec xcb_parts[4];
   2561  1.3  mrg     xcb_input_get_feedback_control_cookie_t xcb_ret;
   2562  1.3  mrg     xcb_input_get_feedback_control_request_t xcb_out;
   2563  1.4  mrg 
   2564  1.3  mrg     xcb_out.device_id = device_id;
   2565  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   2566  1.4  mrg 
   2567  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2568  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2569  1.3  mrg     xcb_parts[3].iov_base = 0;
   2570  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2571  1.4  mrg 
   2572  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   2573  1.3  mrg     return xcb_ret;
   2574  1.3  mrg }
   2575  1.3  mrg 
   2576  1.3  mrg xcb_input_get_feedback_control_cookie_t
   2577  1.3  mrg xcb_input_get_feedback_control_unchecked (xcb_connection_t *c  /**< */,
   2578  1.3  mrg                                           uint8_t           device_id  /**< */)
   2579  1.1  mrg {
   2580  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   2581  1.3  mrg         /* count */ 2,
   2582  1.3  mrg         /* ext */ &xcb_input_id,
   2583  1.3  mrg         /* opcode */ XCB_INPUT_GET_FEEDBACK_CONTROL,
   2584  1.3  mrg         /* isvoid */ 0
   2585  1.3  mrg     };
   2586  1.4  mrg 
   2587  1.3  mrg     struct iovec xcb_parts[4];
   2588  1.3  mrg     xcb_input_get_feedback_control_cookie_t xcb_ret;
   2589  1.3  mrg     xcb_input_get_feedback_control_request_t xcb_out;
   2590  1.4  mrg 
   2591  1.3  mrg     xcb_out.device_id = device_id;
   2592  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   2593  1.4  mrg 
   2594  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2595  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2596  1.3  mrg     xcb_parts[3].iov_base = 0;
   2597  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2598  1.4  mrg 
   2599  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2600  1.3  mrg     return xcb_ret;
   2601  1.1  mrg }
   2602  1.1  mrg 
   2603  1.1  mrg int
   2604  1.3  mrg xcb_input_get_feedback_control_feedbacks_length (const xcb_input_get_feedback_control_reply_t *R  /**< */)
   2605  1.1  mrg {
   2606  1.3  mrg     return R->num_feedbacks;
   2607  1.1  mrg }
   2608  1.1  mrg 
   2609  1.3  mrg xcb_input_feedback_state_iterator_t
   2610  1.3  mrg xcb_input_get_feedback_control_feedbacks_iterator (const xcb_input_get_feedback_control_reply_t *R  /**< */)
   2611  1.1  mrg {
   2612  1.3  mrg     xcb_input_feedback_state_iterator_t i;
   2613  1.3  mrg     i.data = (xcb_input_feedback_state_t *) (R + 1);
   2614  1.3  mrg     i.rem = R->num_feedbacks;
   2615  1.1  mrg     i.index = (char *) i.data - (char *) R;
   2616  1.1  mrg     return i;
   2617  1.1  mrg }
   2618  1.1  mrg 
   2619  1.3  mrg xcb_input_get_feedback_control_reply_t *
   2620  1.3  mrg xcb_input_get_feedback_control_reply (xcb_connection_t                         *c  /**< */,
   2621  1.3  mrg                                       xcb_input_get_feedback_control_cookie_t   cookie  /**< */,
   2622  1.3  mrg                                       xcb_generic_error_t                     **e  /**< */)
   2623  1.3  mrg {
   2624  1.3  mrg     return (xcb_input_get_feedback_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   2625  1.3  mrg }
   2626  1.3  mrg 
   2627  1.1  mrg void
   2628  1.3  mrg xcb_input_kbd_feedback_ctl_next (xcb_input_kbd_feedback_ctl_iterator_t *i  /**< */)
   2629  1.1  mrg {
   2630  1.1  mrg     --i->rem;
   2631  1.3  mrg     ++i->data;
   2632  1.3  mrg     i->index += sizeof(xcb_input_kbd_feedback_ctl_t);
   2633  1.1  mrg }
   2634  1.1  mrg 
   2635  1.1  mrg xcb_generic_iterator_t
   2636  1.3  mrg xcb_input_kbd_feedback_ctl_end (xcb_input_kbd_feedback_ctl_iterator_t i  /**< */)
   2637  1.1  mrg {
   2638  1.1  mrg     xcb_generic_iterator_t ret;
   2639  1.3  mrg     ret.data = i.data + i.rem;
   2640  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2641  1.3  mrg     ret.rem = 0;
   2642  1.1  mrg     return ret;
   2643  1.1  mrg }
   2644  1.1  mrg 
   2645  1.1  mrg void
   2646  1.3  mrg xcb_input_ptr_feedback_ctl_next (xcb_input_ptr_feedback_ctl_iterator_t *i  /**< */)
   2647  1.1  mrg {
   2648  1.1  mrg     --i->rem;
   2649  1.1  mrg     ++i->data;
   2650  1.3  mrg     i->index += sizeof(xcb_input_ptr_feedback_ctl_t);
   2651  1.1  mrg }
   2652  1.1  mrg 
   2653  1.1  mrg xcb_generic_iterator_t
   2654  1.3  mrg xcb_input_ptr_feedback_ctl_end (xcb_input_ptr_feedback_ctl_iterator_t i  /**< */)
   2655  1.1  mrg {
   2656  1.1  mrg     xcb_generic_iterator_t ret;
   2657  1.1  mrg     ret.data = i.data + i.rem;
   2658  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2659  1.1  mrg     ret.rem = 0;
   2660  1.1  mrg     return ret;
   2661  1.1  mrg }
   2662  1.1  mrg 
   2663  1.1  mrg void
   2664  1.3  mrg xcb_input_integer_feedback_ctl_next (xcb_input_integer_feedback_ctl_iterator_t *i  /**< */)
   2665  1.1  mrg {
   2666  1.1  mrg     --i->rem;
   2667  1.1  mrg     ++i->data;
   2668  1.3  mrg     i->index += sizeof(xcb_input_integer_feedback_ctl_t);
   2669  1.1  mrg }
   2670  1.1  mrg 
   2671  1.1  mrg xcb_generic_iterator_t
   2672  1.3  mrg xcb_input_integer_feedback_ctl_end (xcb_input_integer_feedback_ctl_iterator_t i  /**< */)
   2673  1.1  mrg {
   2674  1.1  mrg     xcb_generic_iterator_t ret;
   2675  1.1  mrg     ret.data = i.data + i.rem;
   2676  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2677  1.1  mrg     ret.rem = 0;
   2678  1.1  mrg     return ret;
   2679  1.1  mrg }
   2680  1.1  mrg 
   2681  1.2  mrg int
   2682  1.3  mrg xcb_input_string_feedback_ctl_sizeof (const void  *_buffer  /**< */)
   2683  1.2  mrg {
   2684  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   2685  1.3  mrg     const xcb_input_string_feedback_ctl_t *_aux = (xcb_input_string_feedback_ctl_t *)_buffer;
   2686  1.2  mrg     unsigned int xcb_buffer_len = 0;
   2687  1.2  mrg     unsigned int xcb_block_len = 0;
   2688  1.2  mrg     unsigned int xcb_pad = 0;
   2689  1.3  mrg     unsigned int xcb_align_to = 0;
   2690  1.2  mrg 
   2691  1.2  mrg 
   2692  1.3  mrg     xcb_block_len += sizeof(xcb_input_string_feedback_ctl_t);
   2693  1.2  mrg     xcb_tmp += xcb_block_len;
   2694  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2695  1.3  mrg     xcb_block_len = 0;
   2696  1.2  mrg     /* keysyms */
   2697  1.3  mrg     xcb_block_len += _aux->num_keysyms * sizeof(xcb_keysym_t);
   2698  1.2  mrg     xcb_tmp += xcb_block_len;
   2699  1.2  mrg     xcb_align_to = ALIGNOF(xcb_keysym_t);
   2700  1.2  mrg     /* insert padding */
   2701  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2702  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2703  1.2  mrg     if (0 != xcb_pad) {
   2704  1.2  mrg         xcb_tmp += xcb_pad;
   2705  1.2  mrg         xcb_pad = 0;
   2706  1.2  mrg     }
   2707  1.2  mrg     xcb_block_len = 0;
   2708  1.2  mrg 
   2709  1.2  mrg     return xcb_buffer_len;
   2710  1.2  mrg }
   2711  1.2  mrg 
   2712  1.3  mrg xcb_keysym_t *
   2713  1.3  mrg xcb_input_string_feedback_ctl_keysyms (const xcb_input_string_feedback_ctl_t *R  /**< */)
   2714  1.1  mrg {
   2715  1.3  mrg     return (xcb_keysym_t *) (R + 1);
   2716  1.1  mrg }
   2717  1.1  mrg 
   2718  1.3  mrg int
   2719  1.3  mrg xcb_input_string_feedback_ctl_keysyms_length (const xcb_input_string_feedback_ctl_t *R  /**< */)
   2720  1.1  mrg {
   2721  1.3  mrg     return R->num_keysyms;
   2722  1.1  mrg }
   2723  1.1  mrg 
   2724  1.3  mrg xcb_generic_iterator_t
   2725  1.3  mrg xcb_input_string_feedback_ctl_keysyms_end (const xcb_input_string_feedback_ctl_t *R  /**< */)
   2726  1.1  mrg {
   2727  1.3  mrg     xcb_generic_iterator_t i;
   2728  1.3  mrg     i.data = ((xcb_keysym_t *) (R + 1)) + (R->num_keysyms);
   2729  1.3  mrg     i.rem = 0;
   2730  1.3  mrg     i.index = (char *) i.data - (char *) R;
   2731  1.3  mrg     return i;
   2732  1.1  mrg }
   2733  1.1  mrg 
   2734  1.3  mrg void
   2735  1.3  mrg xcb_input_string_feedback_ctl_next (xcb_input_string_feedback_ctl_iterator_t *i  /**< */)
   2736  1.3  mrg {
   2737  1.3  mrg     xcb_input_string_feedback_ctl_t *R = i->data;
   2738  1.3  mrg     xcb_generic_iterator_t child;
   2739  1.3  mrg     child.data = (xcb_input_string_feedback_ctl_t *)(((char *)R) + xcb_input_string_feedback_ctl_sizeof(R));
   2740  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   2741  1.3  mrg     --i->rem;
   2742  1.3  mrg     i->data = (xcb_input_string_feedback_ctl_t *) child.data;
   2743  1.3  mrg }
   2744  1.3  mrg 
   2745  1.3  mrg xcb_generic_iterator_t
   2746  1.3  mrg xcb_input_string_feedback_ctl_end (xcb_input_string_feedback_ctl_iterator_t i  /**< */)
   2747  1.3  mrg {
   2748  1.3  mrg     xcb_generic_iterator_t ret;
   2749  1.3  mrg     while(i.rem > 0)
   2750  1.3  mrg         xcb_input_string_feedback_ctl_next(&i);
   2751  1.3  mrg     ret.data = i.data;
   2752  1.3  mrg     ret.rem = i.rem;
   2753  1.3  mrg     ret.index = i.index;
   2754  1.3  mrg     return ret;
   2755  1.3  mrg }
   2756  1.3  mrg 
   2757  1.3  mrg void
   2758  1.3  mrg xcb_input_bell_feedback_ctl_next (xcb_input_bell_feedback_ctl_iterator_t *i  /**< */)
   2759  1.3  mrg {
   2760  1.3  mrg     --i->rem;
   2761  1.3  mrg     ++i->data;
   2762  1.3  mrg     i->index += sizeof(xcb_input_bell_feedback_ctl_t);
   2763  1.3  mrg }
   2764  1.3  mrg 
   2765  1.3  mrg xcb_generic_iterator_t
   2766  1.3  mrg xcb_input_bell_feedback_ctl_end (xcb_input_bell_feedback_ctl_iterator_t i  /**< */)
   2767  1.3  mrg {
   2768  1.3  mrg     xcb_generic_iterator_t ret;
   2769  1.3  mrg     ret.data = i.data + i.rem;
   2770  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2771  1.3  mrg     ret.rem = 0;
   2772  1.3  mrg     return ret;
   2773  1.3  mrg }
   2774  1.3  mrg 
   2775  1.3  mrg void
   2776  1.3  mrg xcb_input_led_feedback_ctl_next (xcb_input_led_feedback_ctl_iterator_t *i  /**< */)
   2777  1.3  mrg {
   2778  1.3  mrg     --i->rem;
   2779  1.3  mrg     ++i->data;
   2780  1.3  mrg     i->index += sizeof(xcb_input_led_feedback_ctl_t);
   2781  1.3  mrg }
   2782  1.3  mrg 
   2783  1.3  mrg xcb_generic_iterator_t
   2784  1.3  mrg xcb_input_led_feedback_ctl_end (xcb_input_led_feedback_ctl_iterator_t i  /**< */)
   2785  1.3  mrg {
   2786  1.3  mrg     xcb_generic_iterator_t ret;
   2787  1.3  mrg     ret.data = i.data + i.rem;
   2788  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2789  1.3  mrg     ret.rem = 0;
   2790  1.3  mrg     return ret;
   2791  1.3  mrg }
   2792  1.3  mrg 
   2793  1.3  mrg int
   2794  1.3  mrg xcb_input_feedback_ctl_sizeof (const void  *_buffer  /**< */)
   2795  1.3  mrg {
   2796  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   2797  1.3  mrg     const xcb_input_feedback_ctl_t *_aux = (xcb_input_feedback_ctl_t *)_buffer;
   2798  1.3  mrg     unsigned int xcb_buffer_len = 0;
   2799  1.3  mrg     unsigned int xcb_block_len = 0;
   2800  1.3  mrg     unsigned int xcb_pad = 0;
   2801  1.3  mrg     unsigned int xcb_align_to = 0;
   2802  1.3  mrg 
   2803  1.3  mrg 
   2804  1.3  mrg     xcb_block_len += sizeof(xcb_input_feedback_ctl_t);
   2805  1.3  mrg     xcb_tmp += xcb_block_len;
   2806  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2807  1.3  mrg     xcb_block_len = 0;
   2808  1.3  mrg     /* uninterpreted_data */
   2809  1.3  mrg     xcb_block_len += (_aux->len - 4) * sizeof(uint8_t);
   2810  1.3  mrg     xcb_tmp += xcb_block_len;
   2811  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   2812  1.3  mrg     /* insert padding */
   2813  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2814  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2815  1.3  mrg     if (0 != xcb_pad) {
   2816  1.3  mrg         xcb_tmp += xcb_pad;
   2817  1.3  mrg         xcb_pad = 0;
   2818  1.3  mrg     }
   2819  1.3  mrg     xcb_block_len = 0;
   2820  1.3  mrg 
   2821  1.3  mrg     return xcb_buffer_len;
   2822  1.3  mrg }
   2823  1.3  mrg 
   2824  1.3  mrg uint8_t *
   2825  1.3  mrg xcb_input_feedback_ctl_uninterpreted_data (const xcb_input_feedback_ctl_t *R  /**< */)
   2826  1.3  mrg {
   2827  1.3  mrg     return (uint8_t *) (R + 1);
   2828  1.3  mrg }
   2829  1.3  mrg 
   2830  1.1  mrg int
   2831  1.3  mrg xcb_input_feedback_ctl_uninterpreted_data_length (const xcb_input_feedback_ctl_t *R  /**< */)
   2832  1.1  mrg {
   2833  1.3  mrg     return (R->len - 4);
   2834  1.1  mrg }
   2835  1.1  mrg 
   2836  1.1  mrg xcb_generic_iterator_t
   2837  1.3  mrg xcb_input_feedback_ctl_uninterpreted_data_end (const xcb_input_feedback_ctl_t *R  /**< */)
   2838  1.1  mrg {
   2839  1.1  mrg     xcb_generic_iterator_t i;
   2840  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + ((R->len - 4));
   2841  1.1  mrg     i.rem = 0;
   2842  1.1  mrg     i.index = (char *) i.data - (char *) R;
   2843  1.1  mrg     return i;
   2844  1.1  mrg }
   2845  1.1  mrg 
   2846  1.3  mrg void
   2847  1.3  mrg xcb_input_feedback_ctl_next (xcb_input_feedback_ctl_iterator_t *i  /**< */)
   2848  1.3  mrg {
   2849  1.3  mrg     xcb_input_feedback_ctl_t *R = i->data;
   2850  1.3  mrg     xcb_generic_iterator_t child;
   2851  1.3  mrg     child.data = (xcb_input_feedback_ctl_t *)(((char *)R) + xcb_input_feedback_ctl_sizeof(R));
   2852  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   2853  1.3  mrg     --i->rem;
   2854  1.3  mrg     i->data = (xcb_input_feedback_ctl_t *) child.data;
   2855  1.3  mrg }
   2856  1.3  mrg 
   2857  1.3  mrg xcb_generic_iterator_t
   2858  1.3  mrg xcb_input_feedback_ctl_end (xcb_input_feedback_ctl_iterator_t i  /**< */)
   2859  1.1  mrg {
   2860  1.3  mrg     xcb_generic_iterator_t ret;
   2861  1.3  mrg     while(i.rem > 0)
   2862  1.3  mrg         xcb_input_feedback_ctl_next(&i);
   2863  1.3  mrg     ret.data = i.data;
   2864  1.3  mrg     ret.rem = i.rem;
   2865  1.3  mrg     ret.index = i.index;
   2866  1.3  mrg     return ret;
   2867  1.1  mrg }
   2868  1.1  mrg 
   2869  1.2  mrg int
   2870  1.3  mrg xcb_input_change_feedback_control_sizeof (const void  *_buffer  /**< */)
   2871  1.2  mrg {
   2872  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   2873  1.2  mrg     unsigned int xcb_buffer_len = 0;
   2874  1.2  mrg     unsigned int xcb_block_len = 0;
   2875  1.2  mrg     unsigned int xcb_pad = 0;
   2876  1.3  mrg     unsigned int xcb_align_to = 0;
   2877  1.2  mrg 
   2878  1.2  mrg 
   2879  1.3  mrg     xcb_block_len += sizeof(xcb_input_change_feedback_control_request_t);
   2880  1.2  mrg     xcb_tmp += xcb_block_len;
   2881  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2882  1.3  mrg     xcb_block_len = 0;
   2883  1.3  mrg     /* feedback */
   2884  1.3  mrg     xcb_block_len += xcb_input_feedback_ctl_sizeof(xcb_tmp);
   2885  1.2  mrg     xcb_tmp += xcb_block_len;
   2886  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_feedback_ctl_t);
   2887  1.2  mrg     /* insert padding */
   2888  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2889  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2890  1.2  mrg     if (0 != xcb_pad) {
   2891  1.2  mrg         xcb_tmp += xcb_pad;
   2892  1.2  mrg         xcb_pad = 0;
   2893  1.2  mrg     }
   2894  1.2  mrg     xcb_block_len = 0;
   2895  1.2  mrg 
   2896  1.2  mrg     return xcb_buffer_len;
   2897  1.2  mrg }
   2898  1.2  mrg 
   2899  1.1  mrg xcb_void_cookie_t
   2900  1.3  mrg xcb_input_change_feedback_control_checked (xcb_connection_t         *c  /**< */,
   2901  1.3  mrg                                            uint32_t                  mask  /**< */,
   2902  1.3  mrg                                            uint8_t                   device_id  /**< */,
   2903  1.3  mrg                                            uint8_t                   feedback_id  /**< */,
   2904  1.3  mrg                                            xcb_input_feedback_ctl_t *feedback  /**< */)
   2905  1.1  mrg {
   2906  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   2907  1.1  mrg         /* count */ 4,
   2908  1.1  mrg         /* ext */ &xcb_input_id,
   2909  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_FEEDBACK_CONTROL,
   2910  1.1  mrg         /* isvoid */ 1
   2911  1.1  mrg     };
   2912  1.4  mrg 
   2913  1.1  mrg     struct iovec xcb_parts[6];
   2914  1.1  mrg     xcb_void_cookie_t xcb_ret;
   2915  1.3  mrg     xcb_input_change_feedback_control_request_t xcb_out;
   2916  1.4  mrg 
   2917  1.3  mrg     xcb_out.mask = mask;
   2918  1.1  mrg     xcb_out.device_id = device_id;
   2919  1.3  mrg     xcb_out.feedback_id = feedback_id;
   2920  1.4  mrg 
   2921  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2922  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2923  1.1  mrg     xcb_parts[3].iov_base = 0;
   2924  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2925  1.3  mrg     /* xcb_input_feedback_ctl_t feedback */
   2926  1.3  mrg     xcb_parts[4].iov_base = (char *) feedback;
   2927  1.4  mrg     xcb_parts[4].iov_len =
   2928  1.3  mrg       xcb_input_feedback_ctl_sizeof (feedback);
   2929  1.4  mrg 
   2930  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   2931  1.1  mrg     return xcb_ret;
   2932  1.1  mrg }
   2933  1.1  mrg 
   2934  1.1  mrg xcb_void_cookie_t
   2935  1.3  mrg xcb_input_change_feedback_control (xcb_connection_t         *c  /**< */,
   2936  1.3  mrg                                    uint32_t                  mask  /**< */,
   2937  1.3  mrg                                    uint8_t                   device_id  /**< */,
   2938  1.3  mrg                                    uint8_t                   feedback_id  /**< */,
   2939  1.3  mrg                                    xcb_input_feedback_ctl_t *feedback  /**< */)
   2940  1.1  mrg {
   2941  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   2942  1.1  mrg         /* count */ 4,
   2943  1.1  mrg         /* ext */ &xcb_input_id,
   2944  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_FEEDBACK_CONTROL,
   2945  1.1  mrg         /* isvoid */ 1
   2946  1.1  mrg     };
   2947  1.4  mrg 
   2948  1.1  mrg     struct iovec xcb_parts[6];
   2949  1.1  mrg     xcb_void_cookie_t xcb_ret;
   2950  1.3  mrg     xcb_input_change_feedback_control_request_t xcb_out;
   2951  1.4  mrg 
   2952  1.3  mrg     xcb_out.mask = mask;
   2953  1.1  mrg     xcb_out.device_id = device_id;
   2954  1.3  mrg     xcb_out.feedback_id = feedback_id;
   2955  1.4  mrg 
   2956  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   2957  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   2958  1.1  mrg     xcb_parts[3].iov_base = 0;
   2959  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   2960  1.3  mrg     /* xcb_input_feedback_ctl_t feedback */
   2961  1.3  mrg     xcb_parts[4].iov_base = (char *) feedback;
   2962  1.4  mrg     xcb_parts[4].iov_len =
   2963  1.3  mrg       xcb_input_feedback_ctl_sizeof (feedback);
   2964  1.4  mrg 
   2965  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   2966  1.1  mrg     return xcb_ret;
   2967  1.1  mrg }
   2968  1.1  mrg 
   2969  1.2  mrg int
   2970  1.3  mrg xcb_input_get_device_key_mapping_sizeof (const void  *_buffer  /**< */)
   2971  1.2  mrg {
   2972  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   2973  1.3  mrg     const xcb_input_get_device_key_mapping_reply_t *_aux = (xcb_input_get_device_key_mapping_reply_t *)_buffer;
   2974  1.2  mrg     unsigned int xcb_buffer_len = 0;
   2975  1.2  mrg     unsigned int xcb_block_len = 0;
   2976  1.2  mrg     unsigned int xcb_pad = 0;
   2977  1.3  mrg     unsigned int xcb_align_to = 0;
   2978  1.2  mrg 
   2979  1.2  mrg 
   2980  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_device_key_mapping_reply_t);
   2981  1.2  mrg     xcb_tmp += xcb_block_len;
   2982  1.3  mrg     xcb_buffer_len += xcb_block_len;
   2983  1.3  mrg     xcb_block_len = 0;
   2984  1.3  mrg     /* keysyms */
   2985  1.3  mrg     xcb_block_len += _aux->length * sizeof(xcb_keysym_t);
   2986  1.2  mrg     xcb_tmp += xcb_block_len;
   2987  1.3  mrg     xcb_align_to = ALIGNOF(xcb_keysym_t);
   2988  1.2  mrg     /* insert padding */
   2989  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2990  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   2991  1.2  mrg     if (0 != xcb_pad) {
   2992  1.2  mrg         xcb_tmp += xcb_pad;
   2993  1.2  mrg         xcb_pad = 0;
   2994  1.2  mrg     }
   2995  1.2  mrg     xcb_block_len = 0;
   2996  1.2  mrg 
   2997  1.2  mrg     return xcb_buffer_len;
   2998  1.2  mrg }
   2999  1.2  mrg 
   3000  1.3  mrg xcb_input_get_device_key_mapping_cookie_t
   3001  1.3  mrg xcb_input_get_device_key_mapping (xcb_connection_t     *c  /**< */,
   3002  1.3  mrg                                   uint8_t               device_id  /**< */,
   3003  1.3  mrg                                   xcb_input_key_code_t  first_keycode  /**< */,
   3004  1.3  mrg                                   uint8_t               count  /**< */)
   3005  1.1  mrg {
   3006  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3007  1.1  mrg         /* count */ 2,
   3008  1.1  mrg         /* ext */ &xcb_input_id,
   3009  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_KEY_MAPPING,
   3010  1.1  mrg         /* isvoid */ 0
   3011  1.1  mrg     };
   3012  1.4  mrg 
   3013  1.1  mrg     struct iovec xcb_parts[4];
   3014  1.3  mrg     xcb_input_get_device_key_mapping_cookie_t xcb_ret;
   3015  1.3  mrg     xcb_input_get_device_key_mapping_request_t xcb_out;
   3016  1.4  mrg 
   3017  1.1  mrg     xcb_out.device_id = device_id;
   3018  1.3  mrg     xcb_out.first_keycode = first_keycode;
   3019  1.3  mrg     xcb_out.count = count;
   3020  1.4  mrg 
   3021  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3022  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3023  1.1  mrg     xcb_parts[3].iov_base = 0;
   3024  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3025  1.4  mrg 
   3026  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3027  1.1  mrg     return xcb_ret;
   3028  1.1  mrg }
   3029  1.1  mrg 
   3030  1.3  mrg xcb_input_get_device_key_mapping_cookie_t
   3031  1.3  mrg xcb_input_get_device_key_mapping_unchecked (xcb_connection_t     *c  /**< */,
   3032  1.3  mrg                                             uint8_t               device_id  /**< */,
   3033  1.3  mrg                                             xcb_input_key_code_t  first_keycode  /**< */,
   3034  1.3  mrg                                             uint8_t               count  /**< */)
   3035  1.1  mrg {
   3036  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3037  1.1  mrg         /* count */ 2,
   3038  1.1  mrg         /* ext */ &xcb_input_id,
   3039  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_KEY_MAPPING,
   3040  1.1  mrg         /* isvoid */ 0
   3041  1.1  mrg     };
   3042  1.4  mrg 
   3043  1.1  mrg     struct iovec xcb_parts[4];
   3044  1.3  mrg     xcb_input_get_device_key_mapping_cookie_t xcb_ret;
   3045  1.3  mrg     xcb_input_get_device_key_mapping_request_t xcb_out;
   3046  1.4  mrg 
   3047  1.1  mrg     xcb_out.device_id = device_id;
   3048  1.3  mrg     xcb_out.first_keycode = first_keycode;
   3049  1.3  mrg     xcb_out.count = count;
   3050  1.4  mrg 
   3051  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3052  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3053  1.1  mrg     xcb_parts[3].iov_base = 0;
   3054  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3055  1.4  mrg 
   3056  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3057  1.1  mrg     return xcb_ret;
   3058  1.1  mrg }
   3059  1.1  mrg 
   3060  1.3  mrg xcb_keysym_t *
   3061  1.3  mrg xcb_input_get_device_key_mapping_keysyms (const xcb_input_get_device_key_mapping_reply_t *R  /**< */)
   3062  1.1  mrg {
   3063  1.3  mrg     return (xcb_keysym_t *) (R + 1);
   3064  1.1  mrg }
   3065  1.1  mrg 
   3066  1.1  mrg int
   3067  1.3  mrg xcb_input_get_device_key_mapping_keysyms_length (const xcb_input_get_device_key_mapping_reply_t *R  /**< */)
   3068  1.1  mrg {
   3069  1.3  mrg     return R->length;
   3070  1.1  mrg }
   3071  1.1  mrg 
   3072  1.1  mrg xcb_generic_iterator_t
   3073  1.3  mrg xcb_input_get_device_key_mapping_keysyms_end (const xcb_input_get_device_key_mapping_reply_t *R  /**< */)
   3074  1.1  mrg {
   3075  1.1  mrg     xcb_generic_iterator_t i;
   3076  1.3  mrg     i.data = ((xcb_keysym_t *) (R + 1)) + (R->length);
   3077  1.1  mrg     i.rem = 0;
   3078  1.1  mrg     i.index = (char *) i.data - (char *) R;
   3079  1.1  mrg     return i;
   3080  1.1  mrg }
   3081  1.1  mrg 
   3082  1.3  mrg xcb_input_get_device_key_mapping_reply_t *
   3083  1.3  mrg xcb_input_get_device_key_mapping_reply (xcb_connection_t                           *c  /**< */,
   3084  1.3  mrg                                         xcb_input_get_device_key_mapping_cookie_t   cookie  /**< */,
   3085  1.3  mrg                                         xcb_generic_error_t                       **e  /**< */)
   3086  1.1  mrg {
   3087  1.3  mrg     return (xcb_input_get_device_key_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3088  1.1  mrg }
   3089  1.1  mrg 
   3090  1.2  mrg int
   3091  1.3  mrg xcb_input_change_device_key_mapping_sizeof (const void  *_buffer  /**< */)
   3092  1.2  mrg {
   3093  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3094  1.3  mrg     const xcb_input_change_device_key_mapping_request_t *_aux = (xcb_input_change_device_key_mapping_request_t *)_buffer;
   3095  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3096  1.2  mrg     unsigned int xcb_block_len = 0;
   3097  1.2  mrg     unsigned int xcb_pad = 0;
   3098  1.3  mrg     unsigned int xcb_align_to = 0;
   3099  1.2  mrg 
   3100  1.2  mrg 
   3101  1.3  mrg     xcb_block_len += sizeof(xcb_input_change_device_key_mapping_request_t);
   3102  1.2  mrg     xcb_tmp += xcb_block_len;
   3103  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3104  1.3  mrg     xcb_block_len = 0;
   3105  1.3  mrg     /* keysyms */
   3106  1.3  mrg     xcb_block_len += (_aux->keycode_count * _aux->keysyms_per_keycode) * sizeof(xcb_keysym_t);
   3107  1.2  mrg     xcb_tmp += xcb_block_len;
   3108  1.3  mrg     xcb_align_to = ALIGNOF(xcb_keysym_t);
   3109  1.2  mrg     /* insert padding */
   3110  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3111  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3112  1.2  mrg     if (0 != xcb_pad) {
   3113  1.2  mrg         xcb_tmp += xcb_pad;
   3114  1.2  mrg         xcb_pad = 0;
   3115  1.2  mrg     }
   3116  1.2  mrg     xcb_block_len = 0;
   3117  1.2  mrg 
   3118  1.2  mrg     return xcb_buffer_len;
   3119  1.2  mrg }
   3120  1.2  mrg 
   3121  1.3  mrg xcb_void_cookie_t
   3122  1.3  mrg xcb_input_change_device_key_mapping_checked (xcb_connection_t     *c  /**< */,
   3123  1.3  mrg                                              uint8_t               device_id  /**< */,
   3124  1.3  mrg                                              xcb_input_key_code_t  first_keycode  /**< */,
   3125  1.3  mrg                                              uint8_t               keysyms_per_keycode  /**< */,
   3126  1.3  mrg                                              uint8_t               keycode_count  /**< */,
   3127  1.3  mrg                                              const xcb_keysym_t   *keysyms  /**< */)
   3128  1.1  mrg {
   3129  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3130  1.1  mrg         /* count */ 4,
   3131  1.1  mrg         /* ext */ &xcb_input_id,
   3132  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING,
   3133  1.3  mrg         /* isvoid */ 1
   3134  1.1  mrg     };
   3135  1.4  mrg 
   3136  1.1  mrg     struct iovec xcb_parts[6];
   3137  1.3  mrg     xcb_void_cookie_t xcb_ret;
   3138  1.3  mrg     xcb_input_change_device_key_mapping_request_t xcb_out;
   3139  1.4  mrg 
   3140  1.1  mrg     xcb_out.device_id = device_id;
   3141  1.3  mrg     xcb_out.first_keycode = first_keycode;
   3142  1.3  mrg     xcb_out.keysyms_per_keycode = keysyms_per_keycode;
   3143  1.3  mrg     xcb_out.keycode_count = keycode_count;
   3144  1.4  mrg 
   3145  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3146  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3147  1.1  mrg     xcb_parts[3].iov_base = 0;
   3148  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3149  1.3  mrg     /* xcb_keysym_t keysyms */
   3150  1.3  mrg     xcb_parts[4].iov_base = (char *) keysyms;
   3151  1.3  mrg     xcb_parts[4].iov_len = (keycode_count * keysyms_per_keycode) * sizeof(xcb_keysym_t);
   3152  1.1  mrg     xcb_parts[5].iov_base = 0;
   3153  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   3154  1.4  mrg 
   3155  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3156  1.1  mrg     return xcb_ret;
   3157  1.1  mrg }
   3158  1.1  mrg 
   3159  1.3  mrg xcb_void_cookie_t
   3160  1.3  mrg xcb_input_change_device_key_mapping (xcb_connection_t     *c  /**< */,
   3161  1.3  mrg                                      uint8_t               device_id  /**< */,
   3162  1.3  mrg                                      xcb_input_key_code_t  first_keycode  /**< */,
   3163  1.3  mrg                                      uint8_t               keysyms_per_keycode  /**< */,
   3164  1.3  mrg                                      uint8_t               keycode_count  /**< */,
   3165  1.3  mrg                                      const xcb_keysym_t   *keysyms  /**< */)
   3166  1.1  mrg {
   3167  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3168  1.1  mrg         /* count */ 4,
   3169  1.1  mrg         /* ext */ &xcb_input_id,
   3170  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING,
   3171  1.3  mrg         /* isvoid */ 1
   3172  1.1  mrg     };
   3173  1.4  mrg 
   3174  1.1  mrg     struct iovec xcb_parts[6];
   3175  1.3  mrg     xcb_void_cookie_t xcb_ret;
   3176  1.3  mrg     xcb_input_change_device_key_mapping_request_t xcb_out;
   3177  1.4  mrg 
   3178  1.1  mrg     xcb_out.device_id = device_id;
   3179  1.3  mrg     xcb_out.first_keycode = first_keycode;
   3180  1.3  mrg     xcb_out.keysyms_per_keycode = keysyms_per_keycode;
   3181  1.3  mrg     xcb_out.keycode_count = keycode_count;
   3182  1.4  mrg 
   3183  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3184  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3185  1.1  mrg     xcb_parts[3].iov_base = 0;
   3186  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3187  1.3  mrg     /* xcb_keysym_t keysyms */
   3188  1.3  mrg     xcb_parts[4].iov_base = (char *) keysyms;
   3189  1.3  mrg     xcb_parts[4].iov_len = (keycode_count * keysyms_per_keycode) * sizeof(xcb_keysym_t);
   3190  1.1  mrg     xcb_parts[5].iov_base = 0;
   3191  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   3192  1.4  mrg 
   3193  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3194  1.1  mrg     return xcb_ret;
   3195  1.1  mrg }
   3196  1.1  mrg 
   3197  1.2  mrg int
   3198  1.3  mrg xcb_input_get_device_modifier_mapping_sizeof (const void  *_buffer  /**< */)
   3199  1.2  mrg {
   3200  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3201  1.3  mrg     const xcb_input_get_device_modifier_mapping_reply_t *_aux = (xcb_input_get_device_modifier_mapping_reply_t *)_buffer;
   3202  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3203  1.2  mrg     unsigned int xcb_block_len = 0;
   3204  1.2  mrg     unsigned int xcb_pad = 0;
   3205  1.3  mrg     unsigned int xcb_align_to = 0;
   3206  1.2  mrg 
   3207  1.2  mrg 
   3208  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_device_modifier_mapping_reply_t);
   3209  1.2  mrg     xcb_tmp += xcb_block_len;
   3210  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3211  1.3  mrg     xcb_block_len = 0;
   3212  1.3  mrg     /* keymaps */
   3213  1.3  mrg     xcb_block_len += (_aux->keycodes_per_modifier * 8) * sizeof(uint8_t);
   3214  1.2  mrg     xcb_tmp += xcb_block_len;
   3215  1.2  mrg     xcb_align_to = ALIGNOF(uint8_t);
   3216  1.2  mrg     /* insert padding */
   3217  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3218  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3219  1.2  mrg     if (0 != xcb_pad) {
   3220  1.2  mrg         xcb_tmp += xcb_pad;
   3221  1.2  mrg         xcb_pad = 0;
   3222  1.2  mrg     }
   3223  1.2  mrg     xcb_block_len = 0;
   3224  1.2  mrg 
   3225  1.2  mrg     return xcb_buffer_len;
   3226  1.2  mrg }
   3227  1.2  mrg 
   3228  1.3  mrg xcb_input_get_device_modifier_mapping_cookie_t
   3229  1.3  mrg xcb_input_get_device_modifier_mapping (xcb_connection_t *c  /**< */,
   3230  1.3  mrg                                        uint8_t           device_id  /**< */)
   3231  1.1  mrg {
   3232  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3233  1.1  mrg         /* count */ 2,
   3234  1.1  mrg         /* ext */ &xcb_input_id,
   3235  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING,
   3236  1.1  mrg         /* isvoid */ 0
   3237  1.1  mrg     };
   3238  1.4  mrg 
   3239  1.1  mrg     struct iovec xcb_parts[4];
   3240  1.3  mrg     xcb_input_get_device_modifier_mapping_cookie_t xcb_ret;
   3241  1.3  mrg     xcb_input_get_device_modifier_mapping_request_t xcb_out;
   3242  1.4  mrg 
   3243  1.1  mrg     xcb_out.device_id = device_id;
   3244  1.1  mrg     memset(xcb_out.pad0, 0, 3);
   3245  1.4  mrg 
   3246  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3247  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3248  1.1  mrg     xcb_parts[3].iov_base = 0;
   3249  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3250  1.4  mrg 
   3251  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3252  1.1  mrg     return xcb_ret;
   3253  1.1  mrg }
   3254  1.1  mrg 
   3255  1.3  mrg xcb_input_get_device_modifier_mapping_cookie_t
   3256  1.3  mrg xcb_input_get_device_modifier_mapping_unchecked (xcb_connection_t *c  /**< */,
   3257  1.3  mrg                                                  uint8_t           device_id  /**< */)
   3258  1.1  mrg {
   3259  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3260  1.1  mrg         /* count */ 2,
   3261  1.1  mrg         /* ext */ &xcb_input_id,
   3262  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING,
   3263  1.1  mrg         /* isvoid */ 0
   3264  1.1  mrg     };
   3265  1.4  mrg 
   3266  1.1  mrg     struct iovec xcb_parts[4];
   3267  1.3  mrg     xcb_input_get_device_modifier_mapping_cookie_t xcb_ret;
   3268  1.3  mrg     xcb_input_get_device_modifier_mapping_request_t xcb_out;
   3269  1.4  mrg 
   3270  1.1  mrg     xcb_out.device_id = device_id;
   3271  1.1  mrg     memset(xcb_out.pad0, 0, 3);
   3272  1.4  mrg 
   3273  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3274  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3275  1.1  mrg     xcb_parts[3].iov_base = 0;
   3276  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3277  1.4  mrg 
   3278  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3279  1.1  mrg     return xcb_ret;
   3280  1.1  mrg }
   3281  1.1  mrg 
   3282  1.1  mrg uint8_t *
   3283  1.3  mrg xcb_input_get_device_modifier_mapping_keymaps (const xcb_input_get_device_modifier_mapping_reply_t *R  /**< */)
   3284  1.1  mrg {
   3285  1.1  mrg     return (uint8_t *) (R + 1);
   3286  1.1  mrg }
   3287  1.1  mrg 
   3288  1.1  mrg int
   3289  1.3  mrg xcb_input_get_device_modifier_mapping_keymaps_length (const xcb_input_get_device_modifier_mapping_reply_t *R  /**< */)
   3290  1.1  mrg {
   3291  1.3  mrg     return (R->keycodes_per_modifier * 8);
   3292  1.1  mrg }
   3293  1.1  mrg 
   3294  1.1  mrg xcb_generic_iterator_t
   3295  1.3  mrg xcb_input_get_device_modifier_mapping_keymaps_end (const xcb_input_get_device_modifier_mapping_reply_t *R  /**< */)
   3296  1.1  mrg {
   3297  1.1  mrg     xcb_generic_iterator_t i;
   3298  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + ((R->keycodes_per_modifier * 8));
   3299  1.1  mrg     i.rem = 0;
   3300  1.1  mrg     i.index = (char *) i.data - (char *) R;
   3301  1.1  mrg     return i;
   3302  1.1  mrg }
   3303  1.1  mrg 
   3304  1.3  mrg xcb_input_get_device_modifier_mapping_reply_t *
   3305  1.3  mrg xcb_input_get_device_modifier_mapping_reply (xcb_connection_t                                *c  /**< */,
   3306  1.3  mrg                                              xcb_input_get_device_modifier_mapping_cookie_t   cookie  /**< */,
   3307  1.3  mrg                                              xcb_generic_error_t                            **e  /**< */)
   3308  1.1  mrg {
   3309  1.3  mrg     return (xcb_input_get_device_modifier_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3310  1.1  mrg }
   3311  1.1  mrg 
   3312  1.2  mrg int
   3313  1.3  mrg xcb_input_set_device_modifier_mapping_sizeof (const void  *_buffer  /**< */)
   3314  1.2  mrg {
   3315  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3316  1.3  mrg     const xcb_input_set_device_modifier_mapping_request_t *_aux = (xcb_input_set_device_modifier_mapping_request_t *)_buffer;
   3317  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3318  1.2  mrg     unsigned int xcb_block_len = 0;
   3319  1.2  mrg     unsigned int xcb_pad = 0;
   3320  1.3  mrg     unsigned int xcb_align_to = 0;
   3321  1.2  mrg 
   3322  1.2  mrg 
   3323  1.3  mrg     xcb_block_len += sizeof(xcb_input_set_device_modifier_mapping_request_t);
   3324  1.2  mrg     xcb_tmp += xcb_block_len;
   3325  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3326  1.3  mrg     xcb_block_len = 0;
   3327  1.3  mrg     /* keymaps */
   3328  1.3  mrg     xcb_block_len += (_aux->keycodes_per_modifier * 8) * sizeof(uint8_t);
   3329  1.2  mrg     xcb_tmp += xcb_block_len;
   3330  1.2  mrg     xcb_align_to = ALIGNOF(uint8_t);
   3331  1.2  mrg     /* insert padding */
   3332  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3333  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3334  1.2  mrg     if (0 != xcb_pad) {
   3335  1.2  mrg         xcb_tmp += xcb_pad;
   3336  1.2  mrg         xcb_pad = 0;
   3337  1.2  mrg     }
   3338  1.2  mrg     xcb_block_len = 0;
   3339  1.2  mrg 
   3340  1.2  mrg     return xcb_buffer_len;
   3341  1.2  mrg }
   3342  1.2  mrg 
   3343  1.3  mrg xcb_input_set_device_modifier_mapping_cookie_t
   3344  1.3  mrg xcb_input_set_device_modifier_mapping (xcb_connection_t *c  /**< */,
   3345  1.3  mrg                                        uint8_t           device_id  /**< */,
   3346  1.3  mrg                                        uint8_t           keycodes_per_modifier  /**< */,
   3347  1.3  mrg                                        const uint8_t    *keymaps  /**< */)
   3348  1.1  mrg {
   3349  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3350  1.1  mrg         /* count */ 4,
   3351  1.1  mrg         /* ext */ &xcb_input_id,
   3352  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING,
   3353  1.1  mrg         /* isvoid */ 0
   3354  1.1  mrg     };
   3355  1.4  mrg 
   3356  1.1  mrg     struct iovec xcb_parts[6];
   3357  1.3  mrg     xcb_input_set_device_modifier_mapping_cookie_t xcb_ret;
   3358  1.3  mrg     xcb_input_set_device_modifier_mapping_request_t xcb_out;
   3359  1.4  mrg 
   3360  1.1  mrg     xcb_out.device_id = device_id;
   3361  1.3  mrg     xcb_out.keycodes_per_modifier = keycodes_per_modifier;
   3362  1.3  mrg     xcb_out.pad0 = 0;
   3363  1.4  mrg 
   3364  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3365  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3366  1.1  mrg     xcb_parts[3].iov_base = 0;
   3367  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3368  1.3  mrg     /* uint8_t keymaps */
   3369  1.3  mrg     xcb_parts[4].iov_base = (char *) keymaps;
   3370  1.3  mrg     xcb_parts[4].iov_len = (keycodes_per_modifier * 8) * sizeof(uint8_t);
   3371  1.1  mrg     xcb_parts[5].iov_base = 0;
   3372  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   3373  1.4  mrg 
   3374  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3375  1.1  mrg     return xcb_ret;
   3376  1.1  mrg }
   3377  1.1  mrg 
   3378  1.3  mrg xcb_input_set_device_modifier_mapping_cookie_t
   3379  1.3  mrg xcb_input_set_device_modifier_mapping_unchecked (xcb_connection_t *c  /**< */,
   3380  1.3  mrg                                                  uint8_t           device_id  /**< */,
   3381  1.3  mrg                                                  uint8_t           keycodes_per_modifier  /**< */,
   3382  1.3  mrg                                                  const uint8_t    *keymaps  /**< */)
   3383  1.1  mrg {
   3384  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3385  1.1  mrg         /* count */ 4,
   3386  1.1  mrg         /* ext */ &xcb_input_id,
   3387  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING,
   3388  1.1  mrg         /* isvoid */ 0
   3389  1.1  mrg     };
   3390  1.4  mrg 
   3391  1.1  mrg     struct iovec xcb_parts[6];
   3392  1.3  mrg     xcb_input_set_device_modifier_mapping_cookie_t xcb_ret;
   3393  1.3  mrg     xcb_input_set_device_modifier_mapping_request_t xcb_out;
   3394  1.4  mrg 
   3395  1.1  mrg     xcb_out.device_id = device_id;
   3396  1.3  mrg     xcb_out.keycodes_per_modifier = keycodes_per_modifier;
   3397  1.3  mrg     xcb_out.pad0 = 0;
   3398  1.4  mrg 
   3399  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3400  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3401  1.1  mrg     xcb_parts[3].iov_base = 0;
   3402  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3403  1.3  mrg     /* uint8_t keymaps */
   3404  1.3  mrg     xcb_parts[4].iov_base = (char *) keymaps;
   3405  1.3  mrg     xcb_parts[4].iov_len = (keycodes_per_modifier * 8) * sizeof(uint8_t);
   3406  1.1  mrg     xcb_parts[5].iov_base = 0;
   3407  1.1  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   3408  1.4  mrg 
   3409  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3410  1.1  mrg     return xcb_ret;
   3411  1.1  mrg }
   3412  1.1  mrg 
   3413  1.3  mrg xcb_input_set_device_modifier_mapping_reply_t *
   3414  1.3  mrg xcb_input_set_device_modifier_mapping_reply (xcb_connection_t                                *c  /**< */,
   3415  1.3  mrg                                              xcb_input_set_device_modifier_mapping_cookie_t   cookie  /**< */,
   3416  1.3  mrg                                              xcb_generic_error_t                            **e  /**< */)
   3417  1.3  mrg {
   3418  1.3  mrg     return (xcb_input_set_device_modifier_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3419  1.3  mrg }
   3420  1.3  mrg 
   3421  1.3  mrg int
   3422  1.3  mrg xcb_input_get_device_button_mapping_sizeof (const void  *_buffer  /**< */)
   3423  1.1  mrg {
   3424  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   3425  1.3  mrg     const xcb_input_get_device_button_mapping_reply_t *_aux = (xcb_input_get_device_button_mapping_reply_t *)_buffer;
   3426  1.3  mrg     unsigned int xcb_buffer_len = 0;
   3427  1.3  mrg     unsigned int xcb_block_len = 0;
   3428  1.3  mrg     unsigned int xcb_pad = 0;
   3429  1.3  mrg     unsigned int xcb_align_to = 0;
   3430  1.3  mrg 
   3431  1.3  mrg 
   3432  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_device_button_mapping_reply_t);
   3433  1.3  mrg     xcb_tmp += xcb_block_len;
   3434  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3435  1.3  mrg     xcb_block_len = 0;
   3436  1.3  mrg     /* map */
   3437  1.3  mrg     xcb_block_len += _aux->map_size * sizeof(uint8_t);
   3438  1.3  mrg     xcb_tmp += xcb_block_len;
   3439  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   3440  1.3  mrg     /* insert padding */
   3441  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3442  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3443  1.3  mrg     if (0 != xcb_pad) {
   3444  1.3  mrg         xcb_tmp += xcb_pad;
   3445  1.3  mrg         xcb_pad = 0;
   3446  1.3  mrg     }
   3447  1.3  mrg     xcb_block_len = 0;
   3448  1.3  mrg 
   3449  1.3  mrg     return xcb_buffer_len;
   3450  1.1  mrg }
   3451  1.1  mrg 
   3452  1.3  mrg xcb_input_get_device_button_mapping_cookie_t
   3453  1.3  mrg xcb_input_get_device_button_mapping (xcb_connection_t *c  /**< */,
   3454  1.3  mrg                                      uint8_t           device_id  /**< */)
   3455  1.1  mrg {
   3456  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3457  1.1  mrg         /* count */ 2,
   3458  1.1  mrg         /* ext */ &xcb_input_id,
   3459  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_BUTTON_MAPPING,
   3460  1.1  mrg         /* isvoid */ 0
   3461  1.1  mrg     };
   3462  1.4  mrg 
   3463  1.1  mrg     struct iovec xcb_parts[4];
   3464  1.3  mrg     xcb_input_get_device_button_mapping_cookie_t xcb_ret;
   3465  1.3  mrg     xcb_input_get_device_button_mapping_request_t xcb_out;
   3466  1.4  mrg 
   3467  1.1  mrg     xcb_out.device_id = device_id;
   3468  1.1  mrg     memset(xcb_out.pad0, 0, 3);
   3469  1.4  mrg 
   3470  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3471  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3472  1.1  mrg     xcb_parts[3].iov_base = 0;
   3473  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3474  1.4  mrg 
   3475  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3476  1.1  mrg     return xcb_ret;
   3477  1.1  mrg }
   3478  1.1  mrg 
   3479  1.3  mrg xcb_input_get_device_button_mapping_cookie_t
   3480  1.3  mrg xcb_input_get_device_button_mapping_unchecked (xcb_connection_t *c  /**< */,
   3481  1.3  mrg                                                uint8_t           device_id  /**< */)
   3482  1.1  mrg {
   3483  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3484  1.1  mrg         /* count */ 2,
   3485  1.1  mrg         /* ext */ &xcb_input_id,
   3486  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_BUTTON_MAPPING,
   3487  1.1  mrg         /* isvoid */ 0
   3488  1.1  mrg     };
   3489  1.4  mrg 
   3490  1.1  mrg     struct iovec xcb_parts[4];
   3491  1.3  mrg     xcb_input_get_device_button_mapping_cookie_t xcb_ret;
   3492  1.3  mrg     xcb_input_get_device_button_mapping_request_t xcb_out;
   3493  1.4  mrg 
   3494  1.1  mrg     xcb_out.device_id = device_id;
   3495  1.1  mrg     memset(xcb_out.pad0, 0, 3);
   3496  1.4  mrg 
   3497  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3498  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3499  1.1  mrg     xcb_parts[3].iov_base = 0;
   3500  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3501  1.4  mrg 
   3502  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3503  1.1  mrg     return xcb_ret;
   3504  1.1  mrg }
   3505  1.1  mrg 
   3506  1.3  mrg uint8_t *
   3507  1.3  mrg xcb_input_get_device_button_mapping_map (const xcb_input_get_device_button_mapping_reply_t *R  /**< */)
   3508  1.1  mrg {
   3509  1.3  mrg     return (uint8_t *) (R + 1);
   3510  1.1  mrg }
   3511  1.1  mrg 
   3512  1.3  mrg int
   3513  1.3  mrg xcb_input_get_device_button_mapping_map_length (const xcb_input_get_device_button_mapping_reply_t *R  /**< */)
   3514  1.1  mrg {
   3515  1.3  mrg     return R->map_size;
   3516  1.1  mrg }
   3517  1.1  mrg 
   3518  1.1  mrg xcb_generic_iterator_t
   3519  1.3  mrg xcb_input_get_device_button_mapping_map_end (const xcb_input_get_device_button_mapping_reply_t *R  /**< */)
   3520  1.3  mrg {
   3521  1.3  mrg     xcb_generic_iterator_t i;
   3522  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + (R->map_size);
   3523  1.3  mrg     i.rem = 0;
   3524  1.3  mrg     i.index = (char *) i.data - (char *) R;
   3525  1.3  mrg     return i;
   3526  1.3  mrg }
   3527  1.3  mrg 
   3528  1.3  mrg xcb_input_get_device_button_mapping_reply_t *
   3529  1.3  mrg xcb_input_get_device_button_mapping_reply (xcb_connection_t                              *c  /**< */,
   3530  1.3  mrg                                            xcb_input_get_device_button_mapping_cookie_t   cookie  /**< */,
   3531  1.3  mrg                                            xcb_generic_error_t                          **e  /**< */)
   3532  1.3  mrg {
   3533  1.3  mrg     return (xcb_input_get_device_button_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3534  1.3  mrg }
   3535  1.3  mrg 
   3536  1.3  mrg int
   3537  1.3  mrg xcb_input_set_device_button_mapping_sizeof (const void  *_buffer  /**< */)
   3538  1.3  mrg {
   3539  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   3540  1.3  mrg     const xcb_input_set_device_button_mapping_request_t *_aux = (xcb_input_set_device_button_mapping_request_t *)_buffer;
   3541  1.3  mrg     unsigned int xcb_buffer_len = 0;
   3542  1.3  mrg     unsigned int xcb_block_len = 0;
   3543  1.3  mrg     unsigned int xcb_pad = 0;
   3544  1.3  mrg     unsigned int xcb_align_to = 0;
   3545  1.3  mrg 
   3546  1.3  mrg 
   3547  1.3  mrg     xcb_block_len += sizeof(xcb_input_set_device_button_mapping_request_t);
   3548  1.3  mrg     xcb_tmp += xcb_block_len;
   3549  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3550  1.3  mrg     xcb_block_len = 0;
   3551  1.3  mrg     /* map */
   3552  1.3  mrg     xcb_block_len += _aux->map_size * sizeof(uint8_t);
   3553  1.3  mrg     xcb_tmp += xcb_block_len;
   3554  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   3555  1.3  mrg     /* insert padding */
   3556  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3557  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3558  1.3  mrg     if (0 != xcb_pad) {
   3559  1.3  mrg         xcb_tmp += xcb_pad;
   3560  1.3  mrg         xcb_pad = 0;
   3561  1.3  mrg     }
   3562  1.3  mrg     xcb_block_len = 0;
   3563  1.3  mrg 
   3564  1.3  mrg     return xcb_buffer_len;
   3565  1.3  mrg }
   3566  1.3  mrg 
   3567  1.3  mrg xcb_input_set_device_button_mapping_cookie_t
   3568  1.3  mrg xcb_input_set_device_button_mapping (xcb_connection_t *c  /**< */,
   3569  1.3  mrg                                      uint8_t           device_id  /**< */,
   3570  1.3  mrg                                      uint8_t           map_size  /**< */,
   3571  1.3  mrg                                      const uint8_t    *map  /**< */)
   3572  1.3  mrg {
   3573  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   3574  1.3  mrg         /* count */ 4,
   3575  1.3  mrg         /* ext */ &xcb_input_id,
   3576  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_BUTTON_MAPPING,
   3577  1.3  mrg         /* isvoid */ 0
   3578  1.3  mrg     };
   3579  1.4  mrg 
   3580  1.3  mrg     struct iovec xcb_parts[6];
   3581  1.3  mrg     xcb_input_set_device_button_mapping_cookie_t xcb_ret;
   3582  1.3  mrg     xcb_input_set_device_button_mapping_request_t xcb_out;
   3583  1.4  mrg 
   3584  1.3  mrg     xcb_out.device_id = device_id;
   3585  1.3  mrg     xcb_out.map_size = map_size;
   3586  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   3587  1.4  mrg 
   3588  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3589  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3590  1.3  mrg     xcb_parts[3].iov_base = 0;
   3591  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3592  1.3  mrg     /* uint8_t map */
   3593  1.3  mrg     xcb_parts[4].iov_base = (char *) map;
   3594  1.3  mrg     xcb_parts[4].iov_len = map_size * sizeof(uint8_t);
   3595  1.3  mrg     xcb_parts[5].iov_base = 0;
   3596  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   3597  1.4  mrg 
   3598  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3599  1.3  mrg     return xcb_ret;
   3600  1.3  mrg }
   3601  1.3  mrg 
   3602  1.3  mrg xcb_input_set_device_button_mapping_cookie_t
   3603  1.3  mrg xcb_input_set_device_button_mapping_unchecked (xcb_connection_t *c  /**< */,
   3604  1.3  mrg                                                uint8_t           device_id  /**< */,
   3605  1.3  mrg                                                uint8_t           map_size  /**< */,
   3606  1.3  mrg                                                const uint8_t    *map  /**< */)
   3607  1.3  mrg {
   3608  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   3609  1.3  mrg         /* count */ 4,
   3610  1.3  mrg         /* ext */ &xcb_input_id,
   3611  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_BUTTON_MAPPING,
   3612  1.3  mrg         /* isvoid */ 0
   3613  1.3  mrg     };
   3614  1.4  mrg 
   3615  1.3  mrg     struct iovec xcb_parts[6];
   3616  1.3  mrg     xcb_input_set_device_button_mapping_cookie_t xcb_ret;
   3617  1.3  mrg     xcb_input_set_device_button_mapping_request_t xcb_out;
   3618  1.4  mrg 
   3619  1.3  mrg     xcb_out.device_id = device_id;
   3620  1.3  mrg     xcb_out.map_size = map_size;
   3621  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   3622  1.4  mrg 
   3623  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3624  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3625  1.3  mrg     xcb_parts[3].iov_base = 0;
   3626  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3627  1.3  mrg     /* uint8_t map */
   3628  1.3  mrg     xcb_parts[4].iov_base = (char *) map;
   3629  1.3  mrg     xcb_parts[4].iov_len = map_size * sizeof(uint8_t);
   3630  1.3  mrg     xcb_parts[5].iov_base = 0;
   3631  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   3632  1.4  mrg 
   3633  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3634  1.3  mrg     return xcb_ret;
   3635  1.3  mrg }
   3636  1.3  mrg 
   3637  1.3  mrg xcb_input_set_device_button_mapping_reply_t *
   3638  1.3  mrg xcb_input_set_device_button_mapping_reply (xcb_connection_t                              *c  /**< */,
   3639  1.3  mrg                                            xcb_input_set_device_button_mapping_cookie_t   cookie  /**< */,
   3640  1.3  mrg                                            xcb_generic_error_t                          **e  /**< */)
   3641  1.1  mrg {
   3642  1.3  mrg     return (xcb_input_set_device_button_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3643  1.1  mrg }
   3644  1.1  mrg 
   3645  1.1  mrg void
   3646  1.1  mrg xcb_input_key_state_next (xcb_input_key_state_iterator_t *i  /**< */)
   3647  1.1  mrg {
   3648  1.1  mrg     --i->rem;
   3649  1.1  mrg     ++i->data;
   3650  1.1  mrg     i->index += sizeof(xcb_input_key_state_t);
   3651  1.1  mrg }
   3652  1.1  mrg 
   3653  1.1  mrg xcb_generic_iterator_t
   3654  1.1  mrg xcb_input_key_state_end (xcb_input_key_state_iterator_t i  /**< */)
   3655  1.1  mrg {
   3656  1.1  mrg     xcb_generic_iterator_t ret;
   3657  1.1  mrg     ret.data = i.data + i.rem;
   3658  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3659  1.1  mrg     ret.rem = 0;
   3660  1.1  mrg     return ret;
   3661  1.1  mrg }
   3662  1.1  mrg 
   3663  1.1  mrg void
   3664  1.1  mrg xcb_input_button_state_next (xcb_input_button_state_iterator_t *i  /**< */)
   3665  1.1  mrg {
   3666  1.1  mrg     --i->rem;
   3667  1.1  mrg     ++i->data;
   3668  1.1  mrg     i->index += sizeof(xcb_input_button_state_t);
   3669  1.1  mrg }
   3670  1.1  mrg 
   3671  1.1  mrg xcb_generic_iterator_t
   3672  1.1  mrg xcb_input_button_state_end (xcb_input_button_state_iterator_t i  /**< */)
   3673  1.1  mrg {
   3674  1.1  mrg     xcb_generic_iterator_t ret;
   3675  1.1  mrg     ret.data = i.data + i.rem;
   3676  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3677  1.1  mrg     ret.rem = 0;
   3678  1.1  mrg     return ret;
   3679  1.1  mrg }
   3680  1.1  mrg 
   3681  1.2  mrg int
   3682  1.2  mrg xcb_input_valuator_state_sizeof (const void  *_buffer  /**< */)
   3683  1.2  mrg {
   3684  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3685  1.2  mrg     const xcb_input_valuator_state_t *_aux = (xcb_input_valuator_state_t *)_buffer;
   3686  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3687  1.2  mrg     unsigned int xcb_block_len = 0;
   3688  1.2  mrg     unsigned int xcb_pad = 0;
   3689  1.3  mrg     unsigned int xcb_align_to = 0;
   3690  1.2  mrg 
   3691  1.2  mrg 
   3692  1.2  mrg     xcb_block_len += sizeof(xcb_input_valuator_state_t);
   3693  1.2  mrg     xcb_tmp += xcb_block_len;
   3694  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3695  1.3  mrg     xcb_block_len = 0;
   3696  1.2  mrg     /* valuators */
   3697  1.2  mrg     xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
   3698  1.2  mrg     xcb_tmp += xcb_block_len;
   3699  1.2  mrg     xcb_align_to = ALIGNOF(uint32_t);
   3700  1.2  mrg     /* insert padding */
   3701  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3702  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3703  1.2  mrg     if (0 != xcb_pad) {
   3704  1.2  mrg         xcb_tmp += xcb_pad;
   3705  1.2  mrg         xcb_pad = 0;
   3706  1.2  mrg     }
   3707  1.2  mrg     xcb_block_len = 0;
   3708  1.2  mrg 
   3709  1.2  mrg     return xcb_buffer_len;
   3710  1.2  mrg }
   3711  1.2  mrg 
   3712  1.1  mrg uint32_t *
   3713  1.1  mrg xcb_input_valuator_state_valuators (const xcb_input_valuator_state_t *R  /**< */)
   3714  1.1  mrg {
   3715  1.1  mrg     return (uint32_t *) (R + 1);
   3716  1.1  mrg }
   3717  1.1  mrg 
   3718  1.1  mrg int
   3719  1.1  mrg xcb_input_valuator_state_valuators_length (const xcb_input_valuator_state_t *R  /**< */)
   3720  1.1  mrg {
   3721  1.1  mrg     return R->num_valuators;
   3722  1.1  mrg }
   3723  1.1  mrg 
   3724  1.1  mrg xcb_generic_iterator_t
   3725  1.1  mrg xcb_input_valuator_state_valuators_end (const xcb_input_valuator_state_t *R  /**< */)
   3726  1.1  mrg {
   3727  1.1  mrg     xcb_generic_iterator_t i;
   3728  1.1  mrg     i.data = ((uint32_t *) (R + 1)) + (R->num_valuators);
   3729  1.1  mrg     i.rem = 0;
   3730  1.1  mrg     i.index = (char *) i.data - (char *) R;
   3731  1.1  mrg     return i;
   3732  1.1  mrg }
   3733  1.1  mrg 
   3734  1.1  mrg void
   3735  1.1  mrg xcb_input_valuator_state_next (xcb_input_valuator_state_iterator_t *i  /**< */)
   3736  1.1  mrg {
   3737  1.1  mrg     xcb_input_valuator_state_t *R = i->data;
   3738  1.2  mrg     xcb_generic_iterator_t child;
   3739  1.2  mrg     child.data = (xcb_input_valuator_state_t *)(((char *)R) + xcb_input_valuator_state_sizeof(R));
   3740  1.2  mrg     i->index = (char *) child.data - (char *) i->data;
   3741  1.1  mrg     --i->rem;
   3742  1.1  mrg     i->data = (xcb_input_valuator_state_t *) child.data;
   3743  1.1  mrg }
   3744  1.1  mrg 
   3745  1.1  mrg xcb_generic_iterator_t
   3746  1.1  mrg xcb_input_valuator_state_end (xcb_input_valuator_state_iterator_t i  /**< */)
   3747  1.1  mrg {
   3748  1.1  mrg     xcb_generic_iterator_t ret;
   3749  1.1  mrg     while(i.rem > 0)
   3750  1.1  mrg         xcb_input_valuator_state_next(&i);
   3751  1.1  mrg     ret.data = i.data;
   3752  1.1  mrg     ret.rem = i.rem;
   3753  1.1  mrg     ret.index = i.index;
   3754  1.1  mrg     return ret;
   3755  1.1  mrg }
   3756  1.1  mrg 
   3757  1.2  mrg int
   3758  1.3  mrg xcb_input_input_state_sizeof (const void  *_buffer  /**< */)
   3759  1.2  mrg {
   3760  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3761  1.3  mrg     const xcb_input_input_state_t *_aux = (xcb_input_input_state_t *)_buffer;
   3762  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3763  1.2  mrg     unsigned int xcb_block_len = 0;
   3764  1.2  mrg     unsigned int xcb_pad = 0;
   3765  1.3  mrg     unsigned int xcb_align_to = 0;
   3766  1.2  mrg 
   3767  1.2  mrg 
   3768  1.3  mrg     xcb_block_len += sizeof(xcb_input_input_state_t);
   3769  1.2  mrg     xcb_tmp += xcb_block_len;
   3770  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3771  1.2  mrg     xcb_block_len = 0;
   3772  1.3  mrg     /* uninterpreted_data */
   3773  1.3  mrg     xcb_block_len += (_aux->len - 4) * sizeof(uint8_t);
   3774  1.2  mrg     xcb_tmp += xcb_block_len;
   3775  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   3776  1.2  mrg     /* insert padding */
   3777  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3778  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3779  1.2  mrg     if (0 != xcb_pad) {
   3780  1.2  mrg         xcb_tmp += xcb_pad;
   3781  1.2  mrg         xcb_pad = 0;
   3782  1.2  mrg     }
   3783  1.2  mrg     xcb_block_len = 0;
   3784  1.2  mrg 
   3785  1.2  mrg     return xcb_buffer_len;
   3786  1.2  mrg }
   3787  1.2  mrg 
   3788  1.3  mrg uint8_t *
   3789  1.3  mrg xcb_input_input_state_uninterpreted_data (const xcb_input_input_state_t *R  /**< */)
   3790  1.1  mrg {
   3791  1.3  mrg     return (uint8_t *) (R + 1);
   3792  1.1  mrg }
   3793  1.1  mrg 
   3794  1.3  mrg int
   3795  1.3  mrg xcb_input_input_state_uninterpreted_data_length (const xcb_input_input_state_t *R  /**< */)
   3796  1.3  mrg {
   3797  1.3  mrg     return (R->len - 4);
   3798  1.3  mrg }
   3799  1.3  mrg 
   3800  1.3  mrg xcb_generic_iterator_t
   3801  1.3  mrg xcb_input_input_state_uninterpreted_data_end (const xcb_input_input_state_t *R  /**< */)
   3802  1.1  mrg {
   3803  1.3  mrg     xcb_generic_iterator_t i;
   3804  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + ((R->len - 4));
   3805  1.3  mrg     i.rem = 0;
   3806  1.3  mrg     i.index = (char *) i.data - (char *) R;
   3807  1.3  mrg     return i;
   3808  1.1  mrg }
   3809  1.1  mrg 
   3810  1.3  mrg void
   3811  1.3  mrg xcb_input_input_state_next (xcb_input_input_state_iterator_t *i  /**< */)
   3812  1.1  mrg {
   3813  1.3  mrg     xcb_input_input_state_t *R = i->data;
   3814  1.3  mrg     xcb_generic_iterator_t child;
   3815  1.3  mrg     child.data = (xcb_input_input_state_t *)(((char *)R) + xcb_input_input_state_sizeof(R));
   3816  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   3817  1.3  mrg     --i->rem;
   3818  1.3  mrg     i->data = (xcb_input_input_state_t *) child.data;
   3819  1.1  mrg }
   3820  1.1  mrg 
   3821  1.3  mrg xcb_generic_iterator_t
   3822  1.3  mrg xcb_input_input_state_end (xcb_input_input_state_iterator_t i  /**< */)
   3823  1.1  mrg {
   3824  1.3  mrg     xcb_generic_iterator_t ret;
   3825  1.3  mrg     while(i.rem > 0)
   3826  1.3  mrg         xcb_input_input_state_next(&i);
   3827  1.3  mrg     ret.data = i.data;
   3828  1.3  mrg     ret.rem = i.rem;
   3829  1.3  mrg     ret.index = i.index;
   3830  1.3  mrg     return ret;
   3831  1.1  mrg }
   3832  1.1  mrg 
   3833  1.2  mrg int
   3834  1.3  mrg xcb_input_query_device_state_sizeof (const void  *_buffer  /**< */)
   3835  1.2  mrg {
   3836  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3837  1.3  mrg     const xcb_input_query_device_state_reply_t *_aux = (xcb_input_query_device_state_reply_t *)_buffer;
   3838  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3839  1.2  mrg     unsigned int xcb_block_len = 0;
   3840  1.2  mrg     unsigned int xcb_pad = 0;
   3841  1.3  mrg     unsigned int xcb_align_to = 0;
   3842  1.2  mrg 
   3843  1.3  mrg     unsigned int i;
   3844  1.3  mrg     unsigned int xcb_tmp_len;
   3845  1.2  mrg 
   3846  1.3  mrg     xcb_block_len += sizeof(xcb_input_query_device_state_reply_t);
   3847  1.2  mrg     xcb_tmp += xcb_block_len;
   3848  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3849  1.3  mrg     xcb_block_len = 0;
   3850  1.3  mrg     /* classes */
   3851  1.3  mrg     for(i=0; i<_aux->num_classes; i++) {
   3852  1.3  mrg         xcb_tmp_len = xcb_input_input_state_sizeof(xcb_tmp);
   3853  1.3  mrg         xcb_block_len += xcb_tmp_len;
   3854  1.3  mrg         xcb_tmp += xcb_tmp_len;
   3855  1.3  mrg     }
   3856  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_input_state_t);
   3857  1.2  mrg     /* insert padding */
   3858  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3859  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3860  1.2  mrg     if (0 != xcb_pad) {
   3861  1.2  mrg         xcb_tmp += xcb_pad;
   3862  1.2  mrg         xcb_pad = 0;
   3863  1.2  mrg     }
   3864  1.2  mrg     xcb_block_len = 0;
   3865  1.2  mrg 
   3866  1.2  mrg     return xcb_buffer_len;
   3867  1.2  mrg }
   3868  1.2  mrg 
   3869  1.3  mrg xcb_input_query_device_state_cookie_t
   3870  1.3  mrg xcb_input_query_device_state (xcb_connection_t *c  /**< */,
   3871  1.3  mrg                               uint8_t           device_id  /**< */)
   3872  1.1  mrg {
   3873  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3874  1.3  mrg         /* count */ 2,
   3875  1.1  mrg         /* ext */ &xcb_input_id,
   3876  1.3  mrg         /* opcode */ XCB_INPUT_QUERY_DEVICE_STATE,
   3877  1.1  mrg         /* isvoid */ 0
   3878  1.1  mrg     };
   3879  1.4  mrg 
   3880  1.3  mrg     struct iovec xcb_parts[4];
   3881  1.3  mrg     xcb_input_query_device_state_cookie_t xcb_ret;
   3882  1.3  mrg     xcb_input_query_device_state_request_t xcb_out;
   3883  1.4  mrg 
   3884  1.1  mrg     xcb_out.device_id = device_id;
   3885  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   3886  1.4  mrg 
   3887  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3888  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3889  1.1  mrg     xcb_parts[3].iov_base = 0;
   3890  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3891  1.4  mrg 
   3892  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3893  1.1  mrg     return xcb_ret;
   3894  1.1  mrg }
   3895  1.1  mrg 
   3896  1.3  mrg xcb_input_query_device_state_cookie_t
   3897  1.3  mrg xcb_input_query_device_state_unchecked (xcb_connection_t *c  /**< */,
   3898  1.3  mrg                                         uint8_t           device_id  /**< */)
   3899  1.1  mrg {
   3900  1.1  mrg     static const xcb_protocol_request_t xcb_req = {
   3901  1.3  mrg         /* count */ 2,
   3902  1.1  mrg         /* ext */ &xcb_input_id,
   3903  1.3  mrg         /* opcode */ XCB_INPUT_QUERY_DEVICE_STATE,
   3904  1.1  mrg         /* isvoid */ 0
   3905  1.1  mrg     };
   3906  1.4  mrg 
   3907  1.3  mrg     struct iovec xcb_parts[4];
   3908  1.3  mrg     xcb_input_query_device_state_cookie_t xcb_ret;
   3909  1.3  mrg     xcb_input_query_device_state_request_t xcb_out;
   3910  1.4  mrg 
   3911  1.1  mrg     xcb_out.device_id = device_id;
   3912  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   3913  1.4  mrg 
   3914  1.1  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   3915  1.1  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   3916  1.1  mrg     xcb_parts[3].iov_base = 0;
   3917  1.1  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3918  1.4  mrg 
   3919  1.1  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3920  1.1  mrg     return xcb_ret;
   3921  1.1  mrg }
   3922  1.1  mrg 
   3923  1.3  mrg int
   3924  1.3  mrg xcb_input_query_device_state_classes_length (const xcb_input_query_device_state_reply_t *R  /**< */)
   3925  1.1  mrg {
   3926  1.3  mrg     return R->num_classes;
   3927  1.1  mrg }
   3928  1.1  mrg 
   3929  1.3  mrg xcb_input_input_state_iterator_t
   3930  1.3  mrg xcb_input_query_device_state_classes_iterator (const xcb_input_query_device_state_reply_t *R  /**< */)
   3931  1.1  mrg {
   3932  1.3  mrg     xcb_input_input_state_iterator_t i;
   3933  1.3  mrg     i.data = (xcb_input_input_state_t *) (R + 1);
   3934  1.3  mrg     i.rem = R->num_classes;
   3935  1.3  mrg     i.index = (char *) i.data - (char *) R;
   3936  1.3  mrg     return i;
   3937  1.1  mrg }
   3938  1.1  mrg 
   3939  1.3  mrg xcb_input_query_device_state_reply_t *
   3940  1.3  mrg xcb_input_query_device_state_reply (xcb_connection_t                       *c  /**< */,
   3941  1.3  mrg                                     xcb_input_query_device_state_cookie_t   cookie  /**< */,
   3942  1.1  mrg                                     xcb_generic_error_t                   **e  /**< */)
   3943  1.1  mrg {
   3944  1.3  mrg     return (xcb_input_query_device_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3945  1.1  mrg }
   3946  1.1  mrg 
   3947  1.2  mrg int
   3948  1.3  mrg xcb_input_send_extension_event_sizeof (const void  *_buffer  /**< */)
   3949  1.2  mrg {
   3950  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   3951  1.3  mrg     const xcb_input_send_extension_event_request_t *_aux = (xcb_input_send_extension_event_request_t *)_buffer;
   3952  1.2  mrg     unsigned int xcb_buffer_len = 0;
   3953  1.2  mrg     unsigned int xcb_block_len = 0;
   3954  1.2  mrg     unsigned int xcb_pad = 0;
   3955  1.3  mrg     unsigned int xcb_align_to = 0;
   3956  1.2  mrg 
   3957  1.2  mrg 
   3958  1.3  mrg     xcb_block_len += sizeof(xcb_input_send_extension_event_request_t);
   3959  1.2  mrg     xcb_tmp += xcb_block_len;
   3960  1.3  mrg     xcb_buffer_len += xcb_block_len;
   3961  1.2  mrg     xcb_block_len = 0;
   3962  1.3  mrg     /* events */
   3963  1.3  mrg     xcb_block_len += (_aux->num_events * 32) * sizeof(uint8_t);
   3964  1.2  mrg     xcb_tmp += xcb_block_len;
   3965  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   3966  1.2  mrg     /* insert padding */
   3967  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3968  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3969  1.2  mrg     if (0 != xcb_pad) {
   3970  1.2  mrg         xcb_tmp += xcb_pad;
   3971  1.2  mrg         xcb_pad = 0;
   3972  1.2  mrg     }
   3973  1.2  mrg     xcb_block_len = 0;
   3974  1.3  mrg     /* classes */
   3975  1.3  mrg     xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
   3976  1.2  mrg     xcb_tmp += xcb_block_len;
   3977  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_class_t);
   3978  1.2  mrg     /* insert padding */
   3979  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3980  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   3981  1.2  mrg     if (0 != xcb_pad) {
   3982  1.2  mrg         xcb_tmp += xcb_pad;
   3983  1.2  mrg         xcb_pad = 0;
   3984  1.2  mrg     }
   3985  1.2  mrg     xcb_block_len = 0;
   3986  1.2  mrg 
   3987  1.2  mrg     return xcb_buffer_len;
   3988  1.2  mrg }
   3989  1.2  mrg 
   3990  1.3  mrg xcb_void_cookie_t
   3991  1.3  mrg xcb_input_send_extension_event_checked (xcb_connection_t              *c  /**< */,
   3992  1.3  mrg                                         xcb_window_t                   destination  /**< */,
   3993  1.3  mrg                                         uint8_t                        device_id  /**< */,
   3994  1.3  mrg                                         uint8_t                        propagate  /**< */,
   3995  1.3  mrg                                         uint16_t                       num_classes  /**< */,
   3996  1.3  mrg                                         uint8_t                        num_events  /**< */,
   3997  1.3  mrg                                         const uint8_t                 *events  /**< */,
   3998  1.3  mrg                                         const xcb_input_event_class_t *classes  /**< */)
   3999  1.1  mrg {
   4000  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4001  1.3  mrg         /* count */ 6,
   4002  1.3  mrg         /* ext */ &xcb_input_id,
   4003  1.3  mrg         /* opcode */ XCB_INPUT_SEND_EXTENSION_EVENT,
   4004  1.3  mrg         /* isvoid */ 1
   4005  1.3  mrg     };
   4006  1.4  mrg 
   4007  1.3  mrg     struct iovec xcb_parts[8];
   4008  1.3  mrg     xcb_void_cookie_t xcb_ret;
   4009  1.3  mrg     xcb_input_send_extension_event_request_t xcb_out;
   4010  1.4  mrg 
   4011  1.3  mrg     xcb_out.destination = destination;
   4012  1.3  mrg     xcb_out.device_id = device_id;
   4013  1.3  mrg     xcb_out.propagate = propagate;
   4014  1.3  mrg     xcb_out.num_classes = num_classes;
   4015  1.3  mrg     xcb_out.num_events = num_events;
   4016  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   4017  1.4  mrg 
   4018  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4019  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4020  1.3  mrg     xcb_parts[3].iov_base = 0;
   4021  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4022  1.3  mrg     /* uint8_t events */
   4023  1.3  mrg     xcb_parts[4].iov_base = (char *) events;
   4024  1.3  mrg     xcb_parts[4].iov_len = (num_events * 32) * sizeof(uint8_t);
   4025  1.3  mrg     xcb_parts[5].iov_base = 0;
   4026  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   4027  1.3  mrg     /* xcb_input_event_class_t classes */
   4028  1.3  mrg     xcb_parts[6].iov_base = (char *) classes;
   4029  1.3  mrg     xcb_parts[6].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   4030  1.3  mrg     xcb_parts[7].iov_base = 0;
   4031  1.3  mrg     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   4032  1.4  mrg 
   4033  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4034  1.3  mrg     return xcb_ret;
   4035  1.1  mrg }
   4036  1.1  mrg 
   4037  1.3  mrg xcb_void_cookie_t
   4038  1.3  mrg xcb_input_send_extension_event (xcb_connection_t              *c  /**< */,
   4039  1.3  mrg                                 xcb_window_t                   destination  /**< */,
   4040  1.3  mrg                                 uint8_t                        device_id  /**< */,
   4041  1.3  mrg                                 uint8_t                        propagate  /**< */,
   4042  1.3  mrg                                 uint16_t                       num_classes  /**< */,
   4043  1.3  mrg                                 uint8_t                        num_events  /**< */,
   4044  1.3  mrg                                 const uint8_t                 *events  /**< */,
   4045  1.3  mrg                                 const xcb_input_event_class_t *classes  /**< */)
   4046  1.1  mrg {
   4047  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4048  1.3  mrg         /* count */ 6,
   4049  1.3  mrg         /* ext */ &xcb_input_id,
   4050  1.3  mrg         /* opcode */ XCB_INPUT_SEND_EXTENSION_EVENT,
   4051  1.3  mrg         /* isvoid */ 1
   4052  1.3  mrg     };
   4053  1.4  mrg 
   4054  1.3  mrg     struct iovec xcb_parts[8];
   4055  1.3  mrg     xcb_void_cookie_t xcb_ret;
   4056  1.3  mrg     xcb_input_send_extension_event_request_t xcb_out;
   4057  1.4  mrg 
   4058  1.3  mrg     xcb_out.destination = destination;
   4059  1.3  mrg     xcb_out.device_id = device_id;
   4060  1.3  mrg     xcb_out.propagate = propagate;
   4061  1.3  mrg     xcb_out.num_classes = num_classes;
   4062  1.3  mrg     xcb_out.num_events = num_events;
   4063  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   4064  1.4  mrg 
   4065  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4066  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4067  1.3  mrg     xcb_parts[3].iov_base = 0;
   4068  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4069  1.3  mrg     /* uint8_t events */
   4070  1.3  mrg     xcb_parts[4].iov_base = (char *) events;
   4071  1.3  mrg     xcb_parts[4].iov_len = (num_events * 32) * sizeof(uint8_t);
   4072  1.3  mrg     xcb_parts[5].iov_base = 0;
   4073  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   4074  1.3  mrg     /* xcb_input_event_class_t classes */
   4075  1.3  mrg     xcb_parts[6].iov_base = (char *) classes;
   4076  1.3  mrg     xcb_parts[6].iov_len = num_classes * sizeof(xcb_input_event_class_t);
   4077  1.3  mrg     xcb_parts[7].iov_base = 0;
   4078  1.3  mrg     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   4079  1.4  mrg 
   4080  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4081  1.3  mrg     return xcb_ret;
   4082  1.1  mrg }
   4083  1.1  mrg 
   4084  1.3  mrg xcb_void_cookie_t
   4085  1.3  mrg xcb_input_device_bell_checked (xcb_connection_t *c  /**< */,
   4086  1.3  mrg                                uint8_t           device_id  /**< */,
   4087  1.3  mrg                                uint8_t           feedback_id  /**< */,
   4088  1.3  mrg                                uint8_t           feedback_class  /**< */,
   4089  1.3  mrg                                int8_t            percent  /**< */)
   4090  1.1  mrg {
   4091  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4092  1.3  mrg         /* count */ 2,
   4093  1.3  mrg         /* ext */ &xcb_input_id,
   4094  1.3  mrg         /* opcode */ XCB_INPUT_DEVICE_BELL,
   4095  1.3  mrg         /* isvoid */ 1
   4096  1.3  mrg     };
   4097  1.4  mrg 
   4098  1.3  mrg     struct iovec xcb_parts[4];
   4099  1.3  mrg     xcb_void_cookie_t xcb_ret;
   4100  1.3  mrg     xcb_input_device_bell_request_t xcb_out;
   4101  1.4  mrg 
   4102  1.3  mrg     xcb_out.device_id = device_id;
   4103  1.3  mrg     xcb_out.feedback_id = feedback_id;
   4104  1.3  mrg     xcb_out.feedback_class = feedback_class;
   4105  1.3  mrg     xcb_out.percent = percent;
   4106  1.4  mrg 
   4107  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4108  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4109  1.3  mrg     xcb_parts[3].iov_base = 0;
   4110  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4111  1.4  mrg 
   4112  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4113  1.3  mrg     return xcb_ret;
   4114  1.1  mrg }
   4115  1.1  mrg 
   4116  1.3  mrg xcb_void_cookie_t
   4117  1.3  mrg xcb_input_device_bell (xcb_connection_t *c  /**< */,
   4118  1.3  mrg                        uint8_t           device_id  /**< */,
   4119  1.3  mrg                        uint8_t           feedback_id  /**< */,
   4120  1.3  mrg                        uint8_t           feedback_class  /**< */,
   4121  1.3  mrg                        int8_t            percent  /**< */)
   4122  1.1  mrg {
   4123  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4124  1.3  mrg         /* count */ 2,
   4125  1.3  mrg         /* ext */ &xcb_input_id,
   4126  1.3  mrg         /* opcode */ XCB_INPUT_DEVICE_BELL,
   4127  1.3  mrg         /* isvoid */ 1
   4128  1.3  mrg     };
   4129  1.4  mrg 
   4130  1.3  mrg     struct iovec xcb_parts[4];
   4131  1.3  mrg     xcb_void_cookie_t xcb_ret;
   4132  1.3  mrg     xcb_input_device_bell_request_t xcb_out;
   4133  1.4  mrg 
   4134  1.3  mrg     xcb_out.device_id = device_id;
   4135  1.3  mrg     xcb_out.feedback_id = feedback_id;
   4136  1.3  mrg     xcb_out.feedback_class = feedback_class;
   4137  1.3  mrg     xcb_out.percent = percent;
   4138  1.4  mrg 
   4139  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4140  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4141  1.3  mrg     xcb_parts[3].iov_base = 0;
   4142  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4143  1.4  mrg 
   4144  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4145  1.3  mrg     return xcb_ret;
   4146  1.1  mrg }
   4147  1.1  mrg 
   4148  1.1  mrg int
   4149  1.3  mrg xcb_input_set_device_valuators_sizeof (const void  *_buffer  /**< */)
   4150  1.1  mrg {
   4151  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4152  1.3  mrg     const xcb_input_set_device_valuators_request_t *_aux = (xcb_input_set_device_valuators_request_t *)_buffer;
   4153  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4154  1.3  mrg     unsigned int xcb_block_len = 0;
   4155  1.3  mrg     unsigned int xcb_pad = 0;
   4156  1.3  mrg     unsigned int xcb_align_to = 0;
   4157  1.3  mrg 
   4158  1.3  mrg 
   4159  1.3  mrg     xcb_block_len += sizeof(xcb_input_set_device_valuators_request_t);
   4160  1.3  mrg     xcb_tmp += xcb_block_len;
   4161  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4162  1.3  mrg     xcb_block_len = 0;
   4163  1.3  mrg     /* valuators */
   4164  1.3  mrg     xcb_block_len += _aux->num_valuators * sizeof(int32_t);
   4165  1.3  mrg     xcb_tmp += xcb_block_len;
   4166  1.3  mrg     xcb_align_to = ALIGNOF(int32_t);
   4167  1.3  mrg     /* insert padding */
   4168  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4169  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4170  1.3  mrg     if (0 != xcb_pad) {
   4171  1.3  mrg         xcb_tmp += xcb_pad;
   4172  1.3  mrg         xcb_pad = 0;
   4173  1.3  mrg     }
   4174  1.3  mrg     xcb_block_len = 0;
   4175  1.3  mrg 
   4176  1.3  mrg     return xcb_buffer_len;
   4177  1.1  mrg }
   4178  1.1  mrg 
   4179  1.3  mrg xcb_input_set_device_valuators_cookie_t
   4180  1.3  mrg xcb_input_set_device_valuators (xcb_connection_t *c  /**< */,
   4181  1.3  mrg                                 uint8_t           device_id  /**< */,
   4182  1.3  mrg                                 uint8_t           first_valuator  /**< */,
   4183  1.3  mrg                                 uint8_t           num_valuators  /**< */,
   4184  1.3  mrg                                 const int32_t    *valuators  /**< */)
   4185  1.1  mrg {
   4186  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4187  1.3  mrg         /* count */ 4,
   4188  1.3  mrg         /* ext */ &xcb_input_id,
   4189  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_VALUATORS,
   4190  1.3  mrg         /* isvoid */ 0
   4191  1.3  mrg     };
   4192  1.4  mrg 
   4193  1.3  mrg     struct iovec xcb_parts[6];
   4194  1.3  mrg     xcb_input_set_device_valuators_cookie_t xcb_ret;
   4195  1.3  mrg     xcb_input_set_device_valuators_request_t xcb_out;
   4196  1.4  mrg 
   4197  1.3  mrg     xcb_out.device_id = device_id;
   4198  1.3  mrg     xcb_out.first_valuator = first_valuator;
   4199  1.3  mrg     xcb_out.num_valuators = num_valuators;
   4200  1.3  mrg     xcb_out.pad0 = 0;
   4201  1.4  mrg 
   4202  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4203  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4204  1.3  mrg     xcb_parts[3].iov_base = 0;
   4205  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4206  1.3  mrg     /* int32_t valuators */
   4207  1.3  mrg     xcb_parts[4].iov_base = (char *) valuators;
   4208  1.3  mrg     xcb_parts[4].iov_len = num_valuators * sizeof(int32_t);
   4209  1.3  mrg     xcb_parts[5].iov_base = 0;
   4210  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   4211  1.4  mrg 
   4212  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4213  1.3  mrg     return xcb_ret;
   4214  1.1  mrg }
   4215  1.1  mrg 
   4216  1.3  mrg xcb_input_set_device_valuators_cookie_t
   4217  1.3  mrg xcb_input_set_device_valuators_unchecked (xcb_connection_t *c  /**< */,
   4218  1.3  mrg                                           uint8_t           device_id  /**< */,
   4219  1.3  mrg                                           uint8_t           first_valuator  /**< */,
   4220  1.3  mrg                                           uint8_t           num_valuators  /**< */,
   4221  1.3  mrg                                           const int32_t    *valuators  /**< */)
   4222  1.1  mrg {
   4223  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4224  1.3  mrg         /* count */ 4,
   4225  1.3  mrg         /* ext */ &xcb_input_id,
   4226  1.3  mrg         /* opcode */ XCB_INPUT_SET_DEVICE_VALUATORS,
   4227  1.3  mrg         /* isvoid */ 0
   4228  1.3  mrg     };
   4229  1.4  mrg 
   4230  1.3  mrg     struct iovec xcb_parts[6];
   4231  1.3  mrg     xcb_input_set_device_valuators_cookie_t xcb_ret;
   4232  1.3  mrg     xcb_input_set_device_valuators_request_t xcb_out;
   4233  1.4  mrg 
   4234  1.3  mrg     xcb_out.device_id = device_id;
   4235  1.3  mrg     xcb_out.first_valuator = first_valuator;
   4236  1.3  mrg     xcb_out.num_valuators = num_valuators;
   4237  1.3  mrg     xcb_out.pad0 = 0;
   4238  1.4  mrg 
   4239  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4240  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4241  1.3  mrg     xcb_parts[3].iov_base = 0;
   4242  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4243  1.3  mrg     /* int32_t valuators */
   4244  1.3  mrg     xcb_parts[4].iov_base = (char *) valuators;
   4245  1.3  mrg     xcb_parts[4].iov_len = num_valuators * sizeof(int32_t);
   4246  1.3  mrg     xcb_parts[5].iov_base = 0;
   4247  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   4248  1.4  mrg 
   4249  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4250  1.3  mrg     return xcb_ret;
   4251  1.1  mrg }
   4252  1.1  mrg 
   4253  1.3  mrg xcb_input_set_device_valuators_reply_t *
   4254  1.3  mrg xcb_input_set_device_valuators_reply (xcb_connection_t                         *c  /**< */,
   4255  1.3  mrg                                       xcb_input_set_device_valuators_cookie_t   cookie  /**< */,
   4256  1.3  mrg                                       xcb_generic_error_t                     **e  /**< */)
   4257  1.3  mrg {
   4258  1.3  mrg     return (xcb_input_set_device_valuators_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   4259  1.3  mrg }
   4260  1.3  mrg 
   4261  1.1  mrg int
   4262  1.3  mrg xcb_input_device_resolution_state_sizeof (const void  *_buffer  /**< */)
   4263  1.1  mrg {
   4264  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4265  1.3  mrg     const xcb_input_device_resolution_state_t *_aux = (xcb_input_device_resolution_state_t *)_buffer;
   4266  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4267  1.3  mrg     unsigned int xcb_block_len = 0;
   4268  1.3  mrg     unsigned int xcb_pad = 0;
   4269  1.3  mrg     unsigned int xcb_align_to = 0;
   4270  1.3  mrg 
   4271  1.3  mrg 
   4272  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_resolution_state_t);
   4273  1.3  mrg     xcb_tmp += xcb_block_len;
   4274  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4275  1.3  mrg     xcb_block_len = 0;
   4276  1.3  mrg     /* resolution_values */
   4277  1.3  mrg     xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
   4278  1.3  mrg     xcb_tmp += xcb_block_len;
   4279  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   4280  1.3  mrg     /* insert padding */
   4281  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4282  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4283  1.3  mrg     if (0 != xcb_pad) {
   4284  1.3  mrg         xcb_tmp += xcb_pad;
   4285  1.3  mrg         xcb_pad = 0;
   4286  1.3  mrg     }
   4287  1.3  mrg     xcb_block_len = 0;
   4288  1.3  mrg     /* resolution_min */
   4289  1.3  mrg     xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
   4290  1.3  mrg     xcb_tmp += xcb_block_len;
   4291  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   4292  1.3  mrg     /* insert padding */
   4293  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4294  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4295  1.3  mrg     if (0 != xcb_pad) {
   4296  1.3  mrg         xcb_tmp += xcb_pad;
   4297  1.3  mrg         xcb_pad = 0;
   4298  1.3  mrg     }
   4299  1.3  mrg     xcb_block_len = 0;
   4300  1.3  mrg     /* resolution_max */
   4301  1.3  mrg     xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
   4302  1.3  mrg     xcb_tmp += xcb_block_len;
   4303  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   4304  1.3  mrg     /* insert padding */
   4305  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4306  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4307  1.3  mrg     if (0 != xcb_pad) {
   4308  1.3  mrg         xcb_tmp += xcb_pad;
   4309  1.3  mrg         xcb_pad = 0;
   4310  1.3  mrg     }
   4311  1.3  mrg     xcb_block_len = 0;
   4312  1.3  mrg 
   4313  1.3  mrg     return xcb_buffer_len;
   4314  1.3  mrg }
   4315  1.3  mrg 
   4316  1.3  mrg uint32_t *
   4317  1.3  mrg xcb_input_device_resolution_state_resolution_values (const xcb_input_device_resolution_state_t *R  /**< */)
   4318  1.3  mrg {
   4319  1.3  mrg     return (uint32_t *) (R + 1);
   4320  1.3  mrg }
   4321  1.3  mrg 
   4322  1.3  mrg int
   4323  1.3  mrg xcb_input_device_resolution_state_resolution_values_length (const xcb_input_device_resolution_state_t *R  /**< */)
   4324  1.3  mrg {
   4325  1.3  mrg     return R->num_valuators;
   4326  1.3  mrg }
   4327  1.3  mrg 
   4328  1.3  mrg xcb_generic_iterator_t
   4329  1.3  mrg xcb_input_device_resolution_state_resolution_values_end (const xcb_input_device_resolution_state_t *R  /**< */)
   4330  1.3  mrg {
   4331  1.3  mrg     xcb_generic_iterator_t i;
   4332  1.3  mrg     i.data = ((uint32_t *) (R + 1)) + (R->num_valuators);
   4333  1.3  mrg     i.rem = 0;
   4334  1.3  mrg     i.index = (char *) i.data - (char *) R;
   4335  1.3  mrg     return i;
   4336  1.3  mrg }
   4337  1.3  mrg 
   4338  1.3  mrg uint32_t *
   4339  1.3  mrg xcb_input_device_resolution_state_resolution_min (const xcb_input_device_resolution_state_t *R  /**< */)
   4340  1.3  mrg {
   4341  1.3  mrg     xcb_generic_iterator_t prev = xcb_input_device_resolution_state_resolution_values_end(R);
   4342  1.3  mrg     return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
   4343  1.3  mrg }
   4344  1.3  mrg 
   4345  1.3  mrg int
   4346  1.3  mrg xcb_input_device_resolution_state_resolution_min_length (const xcb_input_device_resolution_state_t *R  /**< */)
   4347  1.3  mrg {
   4348  1.3  mrg     return R->num_valuators;
   4349  1.3  mrg }
   4350  1.3  mrg 
   4351  1.3  mrg xcb_generic_iterator_t
   4352  1.3  mrg xcb_input_device_resolution_state_resolution_min_end (const xcb_input_device_resolution_state_t *R  /**< */)
   4353  1.3  mrg {
   4354  1.3  mrg     xcb_generic_iterator_t i;
   4355  1.3  mrg     xcb_generic_iterator_t child = xcb_input_device_resolution_state_resolution_values_end(R);
   4356  1.3  mrg     i.data = ((uint32_t *) child.data) + (R->num_valuators);
   4357  1.3  mrg     i.rem = 0;
   4358  1.3  mrg     i.index = (char *) i.data - (char *) R;
   4359  1.3  mrg     return i;
   4360  1.3  mrg }
   4361  1.3  mrg 
   4362  1.3  mrg uint32_t *
   4363  1.3  mrg xcb_input_device_resolution_state_resolution_max (const xcb_input_device_resolution_state_t *R  /**< */)
   4364  1.3  mrg {
   4365  1.3  mrg     xcb_generic_iterator_t prev = xcb_input_device_resolution_state_resolution_min_end(R);
   4366  1.3  mrg     return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
   4367  1.3  mrg }
   4368  1.3  mrg 
   4369  1.3  mrg int
   4370  1.3  mrg xcb_input_device_resolution_state_resolution_max_length (const xcb_input_device_resolution_state_t *R  /**< */)
   4371  1.3  mrg {
   4372  1.3  mrg     return R->num_valuators;
   4373  1.3  mrg }
   4374  1.1  mrg 
   4375  1.1  mrg xcb_generic_iterator_t
   4376  1.1  mrg xcb_input_device_resolution_state_resolution_max_end (const xcb_input_device_resolution_state_t *R  /**< */)
   4377  1.1  mrg {
   4378  1.1  mrg     xcb_generic_iterator_t i;
   4379  1.1  mrg     xcb_generic_iterator_t child = xcb_input_device_resolution_state_resolution_min_end(R);
   4380  1.1  mrg     i.data = ((uint32_t *) child.data) + (R->num_valuators);
   4381  1.1  mrg     i.rem = 0;
   4382  1.1  mrg     i.index = (char *) i.data - (char *) R;
   4383  1.1  mrg     return i;
   4384  1.1  mrg }
   4385  1.1  mrg 
   4386  1.1  mrg void
   4387  1.1  mrg xcb_input_device_resolution_state_next (xcb_input_device_resolution_state_iterator_t *i  /**< */)
   4388  1.1  mrg {
   4389  1.1  mrg     xcb_input_device_resolution_state_t *R = i->data;
   4390  1.2  mrg     xcb_generic_iterator_t child;
   4391  1.2  mrg     child.data = (xcb_input_device_resolution_state_t *)(((char *)R) + xcb_input_device_resolution_state_sizeof(R));
   4392  1.2  mrg     i->index = (char *) child.data - (char *) i->data;
   4393  1.1  mrg     --i->rem;
   4394  1.1  mrg     i->data = (xcb_input_device_resolution_state_t *) child.data;
   4395  1.1  mrg }
   4396  1.1  mrg 
   4397  1.1  mrg xcb_generic_iterator_t
   4398  1.1  mrg xcb_input_device_resolution_state_end (xcb_input_device_resolution_state_iterator_t i  /**< */)
   4399  1.1  mrg {
   4400  1.1  mrg     xcb_generic_iterator_t ret;
   4401  1.1  mrg     while(i.rem > 0)
   4402  1.1  mrg         xcb_input_device_resolution_state_next(&i);
   4403  1.1  mrg     ret.data = i.data;
   4404  1.1  mrg     ret.rem = i.rem;
   4405  1.1  mrg     ret.index = i.index;
   4406  1.1  mrg     return ret;
   4407  1.1  mrg }
   4408  1.1  mrg 
   4409  1.1  mrg void
   4410  1.1  mrg xcb_input_device_abs_calib_state_next (xcb_input_device_abs_calib_state_iterator_t *i  /**< */)
   4411  1.1  mrg {
   4412  1.1  mrg     --i->rem;
   4413  1.1  mrg     ++i->data;
   4414  1.1  mrg     i->index += sizeof(xcb_input_device_abs_calib_state_t);
   4415  1.1  mrg }
   4416  1.1  mrg 
   4417  1.1  mrg xcb_generic_iterator_t
   4418  1.1  mrg xcb_input_device_abs_calib_state_end (xcb_input_device_abs_calib_state_iterator_t i  /**< */)
   4419  1.1  mrg {
   4420  1.1  mrg     xcb_generic_iterator_t ret;
   4421  1.1  mrg     ret.data = i.data + i.rem;
   4422  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4423  1.1  mrg     ret.rem = 0;
   4424  1.1  mrg     return ret;
   4425  1.1  mrg }
   4426  1.1  mrg 
   4427  1.1  mrg void
   4428  1.1  mrg xcb_input_device_abs_area_state_next (xcb_input_device_abs_area_state_iterator_t *i  /**< */)
   4429  1.1  mrg {
   4430  1.1  mrg     --i->rem;
   4431  1.1  mrg     ++i->data;
   4432  1.1  mrg     i->index += sizeof(xcb_input_device_abs_area_state_t);
   4433  1.1  mrg }
   4434  1.1  mrg 
   4435  1.1  mrg xcb_generic_iterator_t
   4436  1.1  mrg xcb_input_device_abs_area_state_end (xcb_input_device_abs_area_state_iterator_t i  /**< */)
   4437  1.1  mrg {
   4438  1.1  mrg     xcb_generic_iterator_t ret;
   4439  1.1  mrg     ret.data = i.data + i.rem;
   4440  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4441  1.1  mrg     ret.rem = 0;
   4442  1.1  mrg     return ret;
   4443  1.1  mrg }
   4444  1.1  mrg 
   4445  1.1  mrg void
   4446  1.1  mrg xcb_input_device_core_state_next (xcb_input_device_core_state_iterator_t *i  /**< */)
   4447  1.1  mrg {
   4448  1.1  mrg     --i->rem;
   4449  1.1  mrg     ++i->data;
   4450  1.1  mrg     i->index += sizeof(xcb_input_device_core_state_t);
   4451  1.1  mrg }
   4452  1.1  mrg 
   4453  1.1  mrg xcb_generic_iterator_t
   4454  1.1  mrg xcb_input_device_core_state_end (xcb_input_device_core_state_iterator_t i  /**< */)
   4455  1.1  mrg {
   4456  1.1  mrg     xcb_generic_iterator_t ret;
   4457  1.1  mrg     ret.data = i.data + i.rem;
   4458  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4459  1.1  mrg     ret.rem = 0;
   4460  1.1  mrg     return ret;
   4461  1.1  mrg }
   4462  1.1  mrg 
   4463  1.1  mrg void
   4464  1.1  mrg xcb_input_device_enable_state_next (xcb_input_device_enable_state_iterator_t *i  /**< */)
   4465  1.1  mrg {
   4466  1.1  mrg     --i->rem;
   4467  1.1  mrg     ++i->data;
   4468  1.1  mrg     i->index += sizeof(xcb_input_device_enable_state_t);
   4469  1.1  mrg }
   4470  1.1  mrg 
   4471  1.1  mrg xcb_generic_iterator_t
   4472  1.1  mrg xcb_input_device_enable_state_end (xcb_input_device_enable_state_iterator_t i  /**< */)
   4473  1.1  mrg {
   4474  1.1  mrg     xcb_generic_iterator_t ret;
   4475  1.1  mrg     ret.data = i.data + i.rem;
   4476  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4477  1.1  mrg     ret.rem = 0;
   4478  1.1  mrg     return ret;
   4479  1.1  mrg }
   4480  1.1  mrg 
   4481  1.2  mrg int
   4482  1.3  mrg xcb_input_device_state_sizeof (const void  *_buffer  /**< */)
   4483  1.2  mrg {
   4484  1.2  mrg     char *xcb_tmp = (char *)_buffer;
   4485  1.3  mrg     const xcb_input_device_state_t *_aux = (xcb_input_device_state_t *)_buffer;
   4486  1.2  mrg     unsigned int xcb_buffer_len = 0;
   4487  1.2  mrg     unsigned int xcb_block_len = 0;
   4488  1.2  mrg     unsigned int xcb_pad = 0;
   4489  1.3  mrg     unsigned int xcb_align_to = 0;
   4490  1.2  mrg 
   4491  1.2  mrg 
   4492  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_state_t);
   4493  1.2  mrg     xcb_tmp += xcb_block_len;
   4494  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4495  1.3  mrg     xcb_block_len = 0;
   4496  1.3  mrg     /* uninterpreted_data */
   4497  1.3  mrg     xcb_block_len += (_aux->len - 4) * sizeof(uint8_t);
   4498  1.2  mrg     xcb_tmp += xcb_block_len;
   4499  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   4500  1.2  mrg     /* insert padding */
   4501  1.2  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4502  1.2  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4503  1.2  mrg     if (0 != xcb_pad) {
   4504  1.2  mrg         xcb_tmp += xcb_pad;
   4505  1.2  mrg         xcb_pad = 0;
   4506  1.2  mrg     }
   4507  1.2  mrg     xcb_block_len = 0;
   4508  1.2  mrg 
   4509  1.2  mrg     return xcb_buffer_len;
   4510  1.2  mrg }
   4511  1.2  mrg 
   4512  1.3  mrg uint8_t *
   4513  1.3  mrg xcb_input_device_state_uninterpreted_data (const xcb_input_device_state_t *R  /**< */)
   4514  1.1  mrg {
   4515  1.3  mrg     return (uint8_t *) (R + 1);
   4516  1.1  mrg }
   4517  1.1  mrg 
   4518  1.1  mrg int
   4519  1.3  mrg xcb_input_device_state_uninterpreted_data_length (const xcb_input_device_state_t *R  /**< */)
   4520  1.1  mrg {
   4521  1.3  mrg     return (R->len - 4);
   4522  1.1  mrg }
   4523  1.1  mrg 
   4524  1.1  mrg xcb_generic_iterator_t
   4525  1.3  mrg xcb_input_device_state_uninterpreted_data_end (const xcb_input_device_state_t *R  /**< */)
   4526  1.1  mrg {
   4527  1.1  mrg     xcb_generic_iterator_t i;
   4528  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + ((R->len - 4));
   4529  1.1  mrg     i.rem = 0;
   4530  1.1  mrg     i.index = (char *) i.data - (char *) R;
   4531  1.1  mrg     return i;
   4532  1.1  mrg }
   4533  1.1  mrg 
   4534  1.1  mrg void
   4535  1.3  mrg xcb_input_device_state_next (xcb_input_device_state_iterator_t *i  /**< */)
   4536  1.1  mrg {
   4537  1.3  mrg     xcb_input_device_state_t *R = i->data;
   4538  1.2  mrg     xcb_generic_iterator_t child;
   4539  1.3  mrg     child.data = (xcb_input_device_state_t *)(((char *)R) + xcb_input_device_state_sizeof(R));
   4540  1.2  mrg     i->index = (char *) child.data - (char *) i->data;
   4541  1.1  mrg     --i->rem;
   4542  1.3  mrg     i->data = (xcb_input_device_state_t *) child.data;
   4543  1.1  mrg }
   4544  1.1  mrg 
   4545  1.1  mrg xcb_generic_iterator_t
   4546  1.3  mrg xcb_input_device_state_end (xcb_input_device_state_iterator_t i  /**< */)
   4547  1.1  mrg {
   4548  1.1  mrg     xcb_generic_iterator_t ret;
   4549  1.1  mrg     while(i.rem > 0)
   4550  1.3  mrg         xcb_input_device_state_next(&i);
   4551  1.1  mrg     ret.data = i.data;
   4552  1.1  mrg     ret.rem = i.rem;
   4553  1.1  mrg     ret.index = i.index;
   4554  1.1  mrg     return ret;
   4555  1.1  mrg }
   4556  1.1  mrg 
   4557  1.3  mrg int
   4558  1.3  mrg xcb_input_get_device_control_sizeof (const void  *_buffer  /**< */)
   4559  1.3  mrg {
   4560  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4561  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4562  1.3  mrg     unsigned int xcb_block_len = 0;
   4563  1.3  mrg     unsigned int xcb_pad = 0;
   4564  1.3  mrg     unsigned int xcb_align_to = 0;
   4565  1.3  mrg 
   4566  1.3  mrg 
   4567  1.3  mrg     xcb_block_len += sizeof(xcb_input_get_device_control_reply_t);
   4568  1.3  mrg     xcb_tmp += xcb_block_len;
   4569  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4570  1.3  mrg     xcb_block_len = 0;
   4571  1.3  mrg     /* control */
   4572  1.3  mrg     xcb_block_len += xcb_input_device_state_sizeof(xcb_tmp);
   4573  1.3  mrg     xcb_tmp += xcb_block_len;
   4574  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_device_state_t);
   4575  1.3  mrg     /* insert padding */
   4576  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4577  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4578  1.3  mrg     if (0 != xcb_pad) {
   4579  1.3  mrg         xcb_tmp += xcb_pad;
   4580  1.3  mrg         xcb_pad = 0;
   4581  1.3  mrg     }
   4582  1.3  mrg     xcb_block_len = 0;
   4583  1.3  mrg 
   4584  1.3  mrg     return xcb_buffer_len;
   4585  1.3  mrg }
   4586  1.3  mrg 
   4587  1.3  mrg xcb_input_get_device_control_cookie_t
   4588  1.3  mrg xcb_input_get_device_control (xcb_connection_t *c  /**< */,
   4589  1.3  mrg                               uint16_t          control_id  /**< */,
   4590  1.3  mrg                               uint8_t           device_id  /**< */)
   4591  1.3  mrg {
   4592  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4593  1.3  mrg         /* count */ 2,
   4594  1.3  mrg         /* ext */ &xcb_input_id,
   4595  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_CONTROL,
   4596  1.3  mrg         /* isvoid */ 0
   4597  1.3  mrg     };
   4598  1.4  mrg 
   4599  1.3  mrg     struct iovec xcb_parts[4];
   4600  1.3  mrg     xcb_input_get_device_control_cookie_t xcb_ret;
   4601  1.3  mrg     xcb_input_get_device_control_request_t xcb_out;
   4602  1.4  mrg 
   4603  1.3  mrg     xcb_out.control_id = control_id;
   4604  1.3  mrg     xcb_out.device_id = device_id;
   4605  1.3  mrg     xcb_out.pad0 = 0;
   4606  1.4  mrg 
   4607  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4608  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4609  1.3  mrg     xcb_parts[3].iov_base = 0;
   4610  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4611  1.4  mrg 
   4612  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4613  1.3  mrg     return xcb_ret;
   4614  1.3  mrg }
   4615  1.3  mrg 
   4616  1.3  mrg xcb_input_get_device_control_cookie_t
   4617  1.3  mrg xcb_input_get_device_control_unchecked (xcb_connection_t *c  /**< */,
   4618  1.3  mrg                                         uint16_t          control_id  /**< */,
   4619  1.3  mrg                                         uint8_t           device_id  /**< */)
   4620  1.3  mrg {
   4621  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4622  1.3  mrg         /* count */ 2,
   4623  1.3  mrg         /* ext */ &xcb_input_id,
   4624  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_CONTROL,
   4625  1.3  mrg         /* isvoid */ 0
   4626  1.3  mrg     };
   4627  1.4  mrg 
   4628  1.3  mrg     struct iovec xcb_parts[4];
   4629  1.3  mrg     xcb_input_get_device_control_cookie_t xcb_ret;
   4630  1.3  mrg     xcb_input_get_device_control_request_t xcb_out;
   4631  1.4  mrg 
   4632  1.3  mrg     xcb_out.control_id = control_id;
   4633  1.3  mrg     xcb_out.device_id = device_id;
   4634  1.3  mrg     xcb_out.pad0 = 0;
   4635  1.4  mrg 
   4636  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4637  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4638  1.3  mrg     xcb_parts[3].iov_base = 0;
   4639  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4640  1.4  mrg 
   4641  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4642  1.3  mrg     return xcb_ret;
   4643  1.3  mrg }
   4644  1.3  mrg 
   4645  1.3  mrg xcb_input_device_state_t *
   4646  1.3  mrg xcb_input_get_device_control_control (const xcb_input_get_device_control_reply_t *R  /**< */)
   4647  1.3  mrg {
   4648  1.3  mrg     return (xcb_input_device_state_t *) (R + 1);
   4649  1.3  mrg }
   4650  1.3  mrg 
   4651  1.3  mrg xcb_input_get_device_control_reply_t *
   4652  1.3  mrg xcb_input_get_device_control_reply (xcb_connection_t                       *c  /**< */,
   4653  1.3  mrg                                     xcb_input_get_device_control_cookie_t   cookie  /**< */,
   4654  1.3  mrg                                     xcb_generic_error_t                   **e  /**< */)
   4655  1.3  mrg {
   4656  1.3  mrg     return (xcb_input_get_device_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   4657  1.3  mrg }
   4658  1.3  mrg 
   4659  1.3  mrg int
   4660  1.3  mrg xcb_input_device_resolution_ctl_sizeof (const void  *_buffer  /**< */)
   4661  1.1  mrg {
   4662  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4663  1.3  mrg     const xcb_input_device_resolution_ctl_t *_aux = (xcb_input_device_resolution_ctl_t *)_buffer;
   4664  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4665  1.3  mrg     unsigned int xcb_block_len = 0;
   4666  1.3  mrg     unsigned int xcb_pad = 0;
   4667  1.3  mrg     unsigned int xcb_align_to = 0;
   4668  1.3  mrg 
   4669  1.3  mrg 
   4670  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_resolution_ctl_t);
   4671  1.3  mrg     xcb_tmp += xcb_block_len;
   4672  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4673  1.3  mrg     xcb_block_len = 0;
   4674  1.3  mrg     /* resolution_values */
   4675  1.3  mrg     xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
   4676  1.3  mrg     xcb_tmp += xcb_block_len;
   4677  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   4678  1.3  mrg     /* insert padding */
   4679  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4680  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4681  1.3  mrg     if (0 != xcb_pad) {
   4682  1.3  mrg         xcb_tmp += xcb_pad;
   4683  1.3  mrg         xcb_pad = 0;
   4684  1.3  mrg     }
   4685  1.3  mrg     xcb_block_len = 0;
   4686  1.3  mrg 
   4687  1.3  mrg     return xcb_buffer_len;
   4688  1.1  mrg }
   4689  1.1  mrg 
   4690  1.3  mrg uint32_t *
   4691  1.3  mrg xcb_input_device_resolution_ctl_resolution_values (const xcb_input_device_resolution_ctl_t *R  /**< */)
   4692  1.1  mrg {
   4693  1.3  mrg     return (uint32_t *) (R + 1);
   4694  1.1  mrg }
   4695  1.1  mrg 
   4696  1.3  mrg int
   4697  1.3  mrg xcb_input_device_resolution_ctl_resolution_values_length (const xcb_input_device_resolution_ctl_t *R  /**< */)
   4698  1.1  mrg {
   4699  1.3  mrg     return R->num_valuators;
   4700  1.1  mrg }
   4701  1.1  mrg 
   4702  1.1  mrg xcb_generic_iterator_t
   4703  1.3  mrg xcb_input_device_resolution_ctl_resolution_values_end (const xcb_input_device_resolution_ctl_t *R  /**< */)
   4704  1.1  mrg {
   4705  1.3  mrg     xcb_generic_iterator_t i;
   4706  1.3  mrg     i.data = ((uint32_t *) (R + 1)) + (R->num_valuators);
   4707  1.3  mrg     i.rem = 0;
   4708  1.3  mrg     i.index = (char *) i.data - (char *) R;
   4709  1.3  mrg     return i;
   4710  1.1  mrg }
   4711  1.1  mrg 
   4712  1.1  mrg void
   4713  1.3  mrg xcb_input_device_resolution_ctl_next (xcb_input_device_resolution_ctl_iterator_t *i  /**< */)
   4714  1.1  mrg {
   4715  1.3  mrg     xcb_input_device_resolution_ctl_t *R = i->data;
   4716  1.3  mrg     xcb_generic_iterator_t child;
   4717  1.3  mrg     child.data = (xcb_input_device_resolution_ctl_t *)(((char *)R) + xcb_input_device_resolution_ctl_sizeof(R));
   4718  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   4719  1.1  mrg     --i->rem;
   4720  1.3  mrg     i->data = (xcb_input_device_resolution_ctl_t *) child.data;
   4721  1.1  mrg }
   4722  1.1  mrg 
   4723  1.1  mrg xcb_generic_iterator_t
   4724  1.3  mrg xcb_input_device_resolution_ctl_end (xcb_input_device_resolution_ctl_iterator_t i  /**< */)
   4725  1.1  mrg {
   4726  1.1  mrg     xcb_generic_iterator_t ret;
   4727  1.3  mrg     while(i.rem > 0)
   4728  1.3  mrg         xcb_input_device_resolution_ctl_next(&i);
   4729  1.3  mrg     ret.data = i.data;
   4730  1.3  mrg     ret.rem = i.rem;
   4731  1.3  mrg     ret.index = i.index;
   4732  1.1  mrg     return ret;
   4733  1.1  mrg }
   4734  1.1  mrg 
   4735  1.1  mrg void
   4736  1.3  mrg xcb_input_device_abs_calib_ctl_next (xcb_input_device_abs_calib_ctl_iterator_t *i  /**< */)
   4737  1.1  mrg {
   4738  1.1  mrg     --i->rem;
   4739  1.1  mrg     ++i->data;
   4740  1.3  mrg     i->index += sizeof(xcb_input_device_abs_calib_ctl_t);
   4741  1.1  mrg }
   4742  1.1  mrg 
   4743  1.1  mrg xcb_generic_iterator_t
   4744  1.3  mrg xcb_input_device_abs_calib_ctl_end (xcb_input_device_abs_calib_ctl_iterator_t i  /**< */)
   4745  1.1  mrg {
   4746  1.1  mrg     xcb_generic_iterator_t ret;
   4747  1.1  mrg     ret.data = i.data + i.rem;
   4748  1.1  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4749  1.1  mrg     ret.rem = 0;
   4750  1.1  mrg     return ret;
   4751  1.1  mrg }
   4752  1.1  mrg 
   4753  1.3  mrg void
   4754  1.3  mrg xcb_input_device_abs_area_ctrl_next (xcb_input_device_abs_area_ctrl_iterator_t *i  /**< */)
   4755  1.3  mrg {
   4756  1.3  mrg     --i->rem;
   4757  1.3  mrg     ++i->data;
   4758  1.3  mrg     i->index += sizeof(xcb_input_device_abs_area_ctrl_t);
   4759  1.3  mrg }
   4760  1.3  mrg 
   4761  1.3  mrg xcb_generic_iterator_t
   4762  1.3  mrg xcb_input_device_abs_area_ctrl_end (xcb_input_device_abs_area_ctrl_iterator_t i  /**< */)
   4763  1.3  mrg {
   4764  1.3  mrg     xcb_generic_iterator_t ret;
   4765  1.3  mrg     ret.data = i.data + i.rem;
   4766  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4767  1.3  mrg     ret.rem = 0;
   4768  1.3  mrg     return ret;
   4769  1.3  mrg }
   4770  1.3  mrg 
   4771  1.3  mrg void
   4772  1.3  mrg xcb_input_device_core_ctrl_next (xcb_input_device_core_ctrl_iterator_t *i  /**< */)
   4773  1.3  mrg {
   4774  1.3  mrg     --i->rem;
   4775  1.3  mrg     ++i->data;
   4776  1.3  mrg     i->index += sizeof(xcb_input_device_core_ctrl_t);
   4777  1.3  mrg }
   4778  1.3  mrg 
   4779  1.3  mrg xcb_generic_iterator_t
   4780  1.3  mrg xcb_input_device_core_ctrl_end (xcb_input_device_core_ctrl_iterator_t i  /**< */)
   4781  1.3  mrg {
   4782  1.3  mrg     xcb_generic_iterator_t ret;
   4783  1.3  mrg     ret.data = i.data + i.rem;
   4784  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4785  1.3  mrg     ret.rem = 0;
   4786  1.3  mrg     return ret;
   4787  1.3  mrg }
   4788  1.3  mrg 
   4789  1.3  mrg void
   4790  1.3  mrg xcb_input_device_enable_ctrl_next (xcb_input_device_enable_ctrl_iterator_t *i  /**< */)
   4791  1.3  mrg {
   4792  1.3  mrg     --i->rem;
   4793  1.3  mrg     ++i->data;
   4794  1.3  mrg     i->index += sizeof(xcb_input_device_enable_ctrl_t);
   4795  1.3  mrg }
   4796  1.3  mrg 
   4797  1.3  mrg xcb_generic_iterator_t
   4798  1.3  mrg xcb_input_device_enable_ctrl_end (xcb_input_device_enable_ctrl_iterator_t i  /**< */)
   4799  1.3  mrg {
   4800  1.3  mrg     xcb_generic_iterator_t ret;
   4801  1.3  mrg     ret.data = i.data + i.rem;
   4802  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   4803  1.3  mrg     ret.rem = 0;
   4804  1.3  mrg     return ret;
   4805  1.3  mrg }
   4806  1.3  mrg 
   4807  1.3  mrg int
   4808  1.3  mrg xcb_input_device_ctl_sizeof (const void  *_buffer  /**< */)
   4809  1.3  mrg {
   4810  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4811  1.3  mrg     const xcb_input_device_ctl_t *_aux = (xcb_input_device_ctl_t *)_buffer;
   4812  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4813  1.3  mrg     unsigned int xcb_block_len = 0;
   4814  1.3  mrg     unsigned int xcb_pad = 0;
   4815  1.3  mrg     unsigned int xcb_align_to = 0;
   4816  1.3  mrg 
   4817  1.3  mrg 
   4818  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_ctl_t);
   4819  1.3  mrg     xcb_tmp += xcb_block_len;
   4820  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4821  1.3  mrg     xcb_block_len = 0;
   4822  1.3  mrg     /* uninterpreted_data */
   4823  1.3  mrg     xcb_block_len += (_aux->len - 4) * sizeof(uint8_t);
   4824  1.3  mrg     xcb_tmp += xcb_block_len;
   4825  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   4826  1.3  mrg     /* insert padding */
   4827  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4828  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4829  1.3  mrg     if (0 != xcb_pad) {
   4830  1.3  mrg         xcb_tmp += xcb_pad;
   4831  1.3  mrg         xcb_pad = 0;
   4832  1.3  mrg     }
   4833  1.3  mrg     xcb_block_len = 0;
   4834  1.3  mrg 
   4835  1.3  mrg     return xcb_buffer_len;
   4836  1.3  mrg }
   4837  1.3  mrg 
   4838  1.3  mrg uint8_t *
   4839  1.3  mrg xcb_input_device_ctl_uninterpreted_data (const xcb_input_device_ctl_t *R  /**< */)
   4840  1.3  mrg {
   4841  1.3  mrg     return (uint8_t *) (R + 1);
   4842  1.3  mrg }
   4843  1.3  mrg 
   4844  1.3  mrg int
   4845  1.3  mrg xcb_input_device_ctl_uninterpreted_data_length (const xcb_input_device_ctl_t *R  /**< */)
   4846  1.3  mrg {
   4847  1.3  mrg     return (R->len - 4);
   4848  1.3  mrg }
   4849  1.3  mrg 
   4850  1.3  mrg xcb_generic_iterator_t
   4851  1.3  mrg xcb_input_device_ctl_uninterpreted_data_end (const xcb_input_device_ctl_t *R  /**< */)
   4852  1.3  mrg {
   4853  1.3  mrg     xcb_generic_iterator_t i;
   4854  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + ((R->len - 4));
   4855  1.3  mrg     i.rem = 0;
   4856  1.3  mrg     i.index = (char *) i.data - (char *) R;
   4857  1.3  mrg     return i;
   4858  1.3  mrg }
   4859  1.3  mrg 
   4860  1.3  mrg void
   4861  1.3  mrg xcb_input_device_ctl_next (xcb_input_device_ctl_iterator_t *i  /**< */)
   4862  1.3  mrg {
   4863  1.3  mrg     xcb_input_device_ctl_t *R = i->data;
   4864  1.3  mrg     xcb_generic_iterator_t child;
   4865  1.3  mrg     child.data = (xcb_input_device_ctl_t *)(((char *)R) + xcb_input_device_ctl_sizeof(R));
   4866  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   4867  1.3  mrg     --i->rem;
   4868  1.3  mrg     i->data = (xcb_input_device_ctl_t *) child.data;
   4869  1.3  mrg }
   4870  1.3  mrg 
   4871  1.3  mrg xcb_generic_iterator_t
   4872  1.3  mrg xcb_input_device_ctl_end (xcb_input_device_ctl_iterator_t i  /**< */)
   4873  1.3  mrg {
   4874  1.3  mrg     xcb_generic_iterator_t ret;
   4875  1.3  mrg     while(i.rem > 0)
   4876  1.3  mrg         xcb_input_device_ctl_next(&i);
   4877  1.3  mrg     ret.data = i.data;
   4878  1.3  mrg     ret.rem = i.rem;
   4879  1.3  mrg     ret.index = i.index;
   4880  1.3  mrg     return ret;
   4881  1.3  mrg }
   4882  1.3  mrg 
   4883  1.3  mrg int
   4884  1.3  mrg xcb_input_change_device_control_sizeof (const void  *_buffer  /**< */)
   4885  1.3  mrg {
   4886  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4887  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4888  1.3  mrg     unsigned int xcb_block_len = 0;
   4889  1.3  mrg     unsigned int xcb_pad = 0;
   4890  1.3  mrg     unsigned int xcb_align_to = 0;
   4891  1.3  mrg 
   4892  1.3  mrg 
   4893  1.3  mrg     xcb_block_len += sizeof(xcb_input_change_device_control_request_t);
   4894  1.3  mrg     xcb_tmp += xcb_block_len;
   4895  1.3  mrg     xcb_buffer_len += xcb_block_len;
   4896  1.3  mrg     xcb_block_len = 0;
   4897  1.3  mrg     /* control */
   4898  1.3  mrg     xcb_block_len += xcb_input_device_ctl_sizeof(xcb_tmp);
   4899  1.3  mrg     xcb_tmp += xcb_block_len;
   4900  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_device_ctl_t);
   4901  1.3  mrg     /* insert padding */
   4902  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   4903  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   4904  1.3  mrg     if (0 != xcb_pad) {
   4905  1.3  mrg         xcb_tmp += xcb_pad;
   4906  1.3  mrg         xcb_pad = 0;
   4907  1.3  mrg     }
   4908  1.3  mrg     xcb_block_len = 0;
   4909  1.3  mrg 
   4910  1.3  mrg     return xcb_buffer_len;
   4911  1.3  mrg }
   4912  1.3  mrg 
   4913  1.3  mrg xcb_input_change_device_control_cookie_t
   4914  1.3  mrg xcb_input_change_device_control (xcb_connection_t       *c  /**< */,
   4915  1.3  mrg                                  uint16_t                control_id  /**< */,
   4916  1.3  mrg                                  uint8_t                 device_id  /**< */,
   4917  1.3  mrg                                  xcb_input_device_ctl_t *control  /**< */)
   4918  1.3  mrg {
   4919  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4920  1.3  mrg         /* count */ 4,
   4921  1.3  mrg         /* ext */ &xcb_input_id,
   4922  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_CONTROL,
   4923  1.3  mrg         /* isvoid */ 0
   4924  1.3  mrg     };
   4925  1.4  mrg 
   4926  1.3  mrg     struct iovec xcb_parts[6];
   4927  1.3  mrg     xcb_input_change_device_control_cookie_t xcb_ret;
   4928  1.3  mrg     xcb_input_change_device_control_request_t xcb_out;
   4929  1.4  mrg 
   4930  1.3  mrg     xcb_out.control_id = control_id;
   4931  1.3  mrg     xcb_out.device_id = device_id;
   4932  1.3  mrg     xcb_out.pad0 = 0;
   4933  1.4  mrg 
   4934  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4935  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4936  1.3  mrg     xcb_parts[3].iov_base = 0;
   4937  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4938  1.3  mrg     /* xcb_input_device_ctl_t control */
   4939  1.3  mrg     xcb_parts[4].iov_base = (char *) control;
   4940  1.4  mrg     xcb_parts[4].iov_len =
   4941  1.3  mrg       xcb_input_device_ctl_sizeof (control);
   4942  1.4  mrg 
   4943  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4944  1.3  mrg     return xcb_ret;
   4945  1.3  mrg }
   4946  1.3  mrg 
   4947  1.3  mrg xcb_input_change_device_control_cookie_t
   4948  1.3  mrg xcb_input_change_device_control_unchecked (xcb_connection_t       *c  /**< */,
   4949  1.3  mrg                                            uint16_t                control_id  /**< */,
   4950  1.3  mrg                                            uint8_t                 device_id  /**< */,
   4951  1.3  mrg                                            xcb_input_device_ctl_t *control  /**< */)
   4952  1.3  mrg {
   4953  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   4954  1.3  mrg         /* count */ 4,
   4955  1.3  mrg         /* ext */ &xcb_input_id,
   4956  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_CONTROL,
   4957  1.3  mrg         /* isvoid */ 0
   4958  1.3  mrg     };
   4959  1.4  mrg 
   4960  1.3  mrg     struct iovec xcb_parts[6];
   4961  1.3  mrg     xcb_input_change_device_control_cookie_t xcb_ret;
   4962  1.3  mrg     xcb_input_change_device_control_request_t xcb_out;
   4963  1.4  mrg 
   4964  1.3  mrg     xcb_out.control_id = control_id;
   4965  1.3  mrg     xcb_out.device_id = device_id;
   4966  1.3  mrg     xcb_out.pad0 = 0;
   4967  1.4  mrg 
   4968  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   4969  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   4970  1.3  mrg     xcb_parts[3].iov_base = 0;
   4971  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4972  1.3  mrg     /* xcb_input_device_ctl_t control */
   4973  1.3  mrg     xcb_parts[4].iov_base = (char *) control;
   4974  1.4  mrg     xcb_parts[4].iov_len =
   4975  1.3  mrg       xcb_input_device_ctl_sizeof (control);
   4976  1.4  mrg 
   4977  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4978  1.3  mrg     return xcb_ret;
   4979  1.3  mrg }
   4980  1.3  mrg 
   4981  1.3  mrg xcb_input_change_device_control_reply_t *
   4982  1.3  mrg xcb_input_change_device_control_reply (xcb_connection_t                          *c  /**< */,
   4983  1.3  mrg                                        xcb_input_change_device_control_cookie_t   cookie  /**< */,
   4984  1.3  mrg                                        xcb_generic_error_t                      **e  /**< */)
   4985  1.3  mrg {
   4986  1.3  mrg     return (xcb_input_change_device_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   4987  1.3  mrg }
   4988  1.3  mrg 
   4989  1.3  mrg int
   4990  1.3  mrg xcb_input_list_device_properties_sizeof (const void  *_buffer  /**< */)
   4991  1.3  mrg {
   4992  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   4993  1.3  mrg     const xcb_input_list_device_properties_reply_t *_aux = (xcb_input_list_device_properties_reply_t *)_buffer;
   4994  1.3  mrg     unsigned int xcb_buffer_len = 0;
   4995  1.3  mrg     unsigned int xcb_block_len = 0;
   4996  1.3  mrg     unsigned int xcb_pad = 0;
   4997  1.3  mrg     unsigned int xcb_align_to = 0;
   4998  1.3  mrg 
   4999  1.3  mrg 
   5000  1.3  mrg     xcb_block_len += sizeof(xcb_input_list_device_properties_reply_t);
   5001  1.3  mrg     xcb_tmp += xcb_block_len;
   5002  1.3  mrg     xcb_buffer_len += xcb_block_len;
   5003  1.3  mrg     xcb_block_len = 0;
   5004  1.3  mrg     /* atoms */
   5005  1.3  mrg     xcb_block_len += _aux->num_atoms * sizeof(xcb_atom_t);
   5006  1.3  mrg     xcb_tmp += xcb_block_len;
   5007  1.3  mrg     xcb_align_to = ALIGNOF(xcb_atom_t);
   5008  1.3  mrg     /* insert padding */
   5009  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5010  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   5011  1.3  mrg     if (0 != xcb_pad) {
   5012  1.3  mrg         xcb_tmp += xcb_pad;
   5013  1.3  mrg         xcb_pad = 0;
   5014  1.3  mrg     }
   5015  1.3  mrg     xcb_block_len = 0;
   5016  1.3  mrg 
   5017  1.3  mrg     return xcb_buffer_len;
   5018  1.3  mrg }
   5019  1.3  mrg 
   5020  1.3  mrg xcb_input_list_device_properties_cookie_t
   5021  1.3  mrg xcb_input_list_device_properties (xcb_connection_t *c  /**< */,
   5022  1.3  mrg                                   uint8_t           device_id  /**< */)
   5023  1.3  mrg {
   5024  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5025  1.3  mrg         /* count */ 2,
   5026  1.3  mrg         /* ext */ &xcb_input_id,
   5027  1.3  mrg         /* opcode */ XCB_INPUT_LIST_DEVICE_PROPERTIES,
   5028  1.3  mrg         /* isvoid */ 0
   5029  1.3  mrg     };
   5030  1.4  mrg 
   5031  1.3  mrg     struct iovec xcb_parts[4];
   5032  1.3  mrg     xcb_input_list_device_properties_cookie_t xcb_ret;
   5033  1.3  mrg     xcb_input_list_device_properties_request_t xcb_out;
   5034  1.4  mrg 
   5035  1.3  mrg     xcb_out.device_id = device_id;
   5036  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   5037  1.4  mrg 
   5038  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5039  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5040  1.3  mrg     xcb_parts[3].iov_base = 0;
   5041  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5042  1.4  mrg 
   5043  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   5044  1.3  mrg     return xcb_ret;
   5045  1.3  mrg }
   5046  1.3  mrg 
   5047  1.3  mrg xcb_input_list_device_properties_cookie_t
   5048  1.3  mrg xcb_input_list_device_properties_unchecked (xcb_connection_t *c  /**< */,
   5049  1.3  mrg                                             uint8_t           device_id  /**< */)
   5050  1.3  mrg {
   5051  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5052  1.3  mrg         /* count */ 2,
   5053  1.3  mrg         /* ext */ &xcb_input_id,
   5054  1.3  mrg         /* opcode */ XCB_INPUT_LIST_DEVICE_PROPERTIES,
   5055  1.3  mrg         /* isvoid */ 0
   5056  1.3  mrg     };
   5057  1.4  mrg 
   5058  1.3  mrg     struct iovec xcb_parts[4];
   5059  1.3  mrg     xcb_input_list_device_properties_cookie_t xcb_ret;
   5060  1.3  mrg     xcb_input_list_device_properties_request_t xcb_out;
   5061  1.4  mrg 
   5062  1.3  mrg     xcb_out.device_id = device_id;
   5063  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   5064  1.4  mrg 
   5065  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5066  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5067  1.3  mrg     xcb_parts[3].iov_base = 0;
   5068  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5069  1.4  mrg 
   5070  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   5071  1.3  mrg     return xcb_ret;
   5072  1.3  mrg }
   5073  1.3  mrg 
   5074  1.3  mrg xcb_atom_t *
   5075  1.3  mrg xcb_input_list_device_properties_atoms (const xcb_input_list_device_properties_reply_t *R  /**< */)
   5076  1.3  mrg {
   5077  1.3  mrg     return (xcb_atom_t *) (R + 1);
   5078  1.3  mrg }
   5079  1.3  mrg 
   5080  1.3  mrg int
   5081  1.3  mrg xcb_input_list_device_properties_atoms_length (const xcb_input_list_device_properties_reply_t *R  /**< */)
   5082  1.3  mrg {
   5083  1.3  mrg     return R->num_atoms;
   5084  1.3  mrg }
   5085  1.3  mrg 
   5086  1.3  mrg xcb_generic_iterator_t
   5087  1.3  mrg xcb_input_list_device_properties_atoms_end (const xcb_input_list_device_properties_reply_t *R  /**< */)
   5088  1.3  mrg {
   5089  1.3  mrg     xcb_generic_iterator_t i;
   5090  1.3  mrg     i.data = ((xcb_atom_t *) (R + 1)) + (R->num_atoms);
   5091  1.3  mrg     i.rem = 0;
   5092  1.3  mrg     i.index = (char *) i.data - (char *) R;
   5093  1.3  mrg     return i;
   5094  1.3  mrg }
   5095  1.3  mrg 
   5096  1.3  mrg xcb_input_list_device_properties_reply_t *
   5097  1.3  mrg xcb_input_list_device_properties_reply (xcb_connection_t                           *c  /**< */,
   5098  1.3  mrg                                         xcb_input_list_device_properties_cookie_t   cookie  /**< */,
   5099  1.3  mrg                                         xcb_generic_error_t                       **e  /**< */)
   5100  1.3  mrg {
   5101  1.3  mrg     return (xcb_input_list_device_properties_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   5102  1.3  mrg }
   5103  1.3  mrg 
   5104  1.3  mrg uint8_t *
   5105  1.3  mrg xcb_input_change_device_property_items_data_8 (const xcb_input_change_device_property_items_t *S  /**< */)
   5106  1.3  mrg {
   5107  1.3  mrg     return /* items */ S->data8;
   5108  1.3  mrg }
   5109  1.3  mrg 
   5110  1.3  mrg int
   5111  1.3  mrg xcb_input_change_device_property_items_data_8_length (const xcb_input_change_device_property_request_t *R  /**< */,
   5112  1.3  mrg                                                       const xcb_input_change_device_property_items_t *S  /**< */)
   5113  1.3  mrg {
   5114  1.3  mrg     return R->num_items;
   5115  1.3  mrg }
   5116  1.3  mrg 
   5117  1.3  mrg xcb_generic_iterator_t
   5118  1.3  mrg xcb_input_change_device_property_items_data_8_end (const xcb_input_change_device_property_request_t *R  /**< */,
   5119  1.3  mrg                                                    const xcb_input_change_device_property_items_t *S  /**< */)
   5120  1.3  mrg {
   5121  1.3  mrg     xcb_generic_iterator_t i;
   5122  1.3  mrg     i.data = /* items */ S->data8 + R->num_items;
   5123  1.3  mrg     i.rem = 0;
   5124  1.3  mrg     i.index = (char *) i.data - (char *) S;
   5125  1.3  mrg     return i;
   5126  1.3  mrg }
   5127  1.3  mrg 
   5128  1.3  mrg uint16_t *
   5129  1.3  mrg xcb_input_change_device_property_items_data_16 (const xcb_input_change_device_property_items_t *S  /**< */)
   5130  1.3  mrg {
   5131  1.3  mrg     return /* items */ S->data16;
   5132  1.3  mrg }
   5133  1.3  mrg 
   5134  1.3  mrg int
   5135  1.3  mrg xcb_input_change_device_property_items_data_16_length (const xcb_input_change_device_property_request_t *R  /**< */,
   5136  1.3  mrg                                                        const xcb_input_change_device_property_items_t *S  /**< */)
   5137  1.3  mrg {
   5138  1.3  mrg     return R->num_items;
   5139  1.3  mrg }
   5140  1.3  mrg 
   5141  1.3  mrg xcb_generic_iterator_t
   5142  1.3  mrg xcb_input_change_device_property_items_data_16_end (const xcb_input_change_device_property_request_t *R  /**< */,
   5143  1.3  mrg                                                     const xcb_input_change_device_property_items_t *S  /**< */)
   5144  1.3  mrg {
   5145  1.3  mrg     xcb_generic_iterator_t i;
   5146  1.3  mrg     i.data = /* items */ S->data16 + R->num_items;
   5147  1.3  mrg     i.rem = 0;
   5148  1.3  mrg     i.index = (char *) i.data - (char *) S;
   5149  1.3  mrg     return i;
   5150  1.3  mrg }
   5151  1.3  mrg 
   5152  1.3  mrg uint32_t *
   5153  1.3  mrg xcb_input_change_device_property_items_data_32 (const xcb_input_change_device_property_items_t *S  /**< */)
   5154  1.3  mrg {
   5155  1.3  mrg     return /* items */ S->data32;
   5156  1.3  mrg }
   5157  1.3  mrg 
   5158  1.3  mrg int
   5159  1.3  mrg xcb_input_change_device_property_items_data_32_length (const xcb_input_change_device_property_request_t *R  /**< */,
   5160  1.3  mrg                                                        const xcb_input_change_device_property_items_t *S  /**< */)
   5161  1.3  mrg {
   5162  1.3  mrg     return R->num_items;
   5163  1.3  mrg }
   5164  1.3  mrg 
   5165  1.3  mrg xcb_generic_iterator_t
   5166  1.3  mrg xcb_input_change_device_property_items_data_32_end (const xcb_input_change_device_property_request_t *R  /**< */,
   5167  1.3  mrg                                                     const xcb_input_change_device_property_items_t *S  /**< */)
   5168  1.3  mrg {
   5169  1.3  mrg     xcb_generic_iterator_t i;
   5170  1.3  mrg     i.data = /* items */ S->data32 + R->num_items;
   5171  1.3  mrg     i.rem = 0;
   5172  1.3  mrg     i.index = (char *) i.data - (char *) S;
   5173  1.3  mrg     return i;
   5174  1.3  mrg }
   5175  1.3  mrg 
   5176  1.3  mrg int
   5177  1.3  mrg xcb_input_change_device_property_items_serialize (void                                           **_buffer  /**< */,
   5178  1.3  mrg                                                   uint32_t                                         num_items  /**< */,
   5179  1.3  mrg                                                   uint8_t                                          format  /**< */,
   5180  1.3  mrg                                                   const xcb_input_change_device_property_items_t  *_aux  /**< */)
   5181  1.3  mrg {
   5182  1.3  mrg     char *xcb_out = *_buffer;
   5183  1.3  mrg     unsigned int xcb_buffer_len = 0;
   5184  1.3  mrg     unsigned int xcb_align_to = 0;
   5185  1.3  mrg 
   5186  1.3  mrg     unsigned int xcb_pad = 0;
   5187  1.3  mrg     char xcb_pad0[3] = {0, 0, 0};
   5188  1.3  mrg     struct iovec xcb_parts[7];
   5189  1.3  mrg     unsigned int xcb_parts_idx = 0;
   5190  1.3  mrg     unsigned int xcb_block_len = 0;
   5191  1.3  mrg     unsigned int i;
   5192  1.3  mrg     char *xcb_tmp;
   5193  1.3  mrg 
   5194  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   5195  1.3  mrg         /* insert padding */
   5196  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5197  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5198  1.3  mrg         if (0 != xcb_pad) {
   5199  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5200  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5201  1.3  mrg             xcb_parts_idx++;
   5202  1.3  mrg             xcb_pad = 0;
   5203  1.3  mrg         }
   5204  1.3  mrg         xcb_block_len = 0;
   5205  1.3  mrg         /* data8 */
   5206  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data8;
   5207  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   5208  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint8_t);
   5209  1.3  mrg         xcb_parts_idx++;
   5210  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   5211  1.3  mrg     }
   5212  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   5213  1.3  mrg         /* insert padding */
   5214  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5215  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5216  1.3  mrg         if (0 != xcb_pad) {
   5217  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5218  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5219  1.3  mrg             xcb_parts_idx++;
   5220  1.3  mrg             xcb_pad = 0;
   5221  1.3  mrg         }
   5222  1.3  mrg         xcb_block_len = 0;
   5223  1.3  mrg         /* data16 */
   5224  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data16;
   5225  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   5226  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint16_t);
   5227  1.3  mrg         xcb_parts_idx++;
   5228  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   5229  1.3  mrg     }
   5230  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   5231  1.3  mrg         /* insert padding */
   5232  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5233  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5234  1.3  mrg         if (0 != xcb_pad) {
   5235  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5236  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5237  1.3  mrg             xcb_parts_idx++;
   5238  1.3  mrg             xcb_pad = 0;
   5239  1.3  mrg         }
   5240  1.3  mrg         xcb_block_len = 0;
   5241  1.3  mrg         /* data32 */
   5242  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data32;
   5243  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   5244  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint32_t);
   5245  1.3  mrg         xcb_parts_idx++;
   5246  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   5247  1.3  mrg     }
   5248  1.3  mrg     /* insert padding */
   5249  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5250  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   5251  1.3  mrg     if (0 != xcb_pad) {
   5252  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5253  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5254  1.3  mrg         xcb_parts_idx++;
   5255  1.3  mrg         xcb_pad = 0;
   5256  1.3  mrg     }
   5257  1.3  mrg     xcb_block_len = 0;
   5258  1.3  mrg 
   5259  1.3  mrg     if (NULL == xcb_out) {
   5260  1.3  mrg         /* allocate memory */
   5261  1.3  mrg         xcb_out = malloc(xcb_buffer_len);
   5262  1.3  mrg         *_buffer = xcb_out;
   5263  1.3  mrg     }
   5264  1.3  mrg 
   5265  1.3  mrg     xcb_tmp = xcb_out;
   5266  1.3  mrg     for(i=0; i<xcb_parts_idx; i++) {
   5267  1.3  mrg         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   5268  1.3  mrg             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   5269  1.3  mrg         if (0 != xcb_parts[i].iov_len)
   5270  1.3  mrg             xcb_tmp += xcb_parts[i].iov_len;
   5271  1.3  mrg     }
   5272  1.3  mrg 
   5273  1.3  mrg     return xcb_buffer_len;
   5274  1.3  mrg }
   5275  1.3  mrg 
   5276  1.3  mrg int
   5277  1.3  mrg xcb_input_change_device_property_items_unpack (const void                                *_buffer  /**< */,
   5278  1.3  mrg                                                uint32_t                                   num_items  /**< */,
   5279  1.3  mrg                                                uint8_t                                    format  /**< */,
   5280  1.3  mrg                                                xcb_input_change_device_property_items_t  *_aux  /**< */)
   5281  1.3  mrg {
   5282  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   5283  1.3  mrg     unsigned int xcb_buffer_len = 0;
   5284  1.3  mrg     unsigned int xcb_block_len = 0;
   5285  1.3  mrg     unsigned int xcb_pad = 0;
   5286  1.3  mrg     unsigned int xcb_align_to = 0;
   5287  1.3  mrg 
   5288  1.3  mrg 
   5289  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   5290  1.3  mrg         /* insert padding */
   5291  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5292  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5293  1.3  mrg         if (0 != xcb_pad) {
   5294  1.3  mrg             xcb_tmp += xcb_pad;
   5295  1.3  mrg             xcb_pad = 0;
   5296  1.3  mrg         }
   5297  1.3  mrg         xcb_block_len = 0;
   5298  1.3  mrg         /* data8 */
   5299  1.3  mrg         _aux->data8 = (uint8_t *)xcb_tmp;
   5300  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   5301  1.3  mrg         xcb_tmp += xcb_block_len;
   5302  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   5303  1.3  mrg     }
   5304  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   5305  1.3  mrg         /* insert padding */
   5306  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5307  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5308  1.3  mrg         if (0 != xcb_pad) {
   5309  1.3  mrg             xcb_tmp += xcb_pad;
   5310  1.3  mrg             xcb_pad = 0;
   5311  1.3  mrg         }
   5312  1.3  mrg         xcb_block_len = 0;
   5313  1.3  mrg         /* data16 */
   5314  1.3  mrg         _aux->data16 = (uint16_t *)xcb_tmp;
   5315  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   5316  1.3  mrg         xcb_tmp += xcb_block_len;
   5317  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   5318  1.3  mrg     }
   5319  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   5320  1.3  mrg         /* insert padding */
   5321  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5322  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5323  1.3  mrg         if (0 != xcb_pad) {
   5324  1.3  mrg             xcb_tmp += xcb_pad;
   5325  1.3  mrg             xcb_pad = 0;
   5326  1.3  mrg         }
   5327  1.3  mrg         xcb_block_len = 0;
   5328  1.3  mrg         /* data32 */
   5329  1.3  mrg         _aux->data32 = (uint32_t *)xcb_tmp;
   5330  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   5331  1.3  mrg         xcb_tmp += xcb_block_len;
   5332  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   5333  1.3  mrg     }
   5334  1.3  mrg     /* insert padding */
   5335  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5336  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   5337  1.3  mrg     if (0 != xcb_pad) {
   5338  1.3  mrg         xcb_tmp += xcb_pad;
   5339  1.3  mrg         xcb_pad = 0;
   5340  1.3  mrg     }
   5341  1.3  mrg     xcb_block_len = 0;
   5342  1.3  mrg 
   5343  1.3  mrg     return xcb_buffer_len;
   5344  1.3  mrg }
   5345  1.3  mrg 
   5346  1.3  mrg int
   5347  1.3  mrg xcb_input_change_device_property_items_sizeof (const void  *_buffer  /**< */,
   5348  1.3  mrg                                                uint32_t     num_items  /**< */,
   5349  1.3  mrg                                                uint8_t      format  /**< */)
   5350  1.3  mrg {
   5351  1.3  mrg     xcb_input_change_device_property_items_t _aux;
   5352  1.3  mrg     return xcb_input_change_device_property_items_unpack(_buffer, num_items, format, &_aux);
   5353  1.3  mrg }
   5354  1.3  mrg 
   5355  1.3  mrg xcb_void_cookie_t
   5356  1.3  mrg xcb_input_change_device_property_checked (xcb_connection_t *c  /**< */,
   5357  1.3  mrg                                           xcb_atom_t        property  /**< */,
   5358  1.3  mrg                                           xcb_atom_t        type  /**< */,
   5359  1.3  mrg                                           uint8_t           device_id  /**< */,
   5360  1.3  mrg                                           uint8_t           format  /**< */,
   5361  1.3  mrg                                           uint8_t           mode  /**< */,
   5362  1.3  mrg                                           uint32_t          num_items  /**< */,
   5363  1.3  mrg                                           const void       *items  /**< */)
   5364  1.3  mrg {
   5365  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5366  1.3  mrg         /* count */ 3,
   5367  1.3  mrg         /* ext */ &xcb_input_id,
   5368  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY,
   5369  1.3  mrg         /* isvoid */ 1
   5370  1.3  mrg     };
   5371  1.4  mrg 
   5372  1.3  mrg     struct iovec xcb_parts[5];
   5373  1.3  mrg     xcb_void_cookie_t xcb_ret;
   5374  1.3  mrg     xcb_input_change_device_property_request_t xcb_out;
   5375  1.4  mrg 
   5376  1.3  mrg     xcb_out.property = property;
   5377  1.3  mrg     xcb_out.type = type;
   5378  1.3  mrg     xcb_out.device_id = device_id;
   5379  1.3  mrg     xcb_out.format = format;
   5380  1.3  mrg     xcb_out.mode = mode;
   5381  1.3  mrg     xcb_out.pad0 = 0;
   5382  1.3  mrg     xcb_out.num_items = num_items;
   5383  1.4  mrg 
   5384  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5385  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5386  1.3  mrg     xcb_parts[3].iov_base = 0;
   5387  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5388  1.3  mrg     /* xcb_input_change_device_property_items_t items */
   5389  1.3  mrg     xcb_parts[4].iov_base = (char *) items;
   5390  1.4  mrg     xcb_parts[4].iov_len =
   5391  1.3  mrg       xcb_input_change_device_property_items_sizeof (items, num_items, format);
   5392  1.4  mrg 
   5393  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   5394  1.3  mrg     return xcb_ret;
   5395  1.3  mrg }
   5396  1.3  mrg 
   5397  1.3  mrg xcb_void_cookie_t
   5398  1.3  mrg xcb_input_change_device_property (xcb_connection_t *c  /**< */,
   5399  1.3  mrg                                   xcb_atom_t        property  /**< */,
   5400  1.3  mrg                                   xcb_atom_t        type  /**< */,
   5401  1.3  mrg                                   uint8_t           device_id  /**< */,
   5402  1.3  mrg                                   uint8_t           format  /**< */,
   5403  1.3  mrg                                   uint8_t           mode  /**< */,
   5404  1.3  mrg                                   uint32_t          num_items  /**< */,
   5405  1.3  mrg                                   const void       *items  /**< */)
   5406  1.3  mrg {
   5407  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5408  1.3  mrg         /* count */ 3,
   5409  1.3  mrg         /* ext */ &xcb_input_id,
   5410  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY,
   5411  1.3  mrg         /* isvoid */ 1
   5412  1.3  mrg     };
   5413  1.4  mrg 
   5414  1.3  mrg     struct iovec xcb_parts[5];
   5415  1.3  mrg     xcb_void_cookie_t xcb_ret;
   5416  1.3  mrg     xcb_input_change_device_property_request_t xcb_out;
   5417  1.4  mrg 
   5418  1.3  mrg     xcb_out.property = property;
   5419  1.3  mrg     xcb_out.type = type;
   5420  1.3  mrg     xcb_out.device_id = device_id;
   5421  1.3  mrg     xcb_out.format = format;
   5422  1.3  mrg     xcb_out.mode = mode;
   5423  1.3  mrg     xcb_out.pad0 = 0;
   5424  1.3  mrg     xcb_out.num_items = num_items;
   5425  1.4  mrg 
   5426  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5427  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5428  1.3  mrg     xcb_parts[3].iov_base = 0;
   5429  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5430  1.3  mrg     /* xcb_input_change_device_property_items_t items */
   5431  1.3  mrg     xcb_parts[4].iov_base = (char *) items;
   5432  1.4  mrg     xcb_parts[4].iov_len =
   5433  1.3  mrg       xcb_input_change_device_property_items_sizeof (items, num_items, format);
   5434  1.4  mrg 
   5435  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   5436  1.3  mrg     return xcb_ret;
   5437  1.3  mrg }
   5438  1.3  mrg 
   5439  1.3  mrg xcb_void_cookie_t
   5440  1.3  mrg xcb_input_change_device_property_aux_checked (xcb_connection_t                               *c  /**< */,
   5441  1.3  mrg                                               xcb_atom_t                                      property  /**< */,
   5442  1.3  mrg                                               xcb_atom_t                                      type  /**< */,
   5443  1.3  mrg                                               uint8_t                                         device_id  /**< */,
   5444  1.3  mrg                                               uint8_t                                         format  /**< */,
   5445  1.3  mrg                                               uint8_t                                         mode  /**< */,
   5446  1.3  mrg                                               uint32_t                                        num_items  /**< */,
   5447  1.3  mrg                                               const xcb_input_change_device_property_items_t *items  /**< */)
   5448  1.3  mrg {
   5449  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5450  1.3  mrg         /* count */ 3,
   5451  1.3  mrg         /* ext */ &xcb_input_id,
   5452  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY,
   5453  1.3  mrg         /* isvoid */ 1
   5454  1.3  mrg     };
   5455  1.4  mrg 
   5456  1.3  mrg     struct iovec xcb_parts[5];
   5457  1.3  mrg     xcb_void_cookie_t xcb_ret;
   5458  1.3  mrg     xcb_input_change_device_property_request_t xcb_out;
   5459  1.3  mrg     void *xcb_aux0 = 0;
   5460  1.4  mrg 
   5461  1.3  mrg     xcb_out.property = property;
   5462  1.3  mrg     xcb_out.type = type;
   5463  1.3  mrg     xcb_out.device_id = device_id;
   5464  1.3  mrg     xcb_out.format = format;
   5465  1.3  mrg     xcb_out.mode = mode;
   5466  1.3  mrg     xcb_out.pad0 = 0;
   5467  1.3  mrg     xcb_out.num_items = num_items;
   5468  1.4  mrg 
   5469  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5470  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5471  1.3  mrg     xcb_parts[3].iov_base = 0;
   5472  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5473  1.3  mrg     /* xcb_input_change_device_property_items_t items */
   5474  1.4  mrg     xcb_parts[4].iov_len =
   5475  1.3  mrg       xcb_input_change_device_property_items_serialize (&xcb_aux0, num_items, format, items);
   5476  1.3  mrg     xcb_parts[4].iov_base = xcb_aux0;
   5477  1.4  mrg 
   5478  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   5479  1.3  mrg     free(xcb_aux0);
   5480  1.3  mrg     return xcb_ret;
   5481  1.3  mrg }
   5482  1.3  mrg 
   5483  1.3  mrg xcb_void_cookie_t
   5484  1.3  mrg xcb_input_change_device_property_aux (xcb_connection_t                               *c  /**< */,
   5485  1.3  mrg                                       xcb_atom_t                                      property  /**< */,
   5486  1.3  mrg                                       xcb_atom_t                                      type  /**< */,
   5487  1.3  mrg                                       uint8_t                                         device_id  /**< */,
   5488  1.3  mrg                                       uint8_t                                         format  /**< */,
   5489  1.3  mrg                                       uint8_t                                         mode  /**< */,
   5490  1.3  mrg                                       uint32_t                                        num_items  /**< */,
   5491  1.3  mrg                                       const xcb_input_change_device_property_items_t *items  /**< */)
   5492  1.3  mrg {
   5493  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5494  1.3  mrg         /* count */ 3,
   5495  1.3  mrg         /* ext */ &xcb_input_id,
   5496  1.3  mrg         /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY,
   5497  1.3  mrg         /* isvoid */ 1
   5498  1.3  mrg     };
   5499  1.4  mrg 
   5500  1.3  mrg     struct iovec xcb_parts[5];
   5501  1.3  mrg     xcb_void_cookie_t xcb_ret;
   5502  1.3  mrg     xcb_input_change_device_property_request_t xcb_out;
   5503  1.3  mrg     void *xcb_aux0 = 0;
   5504  1.4  mrg 
   5505  1.3  mrg     xcb_out.property = property;
   5506  1.3  mrg     xcb_out.type = type;
   5507  1.3  mrg     xcb_out.device_id = device_id;
   5508  1.3  mrg     xcb_out.format = format;
   5509  1.3  mrg     xcb_out.mode = mode;
   5510  1.3  mrg     xcb_out.pad0 = 0;
   5511  1.3  mrg     xcb_out.num_items = num_items;
   5512  1.4  mrg 
   5513  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5514  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5515  1.3  mrg     xcb_parts[3].iov_base = 0;
   5516  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5517  1.3  mrg     /* xcb_input_change_device_property_items_t items */
   5518  1.4  mrg     xcb_parts[4].iov_len =
   5519  1.3  mrg       xcb_input_change_device_property_items_serialize (&xcb_aux0, num_items, format, items);
   5520  1.3  mrg     xcb_parts[4].iov_base = xcb_aux0;
   5521  1.4  mrg 
   5522  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   5523  1.3  mrg     free(xcb_aux0);
   5524  1.3  mrg     return xcb_ret;
   5525  1.3  mrg }
   5526  1.3  mrg 
   5527  1.3  mrg xcb_void_cookie_t
   5528  1.3  mrg xcb_input_delete_device_property_checked (xcb_connection_t *c  /**< */,
   5529  1.3  mrg                                           xcb_atom_t        property  /**< */,
   5530  1.3  mrg                                           uint8_t           device_id  /**< */)
   5531  1.3  mrg {
   5532  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5533  1.3  mrg         /* count */ 2,
   5534  1.3  mrg         /* ext */ &xcb_input_id,
   5535  1.3  mrg         /* opcode */ XCB_INPUT_DELETE_DEVICE_PROPERTY,
   5536  1.3  mrg         /* isvoid */ 1
   5537  1.3  mrg     };
   5538  1.4  mrg 
   5539  1.3  mrg     struct iovec xcb_parts[4];
   5540  1.3  mrg     xcb_void_cookie_t xcb_ret;
   5541  1.3  mrg     xcb_input_delete_device_property_request_t xcb_out;
   5542  1.4  mrg 
   5543  1.3  mrg     xcb_out.property = property;
   5544  1.3  mrg     xcb_out.device_id = device_id;
   5545  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   5546  1.4  mrg 
   5547  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5548  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5549  1.3  mrg     xcb_parts[3].iov_base = 0;
   5550  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5551  1.4  mrg 
   5552  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   5553  1.3  mrg     return xcb_ret;
   5554  1.3  mrg }
   5555  1.3  mrg 
   5556  1.3  mrg xcb_void_cookie_t
   5557  1.3  mrg xcb_input_delete_device_property (xcb_connection_t *c  /**< */,
   5558  1.3  mrg                                   xcb_atom_t        property  /**< */,
   5559  1.3  mrg                                   uint8_t           device_id  /**< */)
   5560  1.3  mrg {
   5561  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5562  1.3  mrg         /* count */ 2,
   5563  1.3  mrg         /* ext */ &xcb_input_id,
   5564  1.3  mrg         /* opcode */ XCB_INPUT_DELETE_DEVICE_PROPERTY,
   5565  1.3  mrg         /* isvoid */ 1
   5566  1.3  mrg     };
   5567  1.4  mrg 
   5568  1.3  mrg     struct iovec xcb_parts[4];
   5569  1.3  mrg     xcb_void_cookie_t xcb_ret;
   5570  1.3  mrg     xcb_input_delete_device_property_request_t xcb_out;
   5571  1.4  mrg 
   5572  1.3  mrg     xcb_out.property = property;
   5573  1.3  mrg     xcb_out.device_id = device_id;
   5574  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   5575  1.4  mrg 
   5576  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5577  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5578  1.3  mrg     xcb_parts[3].iov_base = 0;
   5579  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5580  1.4  mrg 
   5581  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   5582  1.3  mrg     return xcb_ret;
   5583  1.3  mrg }
   5584  1.3  mrg 
   5585  1.3  mrg uint8_t *
   5586  1.3  mrg xcb_input_get_device_property_items_data_8 (const xcb_input_get_device_property_items_t *S  /**< */)
   5587  1.3  mrg {
   5588  1.3  mrg     return /* items */ S->data8;
   5589  1.3  mrg }
   5590  1.3  mrg 
   5591  1.3  mrg int
   5592  1.3  mrg xcb_input_get_device_property_items_data_8_length (const xcb_input_get_device_property_reply_t *R  /**< */,
   5593  1.3  mrg                                                    const xcb_input_get_device_property_items_t *S  /**< */)
   5594  1.3  mrg {
   5595  1.3  mrg     return R->num_items;
   5596  1.3  mrg }
   5597  1.3  mrg 
   5598  1.3  mrg xcb_generic_iterator_t
   5599  1.3  mrg xcb_input_get_device_property_items_data_8_end (const xcb_input_get_device_property_reply_t *R  /**< */,
   5600  1.3  mrg                                                 const xcb_input_get_device_property_items_t *S  /**< */)
   5601  1.3  mrg {
   5602  1.3  mrg     xcb_generic_iterator_t i;
   5603  1.3  mrg     i.data = /* items */ S->data8 + R->num_items;
   5604  1.3  mrg     i.rem = 0;
   5605  1.3  mrg     i.index = (char *) i.data - (char *) S;
   5606  1.3  mrg     return i;
   5607  1.3  mrg }
   5608  1.3  mrg 
   5609  1.3  mrg uint16_t *
   5610  1.3  mrg xcb_input_get_device_property_items_data_16 (const xcb_input_get_device_property_items_t *S  /**< */)
   5611  1.3  mrg {
   5612  1.3  mrg     return /* items */ S->data16;
   5613  1.3  mrg }
   5614  1.3  mrg 
   5615  1.3  mrg int
   5616  1.3  mrg xcb_input_get_device_property_items_data_16_length (const xcb_input_get_device_property_reply_t *R  /**< */,
   5617  1.3  mrg                                                     const xcb_input_get_device_property_items_t *S  /**< */)
   5618  1.3  mrg {
   5619  1.3  mrg     return R->num_items;
   5620  1.3  mrg }
   5621  1.3  mrg 
   5622  1.3  mrg xcb_generic_iterator_t
   5623  1.3  mrg xcb_input_get_device_property_items_data_16_end (const xcb_input_get_device_property_reply_t *R  /**< */,
   5624  1.3  mrg                                                  const xcb_input_get_device_property_items_t *S  /**< */)
   5625  1.3  mrg {
   5626  1.3  mrg     xcb_generic_iterator_t i;
   5627  1.3  mrg     i.data = /* items */ S->data16 + R->num_items;
   5628  1.3  mrg     i.rem = 0;
   5629  1.3  mrg     i.index = (char *) i.data - (char *) S;
   5630  1.3  mrg     return i;
   5631  1.3  mrg }
   5632  1.3  mrg 
   5633  1.3  mrg uint32_t *
   5634  1.3  mrg xcb_input_get_device_property_items_data_32 (const xcb_input_get_device_property_items_t *S  /**< */)
   5635  1.3  mrg {
   5636  1.3  mrg     return /* items */ S->data32;
   5637  1.3  mrg }
   5638  1.3  mrg 
   5639  1.3  mrg int
   5640  1.3  mrg xcb_input_get_device_property_items_data_32_length (const xcb_input_get_device_property_reply_t *R  /**< */,
   5641  1.3  mrg                                                     const xcb_input_get_device_property_items_t *S  /**< */)
   5642  1.3  mrg {
   5643  1.3  mrg     return R->num_items;
   5644  1.3  mrg }
   5645  1.3  mrg 
   5646  1.3  mrg xcb_generic_iterator_t
   5647  1.3  mrg xcb_input_get_device_property_items_data_32_end (const xcb_input_get_device_property_reply_t *R  /**< */,
   5648  1.3  mrg                                                  const xcb_input_get_device_property_items_t *S  /**< */)
   5649  1.3  mrg {
   5650  1.3  mrg     xcb_generic_iterator_t i;
   5651  1.3  mrg     i.data = /* items */ S->data32 + R->num_items;
   5652  1.3  mrg     i.rem = 0;
   5653  1.3  mrg     i.index = (char *) i.data - (char *) S;
   5654  1.3  mrg     return i;
   5655  1.3  mrg }
   5656  1.3  mrg 
   5657  1.3  mrg int
   5658  1.3  mrg xcb_input_get_device_property_items_serialize (void                                        **_buffer  /**< */,
   5659  1.3  mrg                                                uint32_t                                      num_items  /**< */,
   5660  1.3  mrg                                                uint8_t                                       format  /**< */,
   5661  1.3  mrg                                                const xcb_input_get_device_property_items_t  *_aux  /**< */)
   5662  1.3  mrg {
   5663  1.3  mrg     char *xcb_out = *_buffer;
   5664  1.3  mrg     unsigned int xcb_buffer_len = 0;
   5665  1.3  mrg     unsigned int xcb_align_to = 0;
   5666  1.3  mrg 
   5667  1.3  mrg     unsigned int xcb_pad = 0;
   5668  1.3  mrg     char xcb_pad0[3] = {0, 0, 0};
   5669  1.3  mrg     struct iovec xcb_parts[7];
   5670  1.3  mrg     unsigned int xcb_parts_idx = 0;
   5671  1.3  mrg     unsigned int xcb_block_len = 0;
   5672  1.3  mrg     unsigned int i;
   5673  1.3  mrg     char *xcb_tmp;
   5674  1.3  mrg 
   5675  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   5676  1.3  mrg         /* insert padding */
   5677  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5678  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5679  1.3  mrg         if (0 != xcb_pad) {
   5680  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5681  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5682  1.3  mrg             xcb_parts_idx++;
   5683  1.3  mrg             xcb_pad = 0;
   5684  1.3  mrg         }
   5685  1.3  mrg         xcb_block_len = 0;
   5686  1.3  mrg         /* data8 */
   5687  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data8;
   5688  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   5689  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint8_t);
   5690  1.3  mrg         xcb_parts_idx++;
   5691  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   5692  1.3  mrg     }
   5693  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   5694  1.3  mrg         /* insert padding */
   5695  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5696  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5697  1.3  mrg         if (0 != xcb_pad) {
   5698  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5699  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5700  1.3  mrg             xcb_parts_idx++;
   5701  1.3  mrg             xcb_pad = 0;
   5702  1.3  mrg         }
   5703  1.3  mrg         xcb_block_len = 0;
   5704  1.3  mrg         /* data16 */
   5705  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data16;
   5706  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   5707  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint16_t);
   5708  1.3  mrg         xcb_parts_idx++;
   5709  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   5710  1.3  mrg     }
   5711  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   5712  1.3  mrg         /* insert padding */
   5713  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5714  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5715  1.3  mrg         if (0 != xcb_pad) {
   5716  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5717  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5718  1.3  mrg             xcb_parts_idx++;
   5719  1.3  mrg             xcb_pad = 0;
   5720  1.3  mrg         }
   5721  1.3  mrg         xcb_block_len = 0;
   5722  1.3  mrg         /* data32 */
   5723  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data32;
   5724  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   5725  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint32_t);
   5726  1.3  mrg         xcb_parts_idx++;
   5727  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   5728  1.3  mrg     }
   5729  1.3  mrg     /* insert padding */
   5730  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5731  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   5732  1.3  mrg     if (0 != xcb_pad) {
   5733  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5734  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5735  1.3  mrg         xcb_parts_idx++;
   5736  1.3  mrg         xcb_pad = 0;
   5737  1.3  mrg     }
   5738  1.3  mrg     xcb_block_len = 0;
   5739  1.3  mrg 
   5740  1.3  mrg     if (NULL == xcb_out) {
   5741  1.3  mrg         /* allocate memory */
   5742  1.3  mrg         xcb_out = malloc(xcb_buffer_len);
   5743  1.3  mrg         *_buffer = xcb_out;
   5744  1.3  mrg     }
   5745  1.3  mrg 
   5746  1.3  mrg     xcb_tmp = xcb_out;
   5747  1.3  mrg     for(i=0; i<xcb_parts_idx; i++) {
   5748  1.3  mrg         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   5749  1.3  mrg             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   5750  1.3  mrg         if (0 != xcb_parts[i].iov_len)
   5751  1.3  mrg             xcb_tmp += xcb_parts[i].iov_len;
   5752  1.3  mrg     }
   5753  1.3  mrg 
   5754  1.3  mrg     return xcb_buffer_len;
   5755  1.3  mrg }
   5756  1.3  mrg 
   5757  1.3  mrg int
   5758  1.3  mrg xcb_input_get_device_property_items_unpack (const void                             *_buffer  /**< */,
   5759  1.3  mrg                                             uint32_t                                num_items  /**< */,
   5760  1.3  mrg                                             uint8_t                                 format  /**< */,
   5761  1.3  mrg                                             xcb_input_get_device_property_items_t  *_aux  /**< */)
   5762  1.3  mrg {
   5763  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   5764  1.3  mrg     unsigned int xcb_buffer_len = 0;
   5765  1.3  mrg     unsigned int xcb_block_len = 0;
   5766  1.3  mrg     unsigned int xcb_pad = 0;
   5767  1.3  mrg     unsigned int xcb_align_to = 0;
   5768  1.3  mrg 
   5769  1.3  mrg 
   5770  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   5771  1.3  mrg         /* insert padding */
   5772  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5773  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5774  1.3  mrg         if (0 != xcb_pad) {
   5775  1.3  mrg             xcb_tmp += xcb_pad;
   5776  1.3  mrg             xcb_pad = 0;
   5777  1.3  mrg         }
   5778  1.3  mrg         xcb_block_len = 0;
   5779  1.3  mrg         /* data8 */
   5780  1.3  mrg         _aux->data8 = (uint8_t *)xcb_tmp;
   5781  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   5782  1.3  mrg         xcb_tmp += xcb_block_len;
   5783  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   5784  1.3  mrg     }
   5785  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   5786  1.3  mrg         /* insert padding */
   5787  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5788  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5789  1.3  mrg         if (0 != xcb_pad) {
   5790  1.3  mrg             xcb_tmp += xcb_pad;
   5791  1.3  mrg             xcb_pad = 0;
   5792  1.3  mrg         }
   5793  1.3  mrg         xcb_block_len = 0;
   5794  1.3  mrg         /* data16 */
   5795  1.3  mrg         _aux->data16 = (uint16_t *)xcb_tmp;
   5796  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   5797  1.3  mrg         xcb_tmp += xcb_block_len;
   5798  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   5799  1.3  mrg     }
   5800  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   5801  1.3  mrg         /* insert padding */
   5802  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5803  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   5804  1.3  mrg         if (0 != xcb_pad) {
   5805  1.3  mrg             xcb_tmp += xcb_pad;
   5806  1.3  mrg             xcb_pad = 0;
   5807  1.3  mrg         }
   5808  1.3  mrg         xcb_block_len = 0;
   5809  1.3  mrg         /* data32 */
   5810  1.3  mrg         _aux->data32 = (uint32_t *)xcb_tmp;
   5811  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   5812  1.3  mrg         xcb_tmp += xcb_block_len;
   5813  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   5814  1.3  mrg     }
   5815  1.3  mrg     /* insert padding */
   5816  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5817  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   5818  1.3  mrg     if (0 != xcb_pad) {
   5819  1.3  mrg         xcb_tmp += xcb_pad;
   5820  1.3  mrg         xcb_pad = 0;
   5821  1.3  mrg     }
   5822  1.3  mrg     xcb_block_len = 0;
   5823  1.3  mrg 
   5824  1.3  mrg     return xcb_buffer_len;
   5825  1.3  mrg }
   5826  1.3  mrg 
   5827  1.3  mrg int
   5828  1.3  mrg xcb_input_get_device_property_items_sizeof (const void  *_buffer  /**< */,
   5829  1.3  mrg                                             uint32_t     num_items  /**< */,
   5830  1.3  mrg                                             uint8_t      format  /**< */)
   5831  1.3  mrg {
   5832  1.3  mrg     xcb_input_get_device_property_items_t _aux;
   5833  1.3  mrg     return xcb_input_get_device_property_items_unpack(_buffer, num_items, format, &_aux);
   5834  1.3  mrg }
   5835  1.3  mrg 
   5836  1.3  mrg xcb_input_get_device_property_cookie_t
   5837  1.3  mrg xcb_input_get_device_property (xcb_connection_t *c  /**< */,
   5838  1.3  mrg                                xcb_atom_t        property  /**< */,
   5839  1.3  mrg                                xcb_atom_t        type  /**< */,
   5840  1.3  mrg                                uint32_t          offset  /**< */,
   5841  1.3  mrg                                uint32_t          len  /**< */,
   5842  1.3  mrg                                uint8_t           device_id  /**< */,
   5843  1.3  mrg                                uint8_t           _delete  /**< */)
   5844  1.3  mrg {
   5845  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5846  1.3  mrg         /* count */ 2,
   5847  1.3  mrg         /* ext */ &xcb_input_id,
   5848  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_PROPERTY,
   5849  1.3  mrg         /* isvoid */ 0
   5850  1.3  mrg     };
   5851  1.4  mrg 
   5852  1.3  mrg     struct iovec xcb_parts[4];
   5853  1.3  mrg     xcb_input_get_device_property_cookie_t xcb_ret;
   5854  1.3  mrg     xcb_input_get_device_property_request_t xcb_out;
   5855  1.4  mrg 
   5856  1.3  mrg     xcb_out.property = property;
   5857  1.3  mrg     xcb_out.type = type;
   5858  1.3  mrg     xcb_out.offset = offset;
   5859  1.3  mrg     xcb_out.len = len;
   5860  1.3  mrg     xcb_out.device_id = device_id;
   5861  1.3  mrg     xcb_out._delete = _delete;
   5862  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   5863  1.4  mrg 
   5864  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5865  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5866  1.3  mrg     xcb_parts[3].iov_base = 0;
   5867  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5868  1.4  mrg 
   5869  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   5870  1.3  mrg     return xcb_ret;
   5871  1.3  mrg }
   5872  1.3  mrg 
   5873  1.3  mrg xcb_input_get_device_property_cookie_t
   5874  1.3  mrg xcb_input_get_device_property_unchecked (xcb_connection_t *c  /**< */,
   5875  1.3  mrg                                          xcb_atom_t        property  /**< */,
   5876  1.3  mrg                                          xcb_atom_t        type  /**< */,
   5877  1.3  mrg                                          uint32_t          offset  /**< */,
   5878  1.3  mrg                                          uint32_t          len  /**< */,
   5879  1.3  mrg                                          uint8_t           device_id  /**< */,
   5880  1.3  mrg                                          uint8_t           _delete  /**< */)
   5881  1.3  mrg {
   5882  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5883  1.3  mrg         /* count */ 2,
   5884  1.3  mrg         /* ext */ &xcb_input_id,
   5885  1.3  mrg         /* opcode */ XCB_INPUT_GET_DEVICE_PROPERTY,
   5886  1.3  mrg         /* isvoid */ 0
   5887  1.3  mrg     };
   5888  1.4  mrg 
   5889  1.3  mrg     struct iovec xcb_parts[4];
   5890  1.3  mrg     xcb_input_get_device_property_cookie_t xcb_ret;
   5891  1.3  mrg     xcb_input_get_device_property_request_t xcb_out;
   5892  1.4  mrg 
   5893  1.3  mrg     xcb_out.property = property;
   5894  1.3  mrg     xcb_out.type = type;
   5895  1.3  mrg     xcb_out.offset = offset;
   5896  1.3  mrg     xcb_out.len = len;
   5897  1.3  mrg     xcb_out.device_id = device_id;
   5898  1.3  mrg     xcb_out._delete = _delete;
   5899  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   5900  1.4  mrg 
   5901  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   5902  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   5903  1.3  mrg     xcb_parts[3].iov_base = 0;
   5904  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   5905  1.4  mrg 
   5906  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   5907  1.3  mrg     return xcb_ret;
   5908  1.3  mrg }
   5909  1.3  mrg 
   5910  1.3  mrg void *
   5911  1.3  mrg xcb_input_get_device_property_items (const xcb_input_get_device_property_reply_t *R  /**< */)
   5912  1.3  mrg {
   5913  1.3  mrg     return (void *) (R + 1);
   5914  1.3  mrg }
   5915  1.3  mrg 
   5916  1.3  mrg xcb_input_get_device_property_reply_t *
   5917  1.3  mrg xcb_input_get_device_property_reply (xcb_connection_t                        *c  /**< */,
   5918  1.3  mrg                                      xcb_input_get_device_property_cookie_t   cookie  /**< */,
   5919  1.3  mrg                                      xcb_generic_error_t                    **e  /**< */)
   5920  1.3  mrg {
   5921  1.3  mrg     return (xcb_input_get_device_property_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   5922  1.3  mrg }
   5923  1.3  mrg 
   5924  1.3  mrg void
   5925  1.3  mrg xcb_input_group_info_next (xcb_input_group_info_iterator_t *i  /**< */)
   5926  1.3  mrg {
   5927  1.3  mrg     --i->rem;
   5928  1.3  mrg     ++i->data;
   5929  1.3  mrg     i->index += sizeof(xcb_input_group_info_t);
   5930  1.3  mrg }
   5931  1.3  mrg 
   5932  1.3  mrg xcb_generic_iterator_t
   5933  1.3  mrg xcb_input_group_info_end (xcb_input_group_info_iterator_t i  /**< */)
   5934  1.3  mrg {
   5935  1.3  mrg     xcb_generic_iterator_t ret;
   5936  1.3  mrg     ret.data = i.data + i.rem;
   5937  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   5938  1.3  mrg     ret.rem = 0;
   5939  1.3  mrg     return ret;
   5940  1.3  mrg }
   5941  1.3  mrg 
   5942  1.3  mrg void
   5943  1.3  mrg xcb_input_modifier_info_next (xcb_input_modifier_info_iterator_t *i  /**< */)
   5944  1.3  mrg {
   5945  1.3  mrg     --i->rem;
   5946  1.3  mrg     ++i->data;
   5947  1.3  mrg     i->index += sizeof(xcb_input_modifier_info_t);
   5948  1.3  mrg }
   5949  1.3  mrg 
   5950  1.3  mrg xcb_generic_iterator_t
   5951  1.3  mrg xcb_input_modifier_info_end (xcb_input_modifier_info_iterator_t i  /**< */)
   5952  1.3  mrg {
   5953  1.3  mrg     xcb_generic_iterator_t ret;
   5954  1.3  mrg     ret.data = i.data + i.rem;
   5955  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   5956  1.3  mrg     ret.rem = 0;
   5957  1.3  mrg     return ret;
   5958  1.3  mrg }
   5959  1.3  mrg 
   5960  1.3  mrg int
   5961  1.3  mrg xcb_input_xi_query_pointer_sizeof (const void  *_buffer  /**< */)
   5962  1.3  mrg {
   5963  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   5964  1.3  mrg     const xcb_input_xi_query_pointer_reply_t *_aux = (xcb_input_xi_query_pointer_reply_t *)_buffer;
   5965  1.3  mrg     unsigned int xcb_buffer_len = 0;
   5966  1.3  mrg     unsigned int xcb_block_len = 0;
   5967  1.3  mrg     unsigned int xcb_pad = 0;
   5968  1.3  mrg     unsigned int xcb_align_to = 0;
   5969  1.3  mrg 
   5970  1.3  mrg 
   5971  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_query_pointer_reply_t);
   5972  1.3  mrg     xcb_tmp += xcb_block_len;
   5973  1.3  mrg     xcb_buffer_len += xcb_block_len;
   5974  1.3  mrg     xcb_block_len = 0;
   5975  1.3  mrg     /* buttons */
   5976  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   5977  1.3  mrg     xcb_tmp += xcb_block_len;
   5978  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   5979  1.3  mrg     /* insert padding */
   5980  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5981  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   5982  1.3  mrg     if (0 != xcb_pad) {
   5983  1.3  mrg         xcb_tmp += xcb_pad;
   5984  1.3  mrg         xcb_pad = 0;
   5985  1.3  mrg     }
   5986  1.3  mrg     xcb_block_len = 0;
   5987  1.3  mrg 
   5988  1.3  mrg     return xcb_buffer_len;
   5989  1.3  mrg }
   5990  1.3  mrg 
   5991  1.3  mrg xcb_input_xi_query_pointer_cookie_t
   5992  1.3  mrg xcb_input_xi_query_pointer (xcb_connection_t      *c  /**< */,
   5993  1.3  mrg                             xcb_window_t           window  /**< */,
   5994  1.3  mrg                             xcb_input_device_id_t  deviceid  /**< */)
   5995  1.3  mrg {
   5996  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   5997  1.3  mrg         /* count */ 2,
   5998  1.3  mrg         /* ext */ &xcb_input_id,
   5999  1.3  mrg         /* opcode */ XCB_INPUT_XI_QUERY_POINTER,
   6000  1.3  mrg         /* isvoid */ 0
   6001  1.3  mrg     };
   6002  1.4  mrg 
   6003  1.3  mrg     struct iovec xcb_parts[4];
   6004  1.3  mrg     xcb_input_xi_query_pointer_cookie_t xcb_ret;
   6005  1.3  mrg     xcb_input_xi_query_pointer_request_t xcb_out;
   6006  1.4  mrg 
   6007  1.3  mrg     xcb_out.window = window;
   6008  1.3  mrg     xcb_out.deviceid = deviceid;
   6009  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6010  1.4  mrg 
   6011  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6012  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6013  1.3  mrg     xcb_parts[3].iov_base = 0;
   6014  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6015  1.4  mrg 
   6016  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6017  1.3  mrg     return xcb_ret;
   6018  1.3  mrg }
   6019  1.3  mrg 
   6020  1.3  mrg xcb_input_xi_query_pointer_cookie_t
   6021  1.3  mrg xcb_input_xi_query_pointer_unchecked (xcb_connection_t      *c  /**< */,
   6022  1.3  mrg                                       xcb_window_t           window  /**< */,
   6023  1.3  mrg                                       xcb_input_device_id_t  deviceid  /**< */)
   6024  1.3  mrg {
   6025  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6026  1.3  mrg         /* count */ 2,
   6027  1.3  mrg         /* ext */ &xcb_input_id,
   6028  1.3  mrg         /* opcode */ XCB_INPUT_XI_QUERY_POINTER,
   6029  1.3  mrg         /* isvoid */ 0
   6030  1.3  mrg     };
   6031  1.4  mrg 
   6032  1.3  mrg     struct iovec xcb_parts[4];
   6033  1.3  mrg     xcb_input_xi_query_pointer_cookie_t xcb_ret;
   6034  1.3  mrg     xcb_input_xi_query_pointer_request_t xcb_out;
   6035  1.4  mrg 
   6036  1.3  mrg     xcb_out.window = window;
   6037  1.3  mrg     xcb_out.deviceid = deviceid;
   6038  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6039  1.4  mrg 
   6040  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6041  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6042  1.3  mrg     xcb_parts[3].iov_base = 0;
   6043  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6044  1.4  mrg 
   6045  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6046  1.3  mrg     return xcb_ret;
   6047  1.3  mrg }
   6048  1.3  mrg 
   6049  1.3  mrg uint32_t *
   6050  1.3  mrg xcb_input_xi_query_pointer_buttons (const xcb_input_xi_query_pointer_reply_t *R  /**< */)
   6051  1.3  mrg {
   6052  1.3  mrg     return (uint32_t *) (R + 1);
   6053  1.3  mrg }
   6054  1.3  mrg 
   6055  1.3  mrg int
   6056  1.3  mrg xcb_input_xi_query_pointer_buttons_length (const xcb_input_xi_query_pointer_reply_t *R  /**< */)
   6057  1.3  mrg {
   6058  1.3  mrg     return R->buttons_len;
   6059  1.3  mrg }
   6060  1.3  mrg 
   6061  1.3  mrg xcb_generic_iterator_t
   6062  1.3  mrg xcb_input_xi_query_pointer_buttons_end (const xcb_input_xi_query_pointer_reply_t *R  /**< */)
   6063  1.3  mrg {
   6064  1.3  mrg     xcb_generic_iterator_t i;
   6065  1.3  mrg     i.data = ((uint32_t *) (R + 1)) + (R->buttons_len);
   6066  1.3  mrg     i.rem = 0;
   6067  1.3  mrg     i.index = (char *) i.data - (char *) R;
   6068  1.3  mrg     return i;
   6069  1.3  mrg }
   6070  1.3  mrg 
   6071  1.3  mrg xcb_input_xi_query_pointer_reply_t *
   6072  1.3  mrg xcb_input_xi_query_pointer_reply (xcb_connection_t                     *c  /**< */,
   6073  1.3  mrg                                   xcb_input_xi_query_pointer_cookie_t   cookie  /**< */,
   6074  1.3  mrg                                   xcb_generic_error_t                 **e  /**< */)
   6075  1.3  mrg {
   6076  1.3  mrg     return (xcb_input_xi_query_pointer_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   6077  1.3  mrg }
   6078  1.3  mrg 
   6079  1.3  mrg xcb_void_cookie_t
   6080  1.3  mrg xcb_input_xi_warp_pointer_checked (xcb_connection_t      *c  /**< */,
   6081  1.3  mrg                                    xcb_window_t           src_win  /**< */,
   6082  1.3  mrg                                    xcb_window_t           dst_win  /**< */,
   6083  1.3  mrg                                    xcb_input_fp1616_t     src_x  /**< */,
   6084  1.3  mrg                                    xcb_input_fp1616_t     src_y  /**< */,
   6085  1.3  mrg                                    uint16_t               src_width  /**< */,
   6086  1.3  mrg                                    uint16_t               src_height  /**< */,
   6087  1.3  mrg                                    xcb_input_fp1616_t     dst_x  /**< */,
   6088  1.3  mrg                                    xcb_input_fp1616_t     dst_y  /**< */,
   6089  1.3  mrg                                    xcb_input_device_id_t  deviceid  /**< */)
   6090  1.3  mrg {
   6091  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6092  1.3  mrg         /* count */ 2,
   6093  1.3  mrg         /* ext */ &xcb_input_id,
   6094  1.3  mrg         /* opcode */ XCB_INPUT_XI_WARP_POINTER,
   6095  1.3  mrg         /* isvoid */ 1
   6096  1.3  mrg     };
   6097  1.4  mrg 
   6098  1.3  mrg     struct iovec xcb_parts[4];
   6099  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6100  1.3  mrg     xcb_input_xi_warp_pointer_request_t xcb_out;
   6101  1.4  mrg 
   6102  1.3  mrg     xcb_out.src_win = src_win;
   6103  1.3  mrg     xcb_out.dst_win = dst_win;
   6104  1.3  mrg     xcb_out.src_x = src_x;
   6105  1.3  mrg     xcb_out.src_y = src_y;
   6106  1.3  mrg     xcb_out.src_width = src_width;
   6107  1.3  mrg     xcb_out.src_height = src_height;
   6108  1.3  mrg     xcb_out.dst_x = dst_x;
   6109  1.3  mrg     xcb_out.dst_y = dst_y;
   6110  1.3  mrg     xcb_out.deviceid = deviceid;
   6111  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6112  1.4  mrg 
   6113  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6114  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6115  1.3  mrg     xcb_parts[3].iov_base = 0;
   6116  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6117  1.4  mrg 
   6118  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6119  1.3  mrg     return xcb_ret;
   6120  1.3  mrg }
   6121  1.3  mrg 
   6122  1.3  mrg xcb_void_cookie_t
   6123  1.3  mrg xcb_input_xi_warp_pointer (xcb_connection_t      *c  /**< */,
   6124  1.3  mrg                            xcb_window_t           src_win  /**< */,
   6125  1.3  mrg                            xcb_window_t           dst_win  /**< */,
   6126  1.3  mrg                            xcb_input_fp1616_t     src_x  /**< */,
   6127  1.3  mrg                            xcb_input_fp1616_t     src_y  /**< */,
   6128  1.3  mrg                            uint16_t               src_width  /**< */,
   6129  1.3  mrg                            uint16_t               src_height  /**< */,
   6130  1.3  mrg                            xcb_input_fp1616_t     dst_x  /**< */,
   6131  1.3  mrg                            xcb_input_fp1616_t     dst_y  /**< */,
   6132  1.3  mrg                            xcb_input_device_id_t  deviceid  /**< */)
   6133  1.3  mrg {
   6134  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6135  1.3  mrg         /* count */ 2,
   6136  1.3  mrg         /* ext */ &xcb_input_id,
   6137  1.3  mrg         /* opcode */ XCB_INPUT_XI_WARP_POINTER,
   6138  1.3  mrg         /* isvoid */ 1
   6139  1.3  mrg     };
   6140  1.4  mrg 
   6141  1.3  mrg     struct iovec xcb_parts[4];
   6142  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6143  1.3  mrg     xcb_input_xi_warp_pointer_request_t xcb_out;
   6144  1.4  mrg 
   6145  1.3  mrg     xcb_out.src_win = src_win;
   6146  1.3  mrg     xcb_out.dst_win = dst_win;
   6147  1.3  mrg     xcb_out.src_x = src_x;
   6148  1.3  mrg     xcb_out.src_y = src_y;
   6149  1.3  mrg     xcb_out.src_width = src_width;
   6150  1.3  mrg     xcb_out.src_height = src_height;
   6151  1.3  mrg     xcb_out.dst_x = dst_x;
   6152  1.3  mrg     xcb_out.dst_y = dst_y;
   6153  1.3  mrg     xcb_out.deviceid = deviceid;
   6154  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6155  1.4  mrg 
   6156  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6157  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6158  1.3  mrg     xcb_parts[3].iov_base = 0;
   6159  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6160  1.4  mrg 
   6161  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6162  1.3  mrg     return xcb_ret;
   6163  1.3  mrg }
   6164  1.3  mrg 
   6165  1.3  mrg xcb_void_cookie_t
   6166  1.3  mrg xcb_input_xi_change_cursor_checked (xcb_connection_t      *c  /**< */,
   6167  1.3  mrg                                     xcb_window_t           window  /**< */,
   6168  1.3  mrg                                     xcb_cursor_t           cursor  /**< */,
   6169  1.3  mrg                                     xcb_input_device_id_t  deviceid  /**< */)
   6170  1.3  mrg {
   6171  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6172  1.3  mrg         /* count */ 2,
   6173  1.3  mrg         /* ext */ &xcb_input_id,
   6174  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_CURSOR,
   6175  1.3  mrg         /* isvoid */ 1
   6176  1.3  mrg     };
   6177  1.4  mrg 
   6178  1.3  mrg     struct iovec xcb_parts[4];
   6179  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6180  1.3  mrg     xcb_input_xi_change_cursor_request_t xcb_out;
   6181  1.4  mrg 
   6182  1.3  mrg     xcb_out.window = window;
   6183  1.3  mrg     xcb_out.cursor = cursor;
   6184  1.3  mrg     xcb_out.deviceid = deviceid;
   6185  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6186  1.4  mrg 
   6187  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6188  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6189  1.3  mrg     xcb_parts[3].iov_base = 0;
   6190  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6191  1.4  mrg 
   6192  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6193  1.3  mrg     return xcb_ret;
   6194  1.3  mrg }
   6195  1.3  mrg 
   6196  1.3  mrg xcb_void_cookie_t
   6197  1.3  mrg xcb_input_xi_change_cursor (xcb_connection_t      *c  /**< */,
   6198  1.3  mrg                             xcb_window_t           window  /**< */,
   6199  1.3  mrg                             xcb_cursor_t           cursor  /**< */,
   6200  1.3  mrg                             xcb_input_device_id_t  deviceid  /**< */)
   6201  1.3  mrg {
   6202  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6203  1.3  mrg         /* count */ 2,
   6204  1.3  mrg         /* ext */ &xcb_input_id,
   6205  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_CURSOR,
   6206  1.3  mrg         /* isvoid */ 1
   6207  1.3  mrg     };
   6208  1.4  mrg 
   6209  1.3  mrg     struct iovec xcb_parts[4];
   6210  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6211  1.3  mrg     xcb_input_xi_change_cursor_request_t xcb_out;
   6212  1.4  mrg 
   6213  1.3  mrg     xcb_out.window = window;
   6214  1.3  mrg     xcb_out.cursor = cursor;
   6215  1.3  mrg     xcb_out.deviceid = deviceid;
   6216  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6217  1.4  mrg 
   6218  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6219  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6220  1.3  mrg     xcb_parts[3].iov_base = 0;
   6221  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6222  1.4  mrg 
   6223  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6224  1.3  mrg     return xcb_ret;
   6225  1.3  mrg }
   6226  1.3  mrg 
   6227  1.3  mrg int
   6228  1.3  mrg xcb_input_add_master_sizeof (const void  *_buffer  /**< */)
   6229  1.3  mrg {
   6230  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   6231  1.3  mrg     const xcb_input_add_master_t *_aux = (xcb_input_add_master_t *)_buffer;
   6232  1.3  mrg     unsigned int xcb_buffer_len = 0;
   6233  1.3  mrg     unsigned int xcb_block_len = 0;
   6234  1.3  mrg     unsigned int xcb_pad = 0;
   6235  1.3  mrg     unsigned int xcb_align_to = 0;
   6236  1.3  mrg 
   6237  1.3  mrg 
   6238  1.3  mrg     xcb_block_len += sizeof(xcb_input_add_master_t);
   6239  1.3  mrg     xcb_tmp += xcb_block_len;
   6240  1.3  mrg     xcb_buffer_len += xcb_block_len;
   6241  1.3  mrg     xcb_block_len = 0;
   6242  1.3  mrg     /* name */
   6243  1.3  mrg     xcb_block_len += _aux->name_len * sizeof(char);
   6244  1.3  mrg     xcb_tmp += xcb_block_len;
   6245  1.3  mrg     xcb_align_to = ALIGNOF(char);
   6246  1.3  mrg     /* insert padding */
   6247  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6248  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6249  1.3  mrg     if (0 != xcb_pad) {
   6250  1.3  mrg         xcb_tmp += xcb_pad;
   6251  1.3  mrg         xcb_pad = 0;
   6252  1.3  mrg     }
   6253  1.3  mrg     xcb_block_len = 0;
   6254  1.3  mrg 
   6255  1.3  mrg     return xcb_buffer_len;
   6256  1.3  mrg }
   6257  1.3  mrg 
   6258  1.3  mrg char *
   6259  1.3  mrg xcb_input_add_master_name (const xcb_input_add_master_t *R  /**< */)
   6260  1.3  mrg {
   6261  1.3  mrg     return (char *) (R + 1);
   6262  1.3  mrg }
   6263  1.3  mrg 
   6264  1.3  mrg int
   6265  1.3  mrg xcb_input_add_master_name_length (const xcb_input_add_master_t *R  /**< */)
   6266  1.3  mrg {
   6267  1.3  mrg     return R->name_len;
   6268  1.3  mrg }
   6269  1.3  mrg 
   6270  1.3  mrg xcb_generic_iterator_t
   6271  1.3  mrg xcb_input_add_master_name_end (const xcb_input_add_master_t *R  /**< */)
   6272  1.3  mrg {
   6273  1.3  mrg     xcb_generic_iterator_t i;
   6274  1.3  mrg     i.data = ((char *) (R + 1)) + (R->name_len);
   6275  1.3  mrg     i.rem = 0;
   6276  1.3  mrg     i.index = (char *) i.data - (char *) R;
   6277  1.3  mrg     return i;
   6278  1.3  mrg }
   6279  1.3  mrg 
   6280  1.3  mrg void
   6281  1.3  mrg xcb_input_add_master_next (xcb_input_add_master_iterator_t *i  /**< */)
   6282  1.3  mrg {
   6283  1.3  mrg     xcb_input_add_master_t *R = i->data;
   6284  1.3  mrg     xcb_generic_iterator_t child;
   6285  1.3  mrg     child.data = (xcb_input_add_master_t *)(((char *)R) + xcb_input_add_master_sizeof(R));
   6286  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   6287  1.3  mrg     --i->rem;
   6288  1.3  mrg     i->data = (xcb_input_add_master_t *) child.data;
   6289  1.3  mrg }
   6290  1.3  mrg 
   6291  1.3  mrg xcb_generic_iterator_t
   6292  1.3  mrg xcb_input_add_master_end (xcb_input_add_master_iterator_t i  /**< */)
   6293  1.3  mrg {
   6294  1.3  mrg     xcb_generic_iterator_t ret;
   6295  1.3  mrg     while(i.rem > 0)
   6296  1.3  mrg         xcb_input_add_master_next(&i);
   6297  1.3  mrg     ret.data = i.data;
   6298  1.3  mrg     ret.rem = i.rem;
   6299  1.3  mrg     ret.index = i.index;
   6300  1.3  mrg     return ret;
   6301  1.3  mrg }
   6302  1.3  mrg 
   6303  1.3  mrg void
   6304  1.3  mrg xcb_input_remove_master_next (xcb_input_remove_master_iterator_t *i  /**< */)
   6305  1.3  mrg {
   6306  1.3  mrg     --i->rem;
   6307  1.3  mrg     ++i->data;
   6308  1.3  mrg     i->index += sizeof(xcb_input_remove_master_t);
   6309  1.3  mrg }
   6310  1.3  mrg 
   6311  1.3  mrg xcb_generic_iterator_t
   6312  1.3  mrg xcb_input_remove_master_end (xcb_input_remove_master_iterator_t i  /**< */)
   6313  1.3  mrg {
   6314  1.3  mrg     xcb_generic_iterator_t ret;
   6315  1.3  mrg     ret.data = i.data + i.rem;
   6316  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   6317  1.3  mrg     ret.rem = 0;
   6318  1.3  mrg     return ret;
   6319  1.3  mrg }
   6320  1.3  mrg 
   6321  1.3  mrg void
   6322  1.3  mrg xcb_input_attach_slave_next (xcb_input_attach_slave_iterator_t *i  /**< */)
   6323  1.3  mrg {
   6324  1.3  mrg     --i->rem;
   6325  1.3  mrg     ++i->data;
   6326  1.3  mrg     i->index += sizeof(xcb_input_attach_slave_t);
   6327  1.3  mrg }
   6328  1.3  mrg 
   6329  1.3  mrg xcb_generic_iterator_t
   6330  1.3  mrg xcb_input_attach_slave_end (xcb_input_attach_slave_iterator_t i  /**< */)
   6331  1.3  mrg {
   6332  1.3  mrg     xcb_generic_iterator_t ret;
   6333  1.3  mrg     ret.data = i.data + i.rem;
   6334  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   6335  1.3  mrg     ret.rem = 0;
   6336  1.3  mrg     return ret;
   6337  1.3  mrg }
   6338  1.3  mrg 
   6339  1.3  mrg void
   6340  1.3  mrg xcb_input_detach_slave_next (xcb_input_detach_slave_iterator_t *i  /**< */)
   6341  1.3  mrg {
   6342  1.3  mrg     --i->rem;
   6343  1.3  mrg     ++i->data;
   6344  1.3  mrg     i->index += sizeof(xcb_input_detach_slave_t);
   6345  1.3  mrg }
   6346  1.3  mrg 
   6347  1.3  mrg xcb_generic_iterator_t
   6348  1.3  mrg xcb_input_detach_slave_end (xcb_input_detach_slave_iterator_t i  /**< */)
   6349  1.3  mrg {
   6350  1.3  mrg     xcb_generic_iterator_t ret;
   6351  1.3  mrg     ret.data = i.data + i.rem;
   6352  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   6353  1.3  mrg     ret.rem = 0;
   6354  1.3  mrg     return ret;
   6355  1.3  mrg }
   6356  1.3  mrg 
   6357  1.3  mrg int
   6358  1.3  mrg xcb_input_hierarchy_change_sizeof (const void  *_buffer  /**< */)
   6359  1.3  mrg {
   6360  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   6361  1.3  mrg     const xcb_input_hierarchy_change_t *_aux = (xcb_input_hierarchy_change_t *)_buffer;
   6362  1.3  mrg     unsigned int xcb_buffer_len = 0;
   6363  1.3  mrg     unsigned int xcb_block_len = 0;
   6364  1.3  mrg     unsigned int xcb_pad = 0;
   6365  1.3  mrg     unsigned int xcb_align_to = 0;
   6366  1.3  mrg 
   6367  1.3  mrg 
   6368  1.3  mrg     xcb_block_len += sizeof(xcb_input_hierarchy_change_t);
   6369  1.3  mrg     xcb_tmp += xcb_block_len;
   6370  1.3  mrg     xcb_buffer_len += xcb_block_len;
   6371  1.3  mrg     xcb_block_len = 0;
   6372  1.3  mrg     /* uninterpreted_data */
   6373  1.3  mrg     xcb_block_len += ((_aux->len * 4) - 4) * sizeof(uint8_t);
   6374  1.3  mrg     xcb_tmp += xcb_block_len;
   6375  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   6376  1.3  mrg     /* insert padding */
   6377  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6378  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6379  1.3  mrg     if (0 != xcb_pad) {
   6380  1.3  mrg         xcb_tmp += xcb_pad;
   6381  1.3  mrg         xcb_pad = 0;
   6382  1.3  mrg     }
   6383  1.3  mrg     xcb_block_len = 0;
   6384  1.3  mrg 
   6385  1.3  mrg     return xcb_buffer_len;
   6386  1.3  mrg }
   6387  1.3  mrg 
   6388  1.3  mrg uint8_t *
   6389  1.3  mrg xcb_input_hierarchy_change_uninterpreted_data (const xcb_input_hierarchy_change_t *R  /**< */)
   6390  1.3  mrg {
   6391  1.3  mrg     return (uint8_t *) (R + 1);
   6392  1.3  mrg }
   6393  1.3  mrg 
   6394  1.3  mrg int
   6395  1.3  mrg xcb_input_hierarchy_change_uninterpreted_data_length (const xcb_input_hierarchy_change_t *R  /**< */)
   6396  1.3  mrg {
   6397  1.3  mrg     return ((R->len * 4) - 4);
   6398  1.3  mrg }
   6399  1.3  mrg 
   6400  1.3  mrg xcb_generic_iterator_t
   6401  1.3  mrg xcb_input_hierarchy_change_uninterpreted_data_end (const xcb_input_hierarchy_change_t *R  /**< */)
   6402  1.3  mrg {
   6403  1.3  mrg     xcb_generic_iterator_t i;
   6404  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + (((R->len * 4) - 4));
   6405  1.3  mrg     i.rem = 0;
   6406  1.3  mrg     i.index = (char *) i.data - (char *) R;
   6407  1.3  mrg     return i;
   6408  1.3  mrg }
   6409  1.3  mrg 
   6410  1.3  mrg void
   6411  1.3  mrg xcb_input_hierarchy_change_next (xcb_input_hierarchy_change_iterator_t *i  /**< */)
   6412  1.3  mrg {
   6413  1.3  mrg     xcb_input_hierarchy_change_t *R = i->data;
   6414  1.3  mrg     xcb_generic_iterator_t child;
   6415  1.3  mrg     child.data = (xcb_input_hierarchy_change_t *)(((char *)R) + xcb_input_hierarchy_change_sizeof(R));
   6416  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   6417  1.3  mrg     --i->rem;
   6418  1.3  mrg     i->data = (xcb_input_hierarchy_change_t *) child.data;
   6419  1.3  mrg }
   6420  1.3  mrg 
   6421  1.3  mrg xcb_generic_iterator_t
   6422  1.3  mrg xcb_input_hierarchy_change_end (xcb_input_hierarchy_change_iterator_t i  /**< */)
   6423  1.3  mrg {
   6424  1.3  mrg     xcb_generic_iterator_t ret;
   6425  1.3  mrg     while(i.rem > 0)
   6426  1.3  mrg         xcb_input_hierarchy_change_next(&i);
   6427  1.3  mrg     ret.data = i.data;
   6428  1.3  mrg     ret.rem = i.rem;
   6429  1.3  mrg     ret.index = i.index;
   6430  1.3  mrg     return ret;
   6431  1.3  mrg }
   6432  1.3  mrg 
   6433  1.3  mrg int
   6434  1.3  mrg xcb_input_xi_change_hierarchy_sizeof (const void  *_buffer  /**< */)
   6435  1.3  mrg {
   6436  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   6437  1.3  mrg     const xcb_input_xi_change_hierarchy_request_t *_aux = (xcb_input_xi_change_hierarchy_request_t *)_buffer;
   6438  1.3  mrg     unsigned int xcb_buffer_len = 0;
   6439  1.3  mrg     unsigned int xcb_block_len = 0;
   6440  1.3  mrg     unsigned int xcb_pad = 0;
   6441  1.3  mrg     unsigned int xcb_align_to = 0;
   6442  1.3  mrg 
   6443  1.3  mrg     unsigned int i;
   6444  1.3  mrg     unsigned int xcb_tmp_len;
   6445  1.3  mrg 
   6446  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_change_hierarchy_request_t);
   6447  1.3  mrg     xcb_tmp += xcb_block_len;
   6448  1.3  mrg     xcb_buffer_len += xcb_block_len;
   6449  1.3  mrg     xcb_block_len = 0;
   6450  1.3  mrg     /* changes */
   6451  1.3  mrg     for(i=0; i<_aux->num_changes; i++) {
   6452  1.3  mrg         xcb_tmp_len = xcb_input_hierarchy_change_sizeof(xcb_tmp);
   6453  1.3  mrg         xcb_block_len += xcb_tmp_len;
   6454  1.3  mrg         xcb_tmp += xcb_tmp_len;
   6455  1.3  mrg     }
   6456  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_hierarchy_change_t);
   6457  1.3  mrg     /* insert padding */
   6458  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6459  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6460  1.3  mrg     if (0 != xcb_pad) {
   6461  1.3  mrg         xcb_tmp += xcb_pad;
   6462  1.3  mrg         xcb_pad = 0;
   6463  1.3  mrg     }
   6464  1.3  mrg     xcb_block_len = 0;
   6465  1.3  mrg 
   6466  1.3  mrg     return xcb_buffer_len;
   6467  1.3  mrg }
   6468  1.3  mrg 
   6469  1.3  mrg xcb_void_cookie_t
   6470  1.3  mrg xcb_input_xi_change_hierarchy_checked (xcb_connection_t                   *c  /**< */,
   6471  1.3  mrg                                        uint8_t                             num_changes  /**< */,
   6472  1.3  mrg                                        const xcb_input_hierarchy_change_t *changes  /**< */)
   6473  1.3  mrg {
   6474  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6475  1.3  mrg         /* count */ 4,
   6476  1.3  mrg         /* ext */ &xcb_input_id,
   6477  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_HIERARCHY,
   6478  1.3  mrg         /* isvoid */ 1
   6479  1.3  mrg     };
   6480  1.4  mrg 
   6481  1.3  mrg     struct iovec xcb_parts[6];
   6482  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6483  1.3  mrg     xcb_input_xi_change_hierarchy_request_t xcb_out;
   6484  1.3  mrg     unsigned int i;
   6485  1.3  mrg     unsigned int xcb_tmp_len;
   6486  1.3  mrg     char *xcb_tmp;
   6487  1.4  mrg 
   6488  1.3  mrg     xcb_out.num_changes = num_changes;
   6489  1.4  mrg     memset(xcb_out.pad0, 0, 3);
   6490  1.4  mrg 
   6491  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6492  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6493  1.3  mrg     xcb_parts[3].iov_base = 0;
   6494  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6495  1.3  mrg     /* xcb_input_hierarchy_change_t changes */
   6496  1.3  mrg     xcb_parts[4].iov_base = (char *) changes;
   6497  1.3  mrg     xcb_parts[4].iov_len = 0;
   6498  1.3  mrg     xcb_tmp = (char *)changes;
   6499  1.3  mrg     for(i=0; i<num_changes; i++) {
   6500  1.3  mrg         xcb_tmp_len = xcb_input_hierarchy_change_sizeof(xcb_tmp);
   6501  1.3  mrg         xcb_parts[4].iov_len += xcb_tmp_len;
   6502  1.3  mrg         xcb_tmp += xcb_tmp_len;
   6503  1.3  mrg     }
   6504  1.3  mrg     xcb_parts[5].iov_base = 0;
   6505  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   6506  1.4  mrg 
   6507  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6508  1.3  mrg     return xcb_ret;
   6509  1.3  mrg }
   6510  1.3  mrg 
   6511  1.3  mrg xcb_void_cookie_t
   6512  1.3  mrg xcb_input_xi_change_hierarchy (xcb_connection_t                   *c  /**< */,
   6513  1.3  mrg                                uint8_t                             num_changes  /**< */,
   6514  1.3  mrg                                const xcb_input_hierarchy_change_t *changes  /**< */)
   6515  1.3  mrg {
   6516  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6517  1.3  mrg         /* count */ 4,
   6518  1.3  mrg         /* ext */ &xcb_input_id,
   6519  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_HIERARCHY,
   6520  1.3  mrg         /* isvoid */ 1
   6521  1.3  mrg     };
   6522  1.4  mrg 
   6523  1.3  mrg     struct iovec xcb_parts[6];
   6524  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6525  1.3  mrg     xcb_input_xi_change_hierarchy_request_t xcb_out;
   6526  1.3  mrg     unsigned int i;
   6527  1.3  mrg     unsigned int xcb_tmp_len;
   6528  1.3  mrg     char *xcb_tmp;
   6529  1.4  mrg 
   6530  1.3  mrg     xcb_out.num_changes = num_changes;
   6531  1.4  mrg     memset(xcb_out.pad0, 0, 3);
   6532  1.4  mrg 
   6533  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6534  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6535  1.3  mrg     xcb_parts[3].iov_base = 0;
   6536  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6537  1.3  mrg     /* xcb_input_hierarchy_change_t changes */
   6538  1.3  mrg     xcb_parts[4].iov_base = (char *) changes;
   6539  1.3  mrg     xcb_parts[4].iov_len = 0;
   6540  1.3  mrg     xcb_tmp = (char *)changes;
   6541  1.3  mrg     for(i=0; i<num_changes; i++) {
   6542  1.3  mrg         xcb_tmp_len = xcb_input_hierarchy_change_sizeof(xcb_tmp);
   6543  1.3  mrg         xcb_parts[4].iov_len += xcb_tmp_len;
   6544  1.3  mrg         xcb_tmp += xcb_tmp_len;
   6545  1.3  mrg     }
   6546  1.3  mrg     xcb_parts[5].iov_base = 0;
   6547  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   6548  1.4  mrg 
   6549  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6550  1.3  mrg     return xcb_ret;
   6551  1.3  mrg }
   6552  1.3  mrg 
   6553  1.3  mrg xcb_void_cookie_t
   6554  1.3  mrg xcb_input_xi_set_client_pointer_checked (xcb_connection_t      *c  /**< */,
   6555  1.3  mrg                                          xcb_window_t           window  /**< */,
   6556  1.3  mrg                                          xcb_input_device_id_t  deviceid  /**< */)
   6557  1.3  mrg {
   6558  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6559  1.3  mrg         /* count */ 2,
   6560  1.3  mrg         /* ext */ &xcb_input_id,
   6561  1.3  mrg         /* opcode */ XCB_INPUT_XI_SET_CLIENT_POINTER,
   6562  1.3  mrg         /* isvoid */ 1
   6563  1.3  mrg     };
   6564  1.4  mrg 
   6565  1.3  mrg     struct iovec xcb_parts[4];
   6566  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6567  1.3  mrg     xcb_input_xi_set_client_pointer_request_t xcb_out;
   6568  1.4  mrg 
   6569  1.3  mrg     xcb_out.window = window;
   6570  1.3  mrg     xcb_out.deviceid = deviceid;
   6571  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6572  1.4  mrg 
   6573  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6574  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6575  1.3  mrg     xcb_parts[3].iov_base = 0;
   6576  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6577  1.4  mrg 
   6578  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6579  1.3  mrg     return xcb_ret;
   6580  1.3  mrg }
   6581  1.3  mrg 
   6582  1.3  mrg xcb_void_cookie_t
   6583  1.3  mrg xcb_input_xi_set_client_pointer (xcb_connection_t      *c  /**< */,
   6584  1.3  mrg                                  xcb_window_t           window  /**< */,
   6585  1.3  mrg                                  xcb_input_device_id_t  deviceid  /**< */)
   6586  1.3  mrg {
   6587  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6588  1.3  mrg         /* count */ 2,
   6589  1.3  mrg         /* ext */ &xcb_input_id,
   6590  1.3  mrg         /* opcode */ XCB_INPUT_XI_SET_CLIENT_POINTER,
   6591  1.3  mrg         /* isvoid */ 1
   6592  1.3  mrg     };
   6593  1.4  mrg 
   6594  1.3  mrg     struct iovec xcb_parts[4];
   6595  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6596  1.3  mrg     xcb_input_xi_set_client_pointer_request_t xcb_out;
   6597  1.4  mrg 
   6598  1.3  mrg     xcb_out.window = window;
   6599  1.3  mrg     xcb_out.deviceid = deviceid;
   6600  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6601  1.4  mrg 
   6602  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6603  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6604  1.3  mrg     xcb_parts[3].iov_base = 0;
   6605  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6606  1.4  mrg 
   6607  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6608  1.3  mrg     return xcb_ret;
   6609  1.3  mrg }
   6610  1.3  mrg 
   6611  1.3  mrg xcb_input_xi_get_client_pointer_cookie_t
   6612  1.3  mrg xcb_input_xi_get_client_pointer (xcb_connection_t *c  /**< */,
   6613  1.3  mrg                                  xcb_window_t      window  /**< */)
   6614  1.3  mrg {
   6615  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6616  1.3  mrg         /* count */ 2,
   6617  1.3  mrg         /* ext */ &xcb_input_id,
   6618  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_CLIENT_POINTER,
   6619  1.3  mrg         /* isvoid */ 0
   6620  1.3  mrg     };
   6621  1.4  mrg 
   6622  1.3  mrg     struct iovec xcb_parts[4];
   6623  1.3  mrg     xcb_input_xi_get_client_pointer_cookie_t xcb_ret;
   6624  1.3  mrg     xcb_input_xi_get_client_pointer_request_t xcb_out;
   6625  1.4  mrg 
   6626  1.3  mrg     xcb_out.window = window;
   6627  1.4  mrg 
   6628  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6629  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6630  1.3  mrg     xcb_parts[3].iov_base = 0;
   6631  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6632  1.4  mrg 
   6633  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6634  1.3  mrg     return xcb_ret;
   6635  1.3  mrg }
   6636  1.3  mrg 
   6637  1.3  mrg xcb_input_xi_get_client_pointer_cookie_t
   6638  1.3  mrg xcb_input_xi_get_client_pointer_unchecked (xcb_connection_t *c  /**< */,
   6639  1.3  mrg                                            xcb_window_t      window  /**< */)
   6640  1.3  mrg {
   6641  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6642  1.3  mrg         /* count */ 2,
   6643  1.3  mrg         /* ext */ &xcb_input_id,
   6644  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_CLIENT_POINTER,
   6645  1.3  mrg         /* isvoid */ 0
   6646  1.3  mrg     };
   6647  1.4  mrg 
   6648  1.3  mrg     struct iovec xcb_parts[4];
   6649  1.3  mrg     xcb_input_xi_get_client_pointer_cookie_t xcb_ret;
   6650  1.3  mrg     xcb_input_xi_get_client_pointer_request_t xcb_out;
   6651  1.4  mrg 
   6652  1.3  mrg     xcb_out.window = window;
   6653  1.4  mrg 
   6654  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6655  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6656  1.3  mrg     xcb_parts[3].iov_base = 0;
   6657  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6658  1.4  mrg 
   6659  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6660  1.3  mrg     return xcb_ret;
   6661  1.3  mrg }
   6662  1.3  mrg 
   6663  1.3  mrg xcb_input_xi_get_client_pointer_reply_t *
   6664  1.3  mrg xcb_input_xi_get_client_pointer_reply (xcb_connection_t                          *c  /**< */,
   6665  1.3  mrg                                        xcb_input_xi_get_client_pointer_cookie_t   cookie  /**< */,
   6666  1.3  mrg                                        xcb_generic_error_t                      **e  /**< */)
   6667  1.3  mrg {
   6668  1.3  mrg     return (xcb_input_xi_get_client_pointer_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   6669  1.3  mrg }
   6670  1.3  mrg 
   6671  1.3  mrg int
   6672  1.3  mrg xcb_input_event_mask_sizeof (const void  *_buffer  /**< */)
   6673  1.3  mrg {
   6674  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   6675  1.3  mrg     const xcb_input_event_mask_t *_aux = (xcb_input_event_mask_t *)_buffer;
   6676  1.3  mrg     unsigned int xcb_buffer_len = 0;
   6677  1.3  mrg     unsigned int xcb_block_len = 0;
   6678  1.3  mrg     unsigned int xcb_pad = 0;
   6679  1.3  mrg     unsigned int xcb_align_to = 0;
   6680  1.3  mrg 
   6681  1.3  mrg 
   6682  1.3  mrg     xcb_block_len += sizeof(xcb_input_event_mask_t);
   6683  1.3  mrg     xcb_tmp += xcb_block_len;
   6684  1.3  mrg     xcb_buffer_len += xcb_block_len;
   6685  1.3  mrg     xcb_block_len = 0;
   6686  1.3  mrg     /* mask */
   6687  1.3  mrg     xcb_block_len += _aux->mask_len * sizeof(uint32_t);
   6688  1.3  mrg     xcb_tmp += xcb_block_len;
   6689  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   6690  1.3  mrg     /* insert padding */
   6691  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6692  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6693  1.3  mrg     if (0 != xcb_pad) {
   6694  1.3  mrg         xcb_tmp += xcb_pad;
   6695  1.3  mrg         xcb_pad = 0;
   6696  1.3  mrg     }
   6697  1.3  mrg     xcb_block_len = 0;
   6698  1.3  mrg 
   6699  1.3  mrg     return xcb_buffer_len;
   6700  1.3  mrg }
   6701  1.3  mrg 
   6702  1.3  mrg uint32_t *
   6703  1.3  mrg xcb_input_event_mask_mask (const xcb_input_event_mask_t *R  /**< */)
   6704  1.3  mrg {
   6705  1.3  mrg     return (uint32_t *) (R + 1);
   6706  1.3  mrg }
   6707  1.3  mrg 
   6708  1.3  mrg int
   6709  1.3  mrg xcb_input_event_mask_mask_length (const xcb_input_event_mask_t *R  /**< */)
   6710  1.3  mrg {
   6711  1.3  mrg     return R->mask_len;
   6712  1.3  mrg }
   6713  1.3  mrg 
   6714  1.3  mrg xcb_generic_iterator_t
   6715  1.3  mrg xcb_input_event_mask_mask_end (const xcb_input_event_mask_t *R  /**< */)
   6716  1.3  mrg {
   6717  1.3  mrg     xcb_generic_iterator_t i;
   6718  1.3  mrg     i.data = ((uint32_t *) (R + 1)) + (R->mask_len);
   6719  1.3  mrg     i.rem = 0;
   6720  1.3  mrg     i.index = (char *) i.data - (char *) R;
   6721  1.3  mrg     return i;
   6722  1.3  mrg }
   6723  1.3  mrg 
   6724  1.3  mrg void
   6725  1.3  mrg xcb_input_event_mask_next (xcb_input_event_mask_iterator_t *i  /**< */)
   6726  1.3  mrg {
   6727  1.3  mrg     xcb_input_event_mask_t *R = i->data;
   6728  1.3  mrg     xcb_generic_iterator_t child;
   6729  1.3  mrg     child.data = (xcb_input_event_mask_t *)(((char *)R) + xcb_input_event_mask_sizeof(R));
   6730  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   6731  1.3  mrg     --i->rem;
   6732  1.3  mrg     i->data = (xcb_input_event_mask_t *) child.data;
   6733  1.3  mrg }
   6734  1.3  mrg 
   6735  1.3  mrg xcb_generic_iterator_t
   6736  1.3  mrg xcb_input_event_mask_end (xcb_input_event_mask_iterator_t i  /**< */)
   6737  1.3  mrg {
   6738  1.3  mrg     xcb_generic_iterator_t ret;
   6739  1.3  mrg     while(i.rem > 0)
   6740  1.3  mrg         xcb_input_event_mask_next(&i);
   6741  1.3  mrg     ret.data = i.data;
   6742  1.3  mrg     ret.rem = i.rem;
   6743  1.3  mrg     ret.index = i.index;
   6744  1.3  mrg     return ret;
   6745  1.3  mrg }
   6746  1.3  mrg 
   6747  1.3  mrg int
   6748  1.3  mrg xcb_input_xi_select_events_sizeof (const void  *_buffer  /**< */)
   6749  1.3  mrg {
   6750  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   6751  1.3  mrg     const xcb_input_xi_select_events_request_t *_aux = (xcb_input_xi_select_events_request_t *)_buffer;
   6752  1.3  mrg     unsigned int xcb_buffer_len = 0;
   6753  1.3  mrg     unsigned int xcb_block_len = 0;
   6754  1.3  mrg     unsigned int xcb_pad = 0;
   6755  1.3  mrg     unsigned int xcb_align_to = 0;
   6756  1.3  mrg 
   6757  1.3  mrg     unsigned int i;
   6758  1.3  mrg     unsigned int xcb_tmp_len;
   6759  1.3  mrg 
   6760  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_select_events_request_t);
   6761  1.3  mrg     xcb_tmp += xcb_block_len;
   6762  1.3  mrg     xcb_buffer_len += xcb_block_len;
   6763  1.3  mrg     xcb_block_len = 0;
   6764  1.3  mrg     /* masks */
   6765  1.3  mrg     for(i=0; i<_aux->num_mask; i++) {
   6766  1.3  mrg         xcb_tmp_len = xcb_input_event_mask_sizeof(xcb_tmp);
   6767  1.3  mrg         xcb_block_len += xcb_tmp_len;
   6768  1.3  mrg         xcb_tmp += xcb_tmp_len;
   6769  1.3  mrg     }
   6770  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_mask_t);
   6771  1.3  mrg     /* insert padding */
   6772  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6773  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6774  1.3  mrg     if (0 != xcb_pad) {
   6775  1.3  mrg         xcb_tmp += xcb_pad;
   6776  1.3  mrg         xcb_pad = 0;
   6777  1.3  mrg     }
   6778  1.3  mrg     xcb_block_len = 0;
   6779  1.3  mrg 
   6780  1.3  mrg     return xcb_buffer_len;
   6781  1.3  mrg }
   6782  1.3  mrg 
   6783  1.3  mrg xcb_void_cookie_t
   6784  1.3  mrg xcb_input_xi_select_events_checked (xcb_connection_t             *c  /**< */,
   6785  1.3  mrg                                     xcb_window_t                  window  /**< */,
   6786  1.3  mrg                                     uint16_t                      num_mask  /**< */,
   6787  1.3  mrg                                     const xcb_input_event_mask_t *masks  /**< */)
   6788  1.3  mrg {
   6789  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6790  1.3  mrg         /* count */ 4,
   6791  1.3  mrg         /* ext */ &xcb_input_id,
   6792  1.3  mrg         /* opcode */ XCB_INPUT_XI_SELECT_EVENTS,
   6793  1.3  mrg         /* isvoid */ 1
   6794  1.3  mrg     };
   6795  1.4  mrg 
   6796  1.3  mrg     struct iovec xcb_parts[6];
   6797  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6798  1.3  mrg     xcb_input_xi_select_events_request_t xcb_out;
   6799  1.3  mrg     unsigned int i;
   6800  1.3  mrg     unsigned int xcb_tmp_len;
   6801  1.3  mrg     char *xcb_tmp;
   6802  1.4  mrg 
   6803  1.3  mrg     xcb_out.window = window;
   6804  1.3  mrg     xcb_out.num_mask = num_mask;
   6805  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6806  1.4  mrg 
   6807  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6808  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6809  1.3  mrg     xcb_parts[3].iov_base = 0;
   6810  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6811  1.3  mrg     /* xcb_input_event_mask_t masks */
   6812  1.3  mrg     xcb_parts[4].iov_base = (char *) masks;
   6813  1.3  mrg     xcb_parts[4].iov_len = 0;
   6814  1.3  mrg     xcb_tmp = (char *)masks;
   6815  1.3  mrg     for(i=0; i<num_mask; i++) {
   6816  1.3  mrg         xcb_tmp_len = xcb_input_event_mask_sizeof(xcb_tmp);
   6817  1.3  mrg         xcb_parts[4].iov_len += xcb_tmp_len;
   6818  1.3  mrg         xcb_tmp += xcb_tmp_len;
   6819  1.3  mrg     }
   6820  1.3  mrg     xcb_parts[5].iov_base = 0;
   6821  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   6822  1.4  mrg 
   6823  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6824  1.3  mrg     return xcb_ret;
   6825  1.3  mrg }
   6826  1.3  mrg 
   6827  1.3  mrg xcb_void_cookie_t
   6828  1.3  mrg xcb_input_xi_select_events (xcb_connection_t             *c  /**< */,
   6829  1.3  mrg                             xcb_window_t                  window  /**< */,
   6830  1.3  mrg                             uint16_t                      num_mask  /**< */,
   6831  1.3  mrg                             const xcb_input_event_mask_t *masks  /**< */)
   6832  1.3  mrg {
   6833  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6834  1.3  mrg         /* count */ 4,
   6835  1.3  mrg         /* ext */ &xcb_input_id,
   6836  1.3  mrg         /* opcode */ XCB_INPUT_XI_SELECT_EVENTS,
   6837  1.3  mrg         /* isvoid */ 1
   6838  1.3  mrg     };
   6839  1.4  mrg 
   6840  1.3  mrg     struct iovec xcb_parts[6];
   6841  1.3  mrg     xcb_void_cookie_t xcb_ret;
   6842  1.3  mrg     xcb_input_xi_select_events_request_t xcb_out;
   6843  1.3  mrg     unsigned int i;
   6844  1.3  mrg     unsigned int xcb_tmp_len;
   6845  1.3  mrg     char *xcb_tmp;
   6846  1.4  mrg 
   6847  1.3  mrg     xcb_out.window = window;
   6848  1.3  mrg     xcb_out.num_mask = num_mask;
   6849  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   6850  1.4  mrg 
   6851  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6852  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6853  1.3  mrg     xcb_parts[3].iov_base = 0;
   6854  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6855  1.3  mrg     /* xcb_input_event_mask_t masks */
   6856  1.3  mrg     xcb_parts[4].iov_base = (char *) masks;
   6857  1.3  mrg     xcb_parts[4].iov_len = 0;
   6858  1.3  mrg     xcb_tmp = (char *)masks;
   6859  1.3  mrg     for(i=0; i<num_mask; i++) {
   6860  1.3  mrg         xcb_tmp_len = xcb_input_event_mask_sizeof(xcb_tmp);
   6861  1.3  mrg         xcb_parts[4].iov_len += xcb_tmp_len;
   6862  1.3  mrg         xcb_tmp += xcb_tmp_len;
   6863  1.3  mrg     }
   6864  1.3  mrg     xcb_parts[5].iov_base = 0;
   6865  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   6866  1.4  mrg 
   6867  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6868  1.3  mrg     return xcb_ret;
   6869  1.3  mrg }
   6870  1.3  mrg 
   6871  1.3  mrg xcb_input_xi_query_version_cookie_t
   6872  1.3  mrg xcb_input_xi_query_version (xcb_connection_t *c  /**< */,
   6873  1.3  mrg                             uint16_t          major_version  /**< */,
   6874  1.3  mrg                             uint16_t          minor_version  /**< */)
   6875  1.3  mrg {
   6876  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6877  1.3  mrg         /* count */ 2,
   6878  1.3  mrg         /* ext */ &xcb_input_id,
   6879  1.3  mrg         /* opcode */ XCB_INPUT_XI_QUERY_VERSION,
   6880  1.3  mrg         /* isvoid */ 0
   6881  1.3  mrg     };
   6882  1.4  mrg 
   6883  1.3  mrg     struct iovec xcb_parts[4];
   6884  1.3  mrg     xcb_input_xi_query_version_cookie_t xcb_ret;
   6885  1.3  mrg     xcb_input_xi_query_version_request_t xcb_out;
   6886  1.4  mrg 
   6887  1.3  mrg     xcb_out.major_version = major_version;
   6888  1.3  mrg     xcb_out.minor_version = minor_version;
   6889  1.4  mrg 
   6890  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6891  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6892  1.3  mrg     xcb_parts[3].iov_base = 0;
   6893  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6894  1.4  mrg 
   6895  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6896  1.3  mrg     return xcb_ret;
   6897  1.3  mrg }
   6898  1.3  mrg 
   6899  1.3  mrg xcb_input_xi_query_version_cookie_t
   6900  1.3  mrg xcb_input_xi_query_version_unchecked (xcb_connection_t *c  /**< */,
   6901  1.3  mrg                                       uint16_t          major_version  /**< */,
   6902  1.3  mrg                                       uint16_t          minor_version  /**< */)
   6903  1.3  mrg {
   6904  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   6905  1.3  mrg         /* count */ 2,
   6906  1.3  mrg         /* ext */ &xcb_input_id,
   6907  1.3  mrg         /* opcode */ XCB_INPUT_XI_QUERY_VERSION,
   6908  1.3  mrg         /* isvoid */ 0
   6909  1.3  mrg     };
   6910  1.4  mrg 
   6911  1.3  mrg     struct iovec xcb_parts[4];
   6912  1.3  mrg     xcb_input_xi_query_version_cookie_t xcb_ret;
   6913  1.3  mrg     xcb_input_xi_query_version_request_t xcb_out;
   6914  1.4  mrg 
   6915  1.3  mrg     xcb_out.major_version = major_version;
   6916  1.3  mrg     xcb_out.minor_version = minor_version;
   6917  1.4  mrg 
   6918  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   6919  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   6920  1.3  mrg     xcb_parts[3].iov_base = 0;
   6921  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6922  1.4  mrg 
   6923  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6924  1.3  mrg     return xcb_ret;
   6925  1.3  mrg }
   6926  1.3  mrg 
   6927  1.3  mrg xcb_input_xi_query_version_reply_t *
   6928  1.3  mrg xcb_input_xi_query_version_reply (xcb_connection_t                     *c  /**< */,
   6929  1.3  mrg                                   xcb_input_xi_query_version_cookie_t   cookie  /**< */,
   6930  1.3  mrg                                   xcb_generic_error_t                 **e  /**< */)
   6931  1.3  mrg {
   6932  1.3  mrg     return (xcb_input_xi_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   6933  1.3  mrg }
   6934  1.3  mrg 
   6935  1.3  mrg int
   6936  1.3  mrg xcb_input_button_class_sizeof (const void  *_buffer  /**< */)
   6937  1.3  mrg {
   6938  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   6939  1.3  mrg     const xcb_input_button_class_t *_aux = (xcb_input_button_class_t *)_buffer;
   6940  1.3  mrg     unsigned int xcb_buffer_len = 0;
   6941  1.3  mrg     unsigned int xcb_block_len = 0;
   6942  1.3  mrg     unsigned int xcb_pad = 0;
   6943  1.3  mrg     unsigned int xcb_align_to = 0;
   6944  1.3  mrg 
   6945  1.3  mrg 
   6946  1.3  mrg     xcb_block_len += sizeof(xcb_input_button_class_t);
   6947  1.3  mrg     xcb_tmp += xcb_block_len;
   6948  1.3  mrg     xcb_buffer_len += xcb_block_len;
   6949  1.3  mrg     xcb_block_len = 0;
   6950  1.3  mrg     /* state */
   6951  1.3  mrg     xcb_block_len += ((_aux->num_buttons + 31) / 32) * sizeof(xcb_atom_t);
   6952  1.3  mrg     xcb_tmp += xcb_block_len;
   6953  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   6954  1.3  mrg     /* insert padding */
   6955  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6956  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6957  1.3  mrg     if (0 != xcb_pad) {
   6958  1.3  mrg         xcb_tmp += xcb_pad;
   6959  1.3  mrg         xcb_pad = 0;
   6960  1.3  mrg     }
   6961  1.3  mrg     xcb_block_len = 0;
   6962  1.3  mrg     /* labels */
   6963  1.3  mrg     xcb_block_len += _aux->num_buttons * sizeof(xcb_atom_t);
   6964  1.3  mrg     xcb_tmp += xcb_block_len;
   6965  1.3  mrg     xcb_align_to = ALIGNOF(xcb_atom_t);
   6966  1.3  mrg     /* insert padding */
   6967  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6968  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   6969  1.3  mrg     if (0 != xcb_pad) {
   6970  1.3  mrg         xcb_tmp += xcb_pad;
   6971  1.3  mrg         xcb_pad = 0;
   6972  1.3  mrg     }
   6973  1.3  mrg     xcb_block_len = 0;
   6974  1.3  mrg 
   6975  1.3  mrg     return xcb_buffer_len;
   6976  1.3  mrg }
   6977  1.3  mrg 
   6978  1.3  mrg uint32_t *
   6979  1.3  mrg xcb_input_button_class_state (const xcb_input_button_class_t *R  /**< */)
   6980  1.3  mrg {
   6981  1.3  mrg     return (uint32_t *) (R + 1);
   6982  1.3  mrg }
   6983  1.3  mrg 
   6984  1.3  mrg int
   6985  1.3  mrg xcb_input_button_class_state_length (const xcb_input_button_class_t *R  /**< */)
   6986  1.3  mrg {
   6987  1.3  mrg     return ((R->num_buttons + 31) / 32);
   6988  1.3  mrg }
   6989  1.3  mrg 
   6990  1.3  mrg xcb_generic_iterator_t
   6991  1.3  mrg xcb_input_button_class_state_end (const xcb_input_button_class_t *R  /**< */)
   6992  1.3  mrg {
   6993  1.3  mrg     xcb_generic_iterator_t i;
   6994  1.3  mrg     i.data = ((uint32_t *) (R + 1)) + (((R->num_buttons + 31) / 32));
   6995  1.3  mrg     i.rem = 0;
   6996  1.3  mrg     i.index = (char *) i.data - (char *) R;
   6997  1.3  mrg     return i;
   6998  1.3  mrg }
   6999  1.3  mrg 
   7000  1.3  mrg xcb_atom_t *
   7001  1.3  mrg xcb_input_button_class_labels (const xcb_input_button_class_t *R  /**< */)
   7002  1.3  mrg {
   7003  1.3  mrg     xcb_generic_iterator_t prev = xcb_input_button_class_state_end(R);
   7004  1.3  mrg     return (xcb_atom_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_atom_t, prev.index) + 0);
   7005  1.3  mrg }
   7006  1.3  mrg 
   7007  1.3  mrg int
   7008  1.3  mrg xcb_input_button_class_labels_length (const xcb_input_button_class_t *R  /**< */)
   7009  1.3  mrg {
   7010  1.3  mrg     return R->num_buttons;
   7011  1.3  mrg }
   7012  1.3  mrg 
   7013  1.3  mrg xcb_generic_iterator_t
   7014  1.3  mrg xcb_input_button_class_labels_end (const xcb_input_button_class_t *R  /**< */)
   7015  1.3  mrg {
   7016  1.3  mrg     xcb_generic_iterator_t i;
   7017  1.3  mrg     xcb_generic_iterator_t child = xcb_input_button_class_state_end(R);
   7018  1.3  mrg     i.data = ((xcb_atom_t *) child.data) + (R->num_buttons);
   7019  1.3  mrg     i.rem = 0;
   7020  1.3  mrg     i.index = (char *) i.data - (char *) R;
   7021  1.3  mrg     return i;
   7022  1.3  mrg }
   7023  1.3  mrg 
   7024  1.3  mrg void
   7025  1.3  mrg xcb_input_button_class_next (xcb_input_button_class_iterator_t *i  /**< */)
   7026  1.3  mrg {
   7027  1.3  mrg     xcb_input_button_class_t *R = i->data;
   7028  1.3  mrg     xcb_generic_iterator_t child;
   7029  1.3  mrg     child.data = (xcb_input_button_class_t *)(((char *)R) + xcb_input_button_class_sizeof(R));
   7030  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   7031  1.3  mrg     --i->rem;
   7032  1.3  mrg     i->data = (xcb_input_button_class_t *) child.data;
   7033  1.3  mrg }
   7034  1.3  mrg 
   7035  1.3  mrg xcb_generic_iterator_t
   7036  1.3  mrg xcb_input_button_class_end (xcb_input_button_class_iterator_t i  /**< */)
   7037  1.3  mrg {
   7038  1.3  mrg     xcb_generic_iterator_t ret;
   7039  1.3  mrg     while(i.rem > 0)
   7040  1.3  mrg         xcb_input_button_class_next(&i);
   7041  1.3  mrg     ret.data = i.data;
   7042  1.3  mrg     ret.rem = i.rem;
   7043  1.3  mrg     ret.index = i.index;
   7044  1.3  mrg     return ret;
   7045  1.3  mrg }
   7046  1.3  mrg 
   7047  1.3  mrg int
   7048  1.3  mrg xcb_input_key_class_sizeof (const void  *_buffer  /**< */)
   7049  1.3  mrg {
   7050  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   7051  1.3  mrg     const xcb_input_key_class_t *_aux = (xcb_input_key_class_t *)_buffer;
   7052  1.3  mrg     unsigned int xcb_buffer_len = 0;
   7053  1.3  mrg     unsigned int xcb_block_len = 0;
   7054  1.3  mrg     unsigned int xcb_pad = 0;
   7055  1.3  mrg     unsigned int xcb_align_to = 0;
   7056  1.3  mrg 
   7057  1.3  mrg 
   7058  1.3  mrg     xcb_block_len += sizeof(xcb_input_key_class_t);
   7059  1.3  mrg     xcb_tmp += xcb_block_len;
   7060  1.3  mrg     xcb_buffer_len += xcb_block_len;
   7061  1.3  mrg     xcb_block_len = 0;
   7062  1.3  mrg     /* keys */
   7063  1.3  mrg     xcb_block_len += _aux->num_keys * sizeof(uint32_t);
   7064  1.3  mrg     xcb_tmp += xcb_block_len;
   7065  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   7066  1.3  mrg     /* insert padding */
   7067  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7068  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7069  1.3  mrg     if (0 != xcb_pad) {
   7070  1.3  mrg         xcb_tmp += xcb_pad;
   7071  1.3  mrg         xcb_pad = 0;
   7072  1.3  mrg     }
   7073  1.3  mrg     xcb_block_len = 0;
   7074  1.3  mrg 
   7075  1.3  mrg     return xcb_buffer_len;
   7076  1.3  mrg }
   7077  1.3  mrg 
   7078  1.3  mrg uint32_t *
   7079  1.3  mrg xcb_input_key_class_keys (const xcb_input_key_class_t *R  /**< */)
   7080  1.3  mrg {
   7081  1.3  mrg     return (uint32_t *) (R + 1);
   7082  1.3  mrg }
   7083  1.3  mrg 
   7084  1.3  mrg int
   7085  1.3  mrg xcb_input_key_class_keys_length (const xcb_input_key_class_t *R  /**< */)
   7086  1.3  mrg {
   7087  1.3  mrg     return R->num_keys;
   7088  1.3  mrg }
   7089  1.3  mrg 
   7090  1.3  mrg xcb_generic_iterator_t
   7091  1.3  mrg xcb_input_key_class_keys_end (const xcb_input_key_class_t *R  /**< */)
   7092  1.3  mrg {
   7093  1.3  mrg     xcb_generic_iterator_t i;
   7094  1.3  mrg     i.data = ((uint32_t *) (R + 1)) + (R->num_keys);
   7095  1.3  mrg     i.rem = 0;
   7096  1.3  mrg     i.index = (char *) i.data - (char *) R;
   7097  1.3  mrg     return i;
   7098  1.3  mrg }
   7099  1.3  mrg 
   7100  1.3  mrg void
   7101  1.3  mrg xcb_input_key_class_next (xcb_input_key_class_iterator_t *i  /**< */)
   7102  1.3  mrg {
   7103  1.3  mrg     xcb_input_key_class_t *R = i->data;
   7104  1.3  mrg     xcb_generic_iterator_t child;
   7105  1.3  mrg     child.data = (xcb_input_key_class_t *)(((char *)R) + xcb_input_key_class_sizeof(R));
   7106  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   7107  1.3  mrg     --i->rem;
   7108  1.3  mrg     i->data = (xcb_input_key_class_t *) child.data;
   7109  1.3  mrg }
   7110  1.3  mrg 
   7111  1.3  mrg xcb_generic_iterator_t
   7112  1.3  mrg xcb_input_key_class_end (xcb_input_key_class_iterator_t i  /**< */)
   7113  1.3  mrg {
   7114  1.3  mrg     xcb_generic_iterator_t ret;
   7115  1.3  mrg     while(i.rem > 0)
   7116  1.3  mrg         xcb_input_key_class_next(&i);
   7117  1.3  mrg     ret.data = i.data;
   7118  1.3  mrg     ret.rem = i.rem;
   7119  1.3  mrg     ret.index = i.index;
   7120  1.3  mrg     return ret;
   7121  1.3  mrg }
   7122  1.3  mrg 
   7123  1.3  mrg void
   7124  1.3  mrg xcb_input_scroll_class_next (xcb_input_scroll_class_iterator_t *i  /**< */)
   7125  1.3  mrg {
   7126  1.3  mrg     --i->rem;
   7127  1.3  mrg     ++i->data;
   7128  1.3  mrg     i->index += sizeof(xcb_input_scroll_class_t);
   7129  1.3  mrg }
   7130  1.3  mrg 
   7131  1.3  mrg xcb_generic_iterator_t
   7132  1.3  mrg xcb_input_scroll_class_end (xcb_input_scroll_class_iterator_t i  /**< */)
   7133  1.3  mrg {
   7134  1.3  mrg     xcb_generic_iterator_t ret;
   7135  1.3  mrg     ret.data = i.data + i.rem;
   7136  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   7137  1.3  mrg     ret.rem = 0;
   7138  1.3  mrg     return ret;
   7139  1.3  mrg }
   7140  1.3  mrg 
   7141  1.3  mrg void
   7142  1.3  mrg xcb_input_touch_class_next (xcb_input_touch_class_iterator_t *i  /**< */)
   7143  1.3  mrg {
   7144  1.3  mrg     --i->rem;
   7145  1.3  mrg     ++i->data;
   7146  1.3  mrg     i->index += sizeof(xcb_input_touch_class_t);
   7147  1.3  mrg }
   7148  1.3  mrg 
   7149  1.3  mrg xcb_generic_iterator_t
   7150  1.3  mrg xcb_input_touch_class_end (xcb_input_touch_class_iterator_t i  /**< */)
   7151  1.3  mrg {
   7152  1.3  mrg     xcb_generic_iterator_t ret;
   7153  1.3  mrg     ret.data = i.data + i.rem;
   7154  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   7155  1.3  mrg     ret.rem = 0;
   7156  1.3  mrg     return ret;
   7157  1.3  mrg }
   7158  1.3  mrg 
   7159  1.3  mrg void
   7160  1.3  mrg xcb_input_valuator_class_next (xcb_input_valuator_class_iterator_t *i  /**< */)
   7161  1.3  mrg {
   7162  1.3  mrg     --i->rem;
   7163  1.3  mrg     ++i->data;
   7164  1.3  mrg     i->index += sizeof(xcb_input_valuator_class_t);
   7165  1.3  mrg }
   7166  1.3  mrg 
   7167  1.3  mrg xcb_generic_iterator_t
   7168  1.3  mrg xcb_input_valuator_class_end (xcb_input_valuator_class_iterator_t i  /**< */)
   7169  1.3  mrg {
   7170  1.3  mrg     xcb_generic_iterator_t ret;
   7171  1.3  mrg     ret.data = i.data + i.rem;
   7172  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   7173  1.3  mrg     ret.rem = 0;
   7174  1.3  mrg     return ret;
   7175  1.3  mrg }
   7176  1.3  mrg 
   7177  1.3  mrg int
   7178  1.3  mrg xcb_input_device_class_sizeof (const void  *_buffer  /**< */)
   7179  1.3  mrg {
   7180  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   7181  1.3  mrg     const xcb_input_device_class_t *_aux = (xcb_input_device_class_t *)_buffer;
   7182  1.3  mrg     unsigned int xcb_buffer_len = 0;
   7183  1.3  mrg     unsigned int xcb_block_len = 0;
   7184  1.3  mrg     unsigned int xcb_pad = 0;
   7185  1.3  mrg     unsigned int xcb_align_to = 0;
   7186  1.3  mrg 
   7187  1.3  mrg 
   7188  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_class_t);
   7189  1.3  mrg     xcb_tmp += xcb_block_len;
   7190  1.3  mrg     xcb_buffer_len += xcb_block_len;
   7191  1.3  mrg     xcb_block_len = 0;
   7192  1.3  mrg     /* uninterpreted_data */
   7193  1.3  mrg     xcb_block_len += ((_aux->len * 4) - 8) * sizeof(uint8_t);
   7194  1.3  mrg     xcb_tmp += xcb_block_len;
   7195  1.3  mrg     xcb_align_to = ALIGNOF(uint8_t);
   7196  1.3  mrg     /* insert padding */
   7197  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7198  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7199  1.3  mrg     if (0 != xcb_pad) {
   7200  1.3  mrg         xcb_tmp += xcb_pad;
   7201  1.3  mrg         xcb_pad = 0;
   7202  1.3  mrg     }
   7203  1.3  mrg     xcb_block_len = 0;
   7204  1.3  mrg 
   7205  1.3  mrg     return xcb_buffer_len;
   7206  1.3  mrg }
   7207  1.3  mrg 
   7208  1.3  mrg uint8_t *
   7209  1.3  mrg xcb_input_device_class_uninterpreted_data (const xcb_input_device_class_t *R  /**< */)
   7210  1.3  mrg {
   7211  1.3  mrg     return (uint8_t *) (R + 1);
   7212  1.3  mrg }
   7213  1.3  mrg 
   7214  1.3  mrg int
   7215  1.3  mrg xcb_input_device_class_uninterpreted_data_length (const xcb_input_device_class_t *R  /**< */)
   7216  1.3  mrg {
   7217  1.3  mrg     return ((R->len * 4) - 8);
   7218  1.3  mrg }
   7219  1.3  mrg 
   7220  1.3  mrg xcb_generic_iterator_t
   7221  1.3  mrg xcb_input_device_class_uninterpreted_data_end (const xcb_input_device_class_t *R  /**< */)
   7222  1.3  mrg {
   7223  1.3  mrg     xcb_generic_iterator_t i;
   7224  1.3  mrg     i.data = ((uint8_t *) (R + 1)) + (((R->len * 4) - 8));
   7225  1.3  mrg     i.rem = 0;
   7226  1.3  mrg     i.index = (char *) i.data - (char *) R;
   7227  1.3  mrg     return i;
   7228  1.3  mrg }
   7229  1.3  mrg 
   7230  1.3  mrg void
   7231  1.3  mrg xcb_input_device_class_next (xcb_input_device_class_iterator_t *i  /**< */)
   7232  1.3  mrg {
   7233  1.3  mrg     xcb_input_device_class_t *R = i->data;
   7234  1.3  mrg     xcb_generic_iterator_t child;
   7235  1.3  mrg     child.data = (xcb_input_device_class_t *)(((char *)R) + xcb_input_device_class_sizeof(R));
   7236  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   7237  1.3  mrg     --i->rem;
   7238  1.3  mrg     i->data = (xcb_input_device_class_t *) child.data;
   7239  1.3  mrg }
   7240  1.3  mrg 
   7241  1.3  mrg xcb_generic_iterator_t
   7242  1.3  mrg xcb_input_device_class_end (xcb_input_device_class_iterator_t i  /**< */)
   7243  1.3  mrg {
   7244  1.3  mrg     xcb_generic_iterator_t ret;
   7245  1.3  mrg     while(i.rem > 0)
   7246  1.3  mrg         xcb_input_device_class_next(&i);
   7247  1.3  mrg     ret.data = i.data;
   7248  1.3  mrg     ret.rem = i.rem;
   7249  1.3  mrg     ret.index = i.index;
   7250  1.3  mrg     return ret;
   7251  1.3  mrg }
   7252  1.3  mrg 
   7253  1.3  mrg int
   7254  1.3  mrg xcb_input_xi_device_info_sizeof (const void  *_buffer  /**< */)
   7255  1.3  mrg {
   7256  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   7257  1.3  mrg     const xcb_input_xi_device_info_t *_aux = (xcb_input_xi_device_info_t *)_buffer;
   7258  1.3  mrg     unsigned int xcb_buffer_len = 0;
   7259  1.3  mrg     unsigned int xcb_block_len = 0;
   7260  1.3  mrg     unsigned int xcb_pad = 0;
   7261  1.3  mrg     unsigned int xcb_align_to = 0;
   7262  1.3  mrg 
   7263  1.3  mrg     unsigned int i;
   7264  1.3  mrg     unsigned int xcb_tmp_len;
   7265  1.3  mrg 
   7266  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_device_info_t);
   7267  1.3  mrg     xcb_tmp += xcb_block_len;
   7268  1.3  mrg     xcb_buffer_len += xcb_block_len;
   7269  1.3  mrg     xcb_block_len = 0;
   7270  1.3  mrg     /* name */
   7271  1.3  mrg     xcb_block_len += (((_aux->name_len + 3) / 4) * 4) * sizeof(char);
   7272  1.3  mrg     xcb_tmp += xcb_block_len;
   7273  1.3  mrg     xcb_align_to = ALIGNOF(char);
   7274  1.3  mrg     /* insert padding */
   7275  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7276  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7277  1.3  mrg     if (0 != xcb_pad) {
   7278  1.3  mrg         xcb_tmp += xcb_pad;
   7279  1.3  mrg         xcb_pad = 0;
   7280  1.3  mrg     }
   7281  1.3  mrg     xcb_block_len = 0;
   7282  1.3  mrg     /* classes */
   7283  1.3  mrg     for(i=0; i<_aux->num_classes; i++) {
   7284  1.3  mrg         xcb_tmp_len = xcb_input_device_class_sizeof(xcb_tmp);
   7285  1.3  mrg         xcb_block_len += xcb_tmp_len;
   7286  1.3  mrg         xcb_tmp += xcb_tmp_len;
   7287  1.3  mrg     }
   7288  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_device_class_t);
   7289  1.3  mrg     /* insert padding */
   7290  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7291  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7292  1.3  mrg     if (0 != xcb_pad) {
   7293  1.3  mrg         xcb_tmp += xcb_pad;
   7294  1.3  mrg         xcb_pad = 0;
   7295  1.3  mrg     }
   7296  1.3  mrg     xcb_block_len = 0;
   7297  1.3  mrg 
   7298  1.3  mrg     return xcb_buffer_len;
   7299  1.3  mrg }
   7300  1.3  mrg 
   7301  1.3  mrg char *
   7302  1.3  mrg xcb_input_xi_device_info_name (const xcb_input_xi_device_info_t *R  /**< */)
   7303  1.3  mrg {
   7304  1.3  mrg     return (char *) (R + 1);
   7305  1.3  mrg }
   7306  1.3  mrg 
   7307  1.3  mrg int
   7308  1.3  mrg xcb_input_xi_device_info_name_length (const xcb_input_xi_device_info_t *R  /**< */)
   7309  1.3  mrg {
   7310  1.3  mrg     return (((R->name_len + 3) / 4) * 4);
   7311  1.3  mrg }
   7312  1.3  mrg 
   7313  1.3  mrg xcb_generic_iterator_t
   7314  1.3  mrg xcb_input_xi_device_info_name_end (const xcb_input_xi_device_info_t *R  /**< */)
   7315  1.3  mrg {
   7316  1.3  mrg     xcb_generic_iterator_t i;
   7317  1.3  mrg     i.data = ((char *) (R + 1)) + ((((R->name_len + 3) / 4) * 4));
   7318  1.3  mrg     i.rem = 0;
   7319  1.3  mrg     i.index = (char *) i.data - (char *) R;
   7320  1.3  mrg     return i;
   7321  1.3  mrg }
   7322  1.3  mrg 
   7323  1.3  mrg int
   7324  1.3  mrg xcb_input_xi_device_info_classes_length (const xcb_input_xi_device_info_t *R  /**< */)
   7325  1.3  mrg {
   7326  1.3  mrg     return R->num_classes;
   7327  1.3  mrg }
   7328  1.3  mrg 
   7329  1.3  mrg xcb_input_device_class_iterator_t
   7330  1.3  mrg xcb_input_xi_device_info_classes_iterator (const xcb_input_xi_device_info_t *R  /**< */)
   7331  1.3  mrg {
   7332  1.3  mrg     xcb_input_device_class_iterator_t i;
   7333  1.3  mrg     xcb_generic_iterator_t prev = xcb_input_xi_device_info_name_end(R);
   7334  1.3  mrg     i.data = (xcb_input_device_class_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_input_device_class_t, prev.index));
   7335  1.3  mrg     i.rem = R->num_classes;
   7336  1.3  mrg     i.index = (char *) i.data - (char *) R;
   7337  1.3  mrg     return i;
   7338  1.3  mrg }
   7339  1.3  mrg 
   7340  1.3  mrg void
   7341  1.3  mrg xcb_input_xi_device_info_next (xcb_input_xi_device_info_iterator_t *i  /**< */)
   7342  1.3  mrg {
   7343  1.3  mrg     xcb_input_xi_device_info_t *R = i->data;
   7344  1.3  mrg     xcb_generic_iterator_t child;
   7345  1.3  mrg     child.data = (xcb_input_xi_device_info_t *)(((char *)R) + xcb_input_xi_device_info_sizeof(R));
   7346  1.3  mrg     i->index = (char *) child.data - (char *) i->data;
   7347  1.3  mrg     --i->rem;
   7348  1.3  mrg     i->data = (xcb_input_xi_device_info_t *) child.data;
   7349  1.3  mrg }
   7350  1.3  mrg 
   7351  1.3  mrg xcb_generic_iterator_t
   7352  1.3  mrg xcb_input_xi_device_info_end (xcb_input_xi_device_info_iterator_t i  /**< */)
   7353  1.3  mrg {
   7354  1.3  mrg     xcb_generic_iterator_t ret;
   7355  1.3  mrg     while(i.rem > 0)
   7356  1.3  mrg         xcb_input_xi_device_info_next(&i);
   7357  1.3  mrg     ret.data = i.data;
   7358  1.3  mrg     ret.rem = i.rem;
   7359  1.3  mrg     ret.index = i.index;
   7360  1.3  mrg     return ret;
   7361  1.3  mrg }
   7362  1.3  mrg 
   7363  1.3  mrg int
   7364  1.3  mrg xcb_input_xi_query_device_sizeof (const void  *_buffer  /**< */)
   7365  1.3  mrg {
   7366  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   7367  1.3  mrg     const xcb_input_xi_query_device_reply_t *_aux = (xcb_input_xi_query_device_reply_t *)_buffer;
   7368  1.3  mrg     unsigned int xcb_buffer_len = 0;
   7369  1.3  mrg     unsigned int xcb_block_len = 0;
   7370  1.3  mrg     unsigned int xcb_pad = 0;
   7371  1.3  mrg     unsigned int xcb_align_to = 0;
   7372  1.3  mrg 
   7373  1.3  mrg     unsigned int i;
   7374  1.3  mrg     unsigned int xcb_tmp_len;
   7375  1.3  mrg 
   7376  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_query_device_reply_t);
   7377  1.3  mrg     xcb_tmp += xcb_block_len;
   7378  1.3  mrg     xcb_buffer_len += xcb_block_len;
   7379  1.3  mrg     xcb_block_len = 0;
   7380  1.3  mrg     /* infos */
   7381  1.3  mrg     for(i=0; i<_aux->num_infos; i++) {
   7382  1.3  mrg         xcb_tmp_len = xcb_input_xi_device_info_sizeof(xcb_tmp);
   7383  1.3  mrg         xcb_block_len += xcb_tmp_len;
   7384  1.3  mrg         xcb_tmp += xcb_tmp_len;
   7385  1.3  mrg     }
   7386  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_xi_device_info_t);
   7387  1.3  mrg     /* insert padding */
   7388  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7389  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7390  1.3  mrg     if (0 != xcb_pad) {
   7391  1.3  mrg         xcb_tmp += xcb_pad;
   7392  1.3  mrg         xcb_pad = 0;
   7393  1.3  mrg     }
   7394  1.3  mrg     xcb_block_len = 0;
   7395  1.3  mrg 
   7396  1.3  mrg     return xcb_buffer_len;
   7397  1.3  mrg }
   7398  1.3  mrg 
   7399  1.3  mrg xcb_input_xi_query_device_cookie_t
   7400  1.3  mrg xcb_input_xi_query_device (xcb_connection_t      *c  /**< */,
   7401  1.3  mrg                            xcb_input_device_id_t  deviceid  /**< */)
   7402  1.3  mrg {
   7403  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7404  1.3  mrg         /* count */ 2,
   7405  1.3  mrg         /* ext */ &xcb_input_id,
   7406  1.3  mrg         /* opcode */ XCB_INPUT_XI_QUERY_DEVICE,
   7407  1.3  mrg         /* isvoid */ 0
   7408  1.3  mrg     };
   7409  1.4  mrg 
   7410  1.3  mrg     struct iovec xcb_parts[4];
   7411  1.3  mrg     xcb_input_xi_query_device_cookie_t xcb_ret;
   7412  1.3  mrg     xcb_input_xi_query_device_request_t xcb_out;
   7413  1.4  mrg 
   7414  1.3  mrg     xcb_out.deviceid = deviceid;
   7415  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7416  1.4  mrg 
   7417  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7418  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7419  1.3  mrg     xcb_parts[3].iov_base = 0;
   7420  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7421  1.4  mrg 
   7422  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7423  1.3  mrg     return xcb_ret;
   7424  1.3  mrg }
   7425  1.3  mrg 
   7426  1.3  mrg xcb_input_xi_query_device_cookie_t
   7427  1.3  mrg xcb_input_xi_query_device_unchecked (xcb_connection_t      *c  /**< */,
   7428  1.3  mrg                                      xcb_input_device_id_t  deviceid  /**< */)
   7429  1.3  mrg {
   7430  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7431  1.3  mrg         /* count */ 2,
   7432  1.3  mrg         /* ext */ &xcb_input_id,
   7433  1.3  mrg         /* opcode */ XCB_INPUT_XI_QUERY_DEVICE,
   7434  1.3  mrg         /* isvoid */ 0
   7435  1.3  mrg     };
   7436  1.4  mrg 
   7437  1.3  mrg     struct iovec xcb_parts[4];
   7438  1.3  mrg     xcb_input_xi_query_device_cookie_t xcb_ret;
   7439  1.3  mrg     xcb_input_xi_query_device_request_t xcb_out;
   7440  1.4  mrg 
   7441  1.3  mrg     xcb_out.deviceid = deviceid;
   7442  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7443  1.4  mrg 
   7444  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7445  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7446  1.3  mrg     xcb_parts[3].iov_base = 0;
   7447  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7448  1.4  mrg 
   7449  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7450  1.3  mrg     return xcb_ret;
   7451  1.3  mrg }
   7452  1.3  mrg 
   7453  1.3  mrg int
   7454  1.3  mrg xcb_input_xi_query_device_infos_length (const xcb_input_xi_query_device_reply_t *R  /**< */)
   7455  1.3  mrg {
   7456  1.3  mrg     return R->num_infos;
   7457  1.3  mrg }
   7458  1.3  mrg 
   7459  1.3  mrg xcb_input_xi_device_info_iterator_t
   7460  1.3  mrg xcb_input_xi_query_device_infos_iterator (const xcb_input_xi_query_device_reply_t *R  /**< */)
   7461  1.3  mrg {
   7462  1.3  mrg     xcb_input_xi_device_info_iterator_t i;
   7463  1.3  mrg     i.data = (xcb_input_xi_device_info_t *) (R + 1);
   7464  1.3  mrg     i.rem = R->num_infos;
   7465  1.3  mrg     i.index = (char *) i.data - (char *) R;
   7466  1.3  mrg     return i;
   7467  1.3  mrg }
   7468  1.3  mrg 
   7469  1.3  mrg xcb_input_xi_query_device_reply_t *
   7470  1.3  mrg xcb_input_xi_query_device_reply (xcb_connection_t                    *c  /**< */,
   7471  1.3  mrg                                  xcb_input_xi_query_device_cookie_t   cookie  /**< */,
   7472  1.3  mrg                                  xcb_generic_error_t                **e  /**< */)
   7473  1.3  mrg {
   7474  1.3  mrg     return (xcb_input_xi_query_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   7475  1.3  mrg }
   7476  1.3  mrg 
   7477  1.3  mrg xcb_void_cookie_t
   7478  1.3  mrg xcb_input_xi_set_focus_checked (xcb_connection_t      *c  /**< */,
   7479  1.3  mrg                                 xcb_window_t           window  /**< */,
   7480  1.3  mrg                                 xcb_timestamp_t        time  /**< */,
   7481  1.3  mrg                                 xcb_input_device_id_t  deviceid  /**< */)
   7482  1.3  mrg {
   7483  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7484  1.3  mrg         /* count */ 2,
   7485  1.3  mrg         /* ext */ &xcb_input_id,
   7486  1.3  mrg         /* opcode */ XCB_INPUT_XI_SET_FOCUS,
   7487  1.3  mrg         /* isvoid */ 1
   7488  1.3  mrg     };
   7489  1.4  mrg 
   7490  1.3  mrg     struct iovec xcb_parts[4];
   7491  1.3  mrg     xcb_void_cookie_t xcb_ret;
   7492  1.3  mrg     xcb_input_xi_set_focus_request_t xcb_out;
   7493  1.4  mrg 
   7494  1.3  mrg     xcb_out.window = window;
   7495  1.3  mrg     xcb_out.time = time;
   7496  1.3  mrg     xcb_out.deviceid = deviceid;
   7497  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7498  1.4  mrg 
   7499  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7500  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7501  1.3  mrg     xcb_parts[3].iov_base = 0;
   7502  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7503  1.4  mrg 
   7504  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7505  1.3  mrg     return xcb_ret;
   7506  1.3  mrg }
   7507  1.3  mrg 
   7508  1.3  mrg xcb_void_cookie_t
   7509  1.3  mrg xcb_input_xi_set_focus (xcb_connection_t      *c  /**< */,
   7510  1.3  mrg                         xcb_window_t           window  /**< */,
   7511  1.3  mrg                         xcb_timestamp_t        time  /**< */,
   7512  1.3  mrg                         xcb_input_device_id_t  deviceid  /**< */)
   7513  1.3  mrg {
   7514  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7515  1.3  mrg         /* count */ 2,
   7516  1.3  mrg         /* ext */ &xcb_input_id,
   7517  1.3  mrg         /* opcode */ XCB_INPUT_XI_SET_FOCUS,
   7518  1.3  mrg         /* isvoid */ 1
   7519  1.3  mrg     };
   7520  1.4  mrg 
   7521  1.3  mrg     struct iovec xcb_parts[4];
   7522  1.3  mrg     xcb_void_cookie_t xcb_ret;
   7523  1.3  mrg     xcb_input_xi_set_focus_request_t xcb_out;
   7524  1.4  mrg 
   7525  1.3  mrg     xcb_out.window = window;
   7526  1.3  mrg     xcb_out.time = time;
   7527  1.3  mrg     xcb_out.deviceid = deviceid;
   7528  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7529  1.4  mrg 
   7530  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7531  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7532  1.3  mrg     xcb_parts[3].iov_base = 0;
   7533  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7534  1.4  mrg 
   7535  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7536  1.3  mrg     return xcb_ret;
   7537  1.3  mrg }
   7538  1.3  mrg 
   7539  1.3  mrg xcb_input_xi_get_focus_cookie_t
   7540  1.3  mrg xcb_input_xi_get_focus (xcb_connection_t      *c  /**< */,
   7541  1.3  mrg                         xcb_input_device_id_t  deviceid  /**< */)
   7542  1.3  mrg {
   7543  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7544  1.3  mrg         /* count */ 2,
   7545  1.3  mrg         /* ext */ &xcb_input_id,
   7546  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_FOCUS,
   7547  1.3  mrg         /* isvoid */ 0
   7548  1.3  mrg     };
   7549  1.4  mrg 
   7550  1.3  mrg     struct iovec xcb_parts[4];
   7551  1.3  mrg     xcb_input_xi_get_focus_cookie_t xcb_ret;
   7552  1.3  mrg     xcb_input_xi_get_focus_request_t xcb_out;
   7553  1.4  mrg 
   7554  1.3  mrg     xcb_out.deviceid = deviceid;
   7555  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7556  1.4  mrg 
   7557  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7558  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7559  1.3  mrg     xcb_parts[3].iov_base = 0;
   7560  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7561  1.4  mrg 
   7562  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7563  1.3  mrg     return xcb_ret;
   7564  1.3  mrg }
   7565  1.3  mrg 
   7566  1.3  mrg xcb_input_xi_get_focus_cookie_t
   7567  1.3  mrg xcb_input_xi_get_focus_unchecked (xcb_connection_t      *c  /**< */,
   7568  1.3  mrg                                   xcb_input_device_id_t  deviceid  /**< */)
   7569  1.3  mrg {
   7570  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7571  1.3  mrg         /* count */ 2,
   7572  1.3  mrg         /* ext */ &xcb_input_id,
   7573  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_FOCUS,
   7574  1.3  mrg         /* isvoid */ 0
   7575  1.3  mrg     };
   7576  1.4  mrg 
   7577  1.3  mrg     struct iovec xcb_parts[4];
   7578  1.3  mrg     xcb_input_xi_get_focus_cookie_t xcb_ret;
   7579  1.3  mrg     xcb_input_xi_get_focus_request_t xcb_out;
   7580  1.4  mrg 
   7581  1.3  mrg     xcb_out.deviceid = deviceid;
   7582  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7583  1.4  mrg 
   7584  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7585  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7586  1.3  mrg     xcb_parts[3].iov_base = 0;
   7587  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7588  1.4  mrg 
   7589  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7590  1.3  mrg     return xcb_ret;
   7591  1.3  mrg }
   7592  1.3  mrg 
   7593  1.3  mrg xcb_input_xi_get_focus_reply_t *
   7594  1.3  mrg xcb_input_xi_get_focus_reply (xcb_connection_t                 *c  /**< */,
   7595  1.3  mrg                               xcb_input_xi_get_focus_cookie_t   cookie  /**< */,
   7596  1.3  mrg                               xcb_generic_error_t             **e  /**< */)
   7597  1.3  mrg {
   7598  1.3  mrg     return (xcb_input_xi_get_focus_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   7599  1.3  mrg }
   7600  1.3  mrg 
   7601  1.3  mrg int
   7602  1.3  mrg xcb_input_xi_grab_device_sizeof (const void  *_buffer  /**< */)
   7603  1.3  mrg {
   7604  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   7605  1.3  mrg     const xcb_input_xi_grab_device_request_t *_aux = (xcb_input_xi_grab_device_request_t *)_buffer;
   7606  1.3  mrg     unsigned int xcb_buffer_len = 0;
   7607  1.3  mrg     unsigned int xcb_block_len = 0;
   7608  1.3  mrg     unsigned int xcb_pad = 0;
   7609  1.3  mrg     unsigned int xcb_align_to = 0;
   7610  1.3  mrg 
   7611  1.3  mrg 
   7612  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_grab_device_request_t);
   7613  1.3  mrg     xcb_tmp += xcb_block_len;
   7614  1.3  mrg     xcb_buffer_len += xcb_block_len;
   7615  1.3  mrg     xcb_block_len = 0;
   7616  1.3  mrg     /* mask */
   7617  1.3  mrg     xcb_block_len += _aux->mask_len * sizeof(uint32_t);
   7618  1.3  mrg     xcb_tmp += xcb_block_len;
   7619  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   7620  1.3  mrg     /* insert padding */
   7621  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7622  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7623  1.3  mrg     if (0 != xcb_pad) {
   7624  1.3  mrg         xcb_tmp += xcb_pad;
   7625  1.3  mrg         xcb_pad = 0;
   7626  1.3  mrg     }
   7627  1.3  mrg     xcb_block_len = 0;
   7628  1.3  mrg 
   7629  1.3  mrg     return xcb_buffer_len;
   7630  1.3  mrg }
   7631  1.3  mrg 
   7632  1.3  mrg xcb_input_xi_grab_device_cookie_t
   7633  1.3  mrg xcb_input_xi_grab_device (xcb_connection_t      *c  /**< */,
   7634  1.3  mrg                           xcb_window_t           window  /**< */,
   7635  1.3  mrg                           xcb_timestamp_t        time  /**< */,
   7636  1.3  mrg                           xcb_cursor_t           cursor  /**< */,
   7637  1.3  mrg                           xcb_input_device_id_t  deviceid  /**< */,
   7638  1.3  mrg                           uint8_t                mode  /**< */,
   7639  1.3  mrg                           uint8_t                paired_device_mode  /**< */,
   7640  1.3  mrg                           uint8_t                owner_events  /**< */,
   7641  1.3  mrg                           uint16_t               mask_len  /**< */,
   7642  1.3  mrg                           const uint32_t        *mask  /**< */)
   7643  1.3  mrg {
   7644  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7645  1.3  mrg         /* count */ 4,
   7646  1.3  mrg         /* ext */ &xcb_input_id,
   7647  1.3  mrg         /* opcode */ XCB_INPUT_XI_GRAB_DEVICE,
   7648  1.3  mrg         /* isvoid */ 0
   7649  1.3  mrg     };
   7650  1.4  mrg 
   7651  1.3  mrg     struct iovec xcb_parts[6];
   7652  1.3  mrg     xcb_input_xi_grab_device_cookie_t xcb_ret;
   7653  1.3  mrg     xcb_input_xi_grab_device_request_t xcb_out;
   7654  1.4  mrg 
   7655  1.3  mrg     xcb_out.window = window;
   7656  1.3  mrg     xcb_out.time = time;
   7657  1.3  mrg     xcb_out.cursor = cursor;
   7658  1.3  mrg     xcb_out.deviceid = deviceid;
   7659  1.3  mrg     xcb_out.mode = mode;
   7660  1.3  mrg     xcb_out.paired_device_mode = paired_device_mode;
   7661  1.3  mrg     xcb_out.owner_events = owner_events;
   7662  1.3  mrg     xcb_out.pad0 = 0;
   7663  1.3  mrg     xcb_out.mask_len = mask_len;
   7664  1.4  mrg 
   7665  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7666  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7667  1.3  mrg     xcb_parts[3].iov_base = 0;
   7668  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7669  1.3  mrg     /* uint32_t mask */
   7670  1.3  mrg     xcb_parts[4].iov_base = (char *) mask;
   7671  1.3  mrg     xcb_parts[4].iov_len = mask_len * sizeof(uint32_t);
   7672  1.3  mrg     xcb_parts[5].iov_base = 0;
   7673  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   7674  1.4  mrg 
   7675  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7676  1.3  mrg     return xcb_ret;
   7677  1.3  mrg }
   7678  1.3  mrg 
   7679  1.3  mrg xcb_input_xi_grab_device_cookie_t
   7680  1.3  mrg xcb_input_xi_grab_device_unchecked (xcb_connection_t      *c  /**< */,
   7681  1.3  mrg                                     xcb_window_t           window  /**< */,
   7682  1.3  mrg                                     xcb_timestamp_t        time  /**< */,
   7683  1.3  mrg                                     xcb_cursor_t           cursor  /**< */,
   7684  1.3  mrg                                     xcb_input_device_id_t  deviceid  /**< */,
   7685  1.3  mrg                                     uint8_t                mode  /**< */,
   7686  1.3  mrg                                     uint8_t                paired_device_mode  /**< */,
   7687  1.3  mrg                                     uint8_t                owner_events  /**< */,
   7688  1.3  mrg                                     uint16_t               mask_len  /**< */,
   7689  1.3  mrg                                     const uint32_t        *mask  /**< */)
   7690  1.3  mrg {
   7691  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7692  1.3  mrg         /* count */ 4,
   7693  1.3  mrg         /* ext */ &xcb_input_id,
   7694  1.3  mrg         /* opcode */ XCB_INPUT_XI_GRAB_DEVICE,
   7695  1.3  mrg         /* isvoid */ 0
   7696  1.3  mrg     };
   7697  1.4  mrg 
   7698  1.3  mrg     struct iovec xcb_parts[6];
   7699  1.3  mrg     xcb_input_xi_grab_device_cookie_t xcb_ret;
   7700  1.3  mrg     xcb_input_xi_grab_device_request_t xcb_out;
   7701  1.4  mrg 
   7702  1.3  mrg     xcb_out.window = window;
   7703  1.3  mrg     xcb_out.time = time;
   7704  1.3  mrg     xcb_out.cursor = cursor;
   7705  1.3  mrg     xcb_out.deviceid = deviceid;
   7706  1.3  mrg     xcb_out.mode = mode;
   7707  1.3  mrg     xcb_out.paired_device_mode = paired_device_mode;
   7708  1.3  mrg     xcb_out.owner_events = owner_events;
   7709  1.3  mrg     xcb_out.pad0 = 0;
   7710  1.3  mrg     xcb_out.mask_len = mask_len;
   7711  1.4  mrg 
   7712  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7713  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7714  1.3  mrg     xcb_parts[3].iov_base = 0;
   7715  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7716  1.3  mrg     /* uint32_t mask */
   7717  1.3  mrg     xcb_parts[4].iov_base = (char *) mask;
   7718  1.3  mrg     xcb_parts[4].iov_len = mask_len * sizeof(uint32_t);
   7719  1.3  mrg     xcb_parts[5].iov_base = 0;
   7720  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   7721  1.4  mrg 
   7722  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7723  1.3  mrg     return xcb_ret;
   7724  1.3  mrg }
   7725  1.3  mrg 
   7726  1.3  mrg xcb_input_xi_grab_device_reply_t *
   7727  1.3  mrg xcb_input_xi_grab_device_reply (xcb_connection_t                   *c  /**< */,
   7728  1.3  mrg                                 xcb_input_xi_grab_device_cookie_t   cookie  /**< */,
   7729  1.3  mrg                                 xcb_generic_error_t               **e  /**< */)
   7730  1.3  mrg {
   7731  1.3  mrg     return (xcb_input_xi_grab_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   7732  1.3  mrg }
   7733  1.3  mrg 
   7734  1.3  mrg xcb_void_cookie_t
   7735  1.3  mrg xcb_input_xi_ungrab_device_checked (xcb_connection_t      *c  /**< */,
   7736  1.3  mrg                                     xcb_timestamp_t        time  /**< */,
   7737  1.3  mrg                                     xcb_input_device_id_t  deviceid  /**< */)
   7738  1.3  mrg {
   7739  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7740  1.3  mrg         /* count */ 2,
   7741  1.3  mrg         /* ext */ &xcb_input_id,
   7742  1.3  mrg         /* opcode */ XCB_INPUT_XI_UNGRAB_DEVICE,
   7743  1.3  mrg         /* isvoid */ 1
   7744  1.3  mrg     };
   7745  1.4  mrg 
   7746  1.3  mrg     struct iovec xcb_parts[4];
   7747  1.3  mrg     xcb_void_cookie_t xcb_ret;
   7748  1.3  mrg     xcb_input_xi_ungrab_device_request_t xcb_out;
   7749  1.4  mrg 
   7750  1.3  mrg     xcb_out.time = time;
   7751  1.3  mrg     xcb_out.deviceid = deviceid;
   7752  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7753  1.4  mrg 
   7754  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7755  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7756  1.3  mrg     xcb_parts[3].iov_base = 0;
   7757  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7758  1.4  mrg 
   7759  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7760  1.3  mrg     return xcb_ret;
   7761  1.3  mrg }
   7762  1.3  mrg 
   7763  1.3  mrg xcb_void_cookie_t
   7764  1.3  mrg xcb_input_xi_ungrab_device (xcb_connection_t      *c  /**< */,
   7765  1.3  mrg                             xcb_timestamp_t        time  /**< */,
   7766  1.3  mrg                             xcb_input_device_id_t  deviceid  /**< */)
   7767  1.3  mrg {
   7768  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7769  1.3  mrg         /* count */ 2,
   7770  1.3  mrg         /* ext */ &xcb_input_id,
   7771  1.3  mrg         /* opcode */ XCB_INPUT_XI_UNGRAB_DEVICE,
   7772  1.3  mrg         /* isvoid */ 1
   7773  1.3  mrg     };
   7774  1.4  mrg 
   7775  1.3  mrg     struct iovec xcb_parts[4];
   7776  1.3  mrg     xcb_void_cookie_t xcb_ret;
   7777  1.3  mrg     xcb_input_xi_ungrab_device_request_t xcb_out;
   7778  1.4  mrg 
   7779  1.3  mrg     xcb_out.time = time;
   7780  1.3  mrg     xcb_out.deviceid = deviceid;
   7781  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7782  1.4  mrg 
   7783  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7784  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7785  1.3  mrg     xcb_parts[3].iov_base = 0;
   7786  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7787  1.4  mrg 
   7788  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7789  1.3  mrg     return xcb_ret;
   7790  1.3  mrg }
   7791  1.3  mrg 
   7792  1.3  mrg xcb_void_cookie_t
   7793  1.3  mrg xcb_input_xi_allow_events_checked (xcb_connection_t      *c  /**< */,
   7794  1.3  mrg                                    xcb_timestamp_t        time  /**< */,
   7795  1.3  mrg                                    xcb_input_device_id_t  deviceid  /**< */,
   7796  1.3  mrg                                    uint8_t                event_mode  /**< */,
   7797  1.3  mrg                                    uint32_t               touchid  /**< */,
   7798  1.3  mrg                                    xcb_window_t           grab_window  /**< */)
   7799  1.3  mrg {
   7800  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7801  1.3  mrg         /* count */ 2,
   7802  1.3  mrg         /* ext */ &xcb_input_id,
   7803  1.3  mrg         /* opcode */ XCB_INPUT_XI_ALLOW_EVENTS,
   7804  1.3  mrg         /* isvoid */ 1
   7805  1.3  mrg     };
   7806  1.4  mrg 
   7807  1.3  mrg     struct iovec xcb_parts[4];
   7808  1.3  mrg     xcb_void_cookie_t xcb_ret;
   7809  1.3  mrg     xcb_input_xi_allow_events_request_t xcb_out;
   7810  1.4  mrg 
   7811  1.3  mrg     xcb_out.time = time;
   7812  1.3  mrg     xcb_out.deviceid = deviceid;
   7813  1.3  mrg     xcb_out.event_mode = event_mode;
   7814  1.3  mrg     xcb_out.pad0 = 0;
   7815  1.3  mrg     xcb_out.touchid = touchid;
   7816  1.3  mrg     xcb_out.grab_window = grab_window;
   7817  1.4  mrg 
   7818  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7819  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7820  1.3  mrg     xcb_parts[3].iov_base = 0;
   7821  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7822  1.4  mrg 
   7823  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7824  1.3  mrg     return xcb_ret;
   7825  1.3  mrg }
   7826  1.3  mrg 
   7827  1.3  mrg xcb_void_cookie_t
   7828  1.3  mrg xcb_input_xi_allow_events (xcb_connection_t      *c  /**< */,
   7829  1.3  mrg                            xcb_timestamp_t        time  /**< */,
   7830  1.3  mrg                            xcb_input_device_id_t  deviceid  /**< */,
   7831  1.3  mrg                            uint8_t                event_mode  /**< */,
   7832  1.3  mrg                            uint32_t               touchid  /**< */,
   7833  1.3  mrg                            xcb_window_t           grab_window  /**< */)
   7834  1.3  mrg {
   7835  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7836  1.3  mrg         /* count */ 2,
   7837  1.3  mrg         /* ext */ &xcb_input_id,
   7838  1.3  mrg         /* opcode */ XCB_INPUT_XI_ALLOW_EVENTS,
   7839  1.3  mrg         /* isvoid */ 1
   7840  1.3  mrg     };
   7841  1.4  mrg 
   7842  1.3  mrg     struct iovec xcb_parts[4];
   7843  1.3  mrg     xcb_void_cookie_t xcb_ret;
   7844  1.3  mrg     xcb_input_xi_allow_events_request_t xcb_out;
   7845  1.4  mrg 
   7846  1.3  mrg     xcb_out.time = time;
   7847  1.3  mrg     xcb_out.deviceid = deviceid;
   7848  1.3  mrg     xcb_out.event_mode = event_mode;
   7849  1.3  mrg     xcb_out.pad0 = 0;
   7850  1.3  mrg     xcb_out.touchid = touchid;
   7851  1.3  mrg     xcb_out.grab_window = grab_window;
   7852  1.4  mrg 
   7853  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7854  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7855  1.3  mrg     xcb_parts[3].iov_base = 0;
   7856  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7857  1.4  mrg 
   7858  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7859  1.3  mrg     return xcb_ret;
   7860  1.3  mrg }
   7861  1.3  mrg 
   7862  1.3  mrg void
   7863  1.3  mrg xcb_input_grab_modifier_info_next (xcb_input_grab_modifier_info_iterator_t *i  /**< */)
   7864  1.3  mrg {
   7865  1.3  mrg     --i->rem;
   7866  1.3  mrg     ++i->data;
   7867  1.3  mrg     i->index += sizeof(xcb_input_grab_modifier_info_t);
   7868  1.3  mrg }
   7869  1.3  mrg 
   7870  1.3  mrg xcb_generic_iterator_t
   7871  1.3  mrg xcb_input_grab_modifier_info_end (xcb_input_grab_modifier_info_iterator_t i  /**< */)
   7872  1.3  mrg {
   7873  1.3  mrg     xcb_generic_iterator_t ret;
   7874  1.3  mrg     ret.data = i.data + i.rem;
   7875  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   7876  1.3  mrg     ret.rem = 0;
   7877  1.3  mrg     return ret;
   7878  1.3  mrg }
   7879  1.3  mrg 
   7880  1.3  mrg int
   7881  1.3  mrg xcb_input_xi_passive_grab_device_sizeof (const void  *_buffer  /**< */)
   7882  1.3  mrg {
   7883  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   7884  1.3  mrg     const xcb_input_xi_passive_grab_device_request_t *_aux = (xcb_input_xi_passive_grab_device_request_t *)_buffer;
   7885  1.3  mrg     unsigned int xcb_buffer_len = 0;
   7886  1.3  mrg     unsigned int xcb_block_len = 0;
   7887  1.3  mrg     unsigned int xcb_pad = 0;
   7888  1.3  mrg     unsigned int xcb_align_to = 0;
   7889  1.3  mrg 
   7890  1.3  mrg 
   7891  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_passive_grab_device_request_t);
   7892  1.3  mrg     xcb_tmp += xcb_block_len;
   7893  1.3  mrg     xcb_buffer_len += xcb_block_len;
   7894  1.3  mrg     xcb_block_len = 0;
   7895  1.3  mrg     /* mask */
   7896  1.3  mrg     xcb_block_len += _aux->mask_len * sizeof(uint32_t);
   7897  1.3  mrg     xcb_tmp += xcb_block_len;
   7898  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   7899  1.3  mrg     /* insert padding */
   7900  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7901  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7902  1.3  mrg     if (0 != xcb_pad) {
   7903  1.3  mrg         xcb_tmp += xcb_pad;
   7904  1.3  mrg         xcb_pad = 0;
   7905  1.3  mrg     }
   7906  1.3  mrg     xcb_block_len = 0;
   7907  1.3  mrg     /* modifiers */
   7908  1.3  mrg     xcb_block_len += _aux->num_modifiers * sizeof(uint32_t);
   7909  1.3  mrg     xcb_tmp += xcb_block_len;
   7910  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   7911  1.3  mrg     /* insert padding */
   7912  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7913  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   7914  1.3  mrg     if (0 != xcb_pad) {
   7915  1.3  mrg         xcb_tmp += xcb_pad;
   7916  1.3  mrg         xcb_pad = 0;
   7917  1.3  mrg     }
   7918  1.3  mrg     xcb_block_len = 0;
   7919  1.3  mrg 
   7920  1.3  mrg     return xcb_buffer_len;
   7921  1.3  mrg }
   7922  1.3  mrg 
   7923  1.3  mrg xcb_input_xi_passive_grab_device_cookie_t
   7924  1.3  mrg xcb_input_xi_passive_grab_device (xcb_connection_t      *c  /**< */,
   7925  1.3  mrg                                   xcb_timestamp_t        time  /**< */,
   7926  1.3  mrg                                   xcb_window_t           grab_window  /**< */,
   7927  1.3  mrg                                   xcb_cursor_t           cursor  /**< */,
   7928  1.3  mrg                                   uint32_t               detail  /**< */,
   7929  1.3  mrg                                   xcb_input_device_id_t  deviceid  /**< */,
   7930  1.3  mrg                                   uint16_t               num_modifiers  /**< */,
   7931  1.3  mrg                                   uint16_t               mask_len  /**< */,
   7932  1.3  mrg                                   uint8_t                grab_type  /**< */,
   7933  1.3  mrg                                   uint8_t                grab_mode  /**< */,
   7934  1.3  mrg                                   uint8_t                paired_device_mode  /**< */,
   7935  1.3  mrg                                   uint8_t                owner_events  /**< */,
   7936  1.3  mrg                                   const uint32_t        *mask  /**< */,
   7937  1.3  mrg                                   const uint32_t        *modifiers  /**< */)
   7938  1.3  mrg {
   7939  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7940  1.3  mrg         /* count */ 6,
   7941  1.3  mrg         /* ext */ &xcb_input_id,
   7942  1.3  mrg         /* opcode */ XCB_INPUT_XI_PASSIVE_GRAB_DEVICE,
   7943  1.3  mrg         /* isvoid */ 0
   7944  1.3  mrg     };
   7945  1.4  mrg 
   7946  1.3  mrg     struct iovec xcb_parts[8];
   7947  1.3  mrg     xcb_input_xi_passive_grab_device_cookie_t xcb_ret;
   7948  1.3  mrg     xcb_input_xi_passive_grab_device_request_t xcb_out;
   7949  1.4  mrg 
   7950  1.3  mrg     xcb_out.time = time;
   7951  1.3  mrg     xcb_out.grab_window = grab_window;
   7952  1.3  mrg     xcb_out.cursor = cursor;
   7953  1.3  mrg     xcb_out.detail = detail;
   7954  1.3  mrg     xcb_out.deviceid = deviceid;
   7955  1.3  mrg     xcb_out.num_modifiers = num_modifiers;
   7956  1.3  mrg     xcb_out.mask_len = mask_len;
   7957  1.3  mrg     xcb_out.grab_type = grab_type;
   7958  1.3  mrg     xcb_out.grab_mode = grab_mode;
   7959  1.3  mrg     xcb_out.paired_device_mode = paired_device_mode;
   7960  1.3  mrg     xcb_out.owner_events = owner_events;
   7961  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   7962  1.4  mrg 
   7963  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   7964  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   7965  1.3  mrg     xcb_parts[3].iov_base = 0;
   7966  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7967  1.3  mrg     /* uint32_t mask */
   7968  1.3  mrg     xcb_parts[4].iov_base = (char *) mask;
   7969  1.3  mrg     xcb_parts[4].iov_len = mask_len * sizeof(uint32_t);
   7970  1.3  mrg     xcb_parts[5].iov_base = 0;
   7971  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   7972  1.3  mrg     /* uint32_t modifiers */
   7973  1.3  mrg     xcb_parts[6].iov_base = (char *) modifiers;
   7974  1.3  mrg     xcb_parts[6].iov_len = num_modifiers * sizeof(uint32_t);
   7975  1.3  mrg     xcb_parts[7].iov_base = 0;
   7976  1.3  mrg     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   7977  1.4  mrg 
   7978  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7979  1.3  mrg     return xcb_ret;
   7980  1.3  mrg }
   7981  1.3  mrg 
   7982  1.3  mrg xcb_input_xi_passive_grab_device_cookie_t
   7983  1.3  mrg xcb_input_xi_passive_grab_device_unchecked (xcb_connection_t      *c  /**< */,
   7984  1.3  mrg                                             xcb_timestamp_t        time  /**< */,
   7985  1.3  mrg                                             xcb_window_t           grab_window  /**< */,
   7986  1.3  mrg                                             xcb_cursor_t           cursor  /**< */,
   7987  1.3  mrg                                             uint32_t               detail  /**< */,
   7988  1.3  mrg                                             xcb_input_device_id_t  deviceid  /**< */,
   7989  1.3  mrg                                             uint16_t               num_modifiers  /**< */,
   7990  1.3  mrg                                             uint16_t               mask_len  /**< */,
   7991  1.3  mrg                                             uint8_t                grab_type  /**< */,
   7992  1.3  mrg                                             uint8_t                grab_mode  /**< */,
   7993  1.3  mrg                                             uint8_t                paired_device_mode  /**< */,
   7994  1.3  mrg                                             uint8_t                owner_events  /**< */,
   7995  1.3  mrg                                             const uint32_t        *mask  /**< */,
   7996  1.3  mrg                                             const uint32_t        *modifiers  /**< */)
   7997  1.3  mrg {
   7998  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   7999  1.3  mrg         /* count */ 6,
   8000  1.3  mrg         /* ext */ &xcb_input_id,
   8001  1.3  mrg         /* opcode */ XCB_INPUT_XI_PASSIVE_GRAB_DEVICE,
   8002  1.3  mrg         /* isvoid */ 0
   8003  1.3  mrg     };
   8004  1.4  mrg 
   8005  1.3  mrg     struct iovec xcb_parts[8];
   8006  1.3  mrg     xcb_input_xi_passive_grab_device_cookie_t xcb_ret;
   8007  1.3  mrg     xcb_input_xi_passive_grab_device_request_t xcb_out;
   8008  1.4  mrg 
   8009  1.3  mrg     xcb_out.time = time;
   8010  1.3  mrg     xcb_out.grab_window = grab_window;
   8011  1.3  mrg     xcb_out.cursor = cursor;
   8012  1.3  mrg     xcb_out.detail = detail;
   8013  1.3  mrg     xcb_out.deviceid = deviceid;
   8014  1.3  mrg     xcb_out.num_modifiers = num_modifiers;
   8015  1.3  mrg     xcb_out.mask_len = mask_len;
   8016  1.3  mrg     xcb_out.grab_type = grab_type;
   8017  1.3  mrg     xcb_out.grab_mode = grab_mode;
   8018  1.3  mrg     xcb_out.paired_device_mode = paired_device_mode;
   8019  1.3  mrg     xcb_out.owner_events = owner_events;
   8020  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   8021  1.4  mrg 
   8022  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8023  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8024  1.3  mrg     xcb_parts[3].iov_base = 0;
   8025  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8026  1.3  mrg     /* uint32_t mask */
   8027  1.3  mrg     xcb_parts[4].iov_base = (char *) mask;
   8028  1.3  mrg     xcb_parts[4].iov_len = mask_len * sizeof(uint32_t);
   8029  1.3  mrg     xcb_parts[5].iov_base = 0;
   8030  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8031  1.3  mrg     /* uint32_t modifiers */
   8032  1.3  mrg     xcb_parts[6].iov_base = (char *) modifiers;
   8033  1.3  mrg     xcb_parts[6].iov_len = num_modifiers * sizeof(uint32_t);
   8034  1.3  mrg     xcb_parts[7].iov_base = 0;
   8035  1.3  mrg     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   8036  1.4  mrg 
   8037  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8038  1.3  mrg     return xcb_ret;
   8039  1.3  mrg }
   8040  1.3  mrg 
   8041  1.3  mrg xcb_input_grab_modifier_info_t *
   8042  1.3  mrg xcb_input_xi_passive_grab_device_modifiers (const xcb_input_xi_passive_grab_device_reply_t *R  /**< */)
   8043  1.3  mrg {
   8044  1.3  mrg     return (xcb_input_grab_modifier_info_t *) (R + 1);
   8045  1.3  mrg }
   8046  1.3  mrg 
   8047  1.3  mrg int
   8048  1.3  mrg xcb_input_xi_passive_grab_device_modifiers_length (const xcb_input_xi_passive_grab_device_reply_t *R  /**< */)
   8049  1.3  mrg {
   8050  1.3  mrg     return R->num_modifiers;
   8051  1.3  mrg }
   8052  1.3  mrg 
   8053  1.3  mrg xcb_input_grab_modifier_info_iterator_t
   8054  1.3  mrg xcb_input_xi_passive_grab_device_modifiers_iterator (const xcb_input_xi_passive_grab_device_reply_t *R  /**< */)
   8055  1.3  mrg {
   8056  1.3  mrg     xcb_input_grab_modifier_info_iterator_t i;
   8057  1.3  mrg     i.data = (xcb_input_grab_modifier_info_t *) (R + 1);
   8058  1.3  mrg     i.rem = R->num_modifiers;
   8059  1.3  mrg     i.index = (char *) i.data - (char *) R;
   8060  1.3  mrg     return i;
   8061  1.3  mrg }
   8062  1.3  mrg 
   8063  1.3  mrg xcb_input_xi_passive_grab_device_reply_t *
   8064  1.3  mrg xcb_input_xi_passive_grab_device_reply (xcb_connection_t                           *c  /**< */,
   8065  1.3  mrg                                         xcb_input_xi_passive_grab_device_cookie_t   cookie  /**< */,
   8066  1.3  mrg                                         xcb_generic_error_t                       **e  /**< */)
   8067  1.3  mrg {
   8068  1.3  mrg     return (xcb_input_xi_passive_grab_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   8069  1.3  mrg }
   8070  1.3  mrg 
   8071  1.3  mrg int
   8072  1.3  mrg xcb_input_xi_passive_ungrab_device_sizeof (const void  *_buffer  /**< */)
   8073  1.3  mrg {
   8074  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   8075  1.3  mrg     const xcb_input_xi_passive_ungrab_device_request_t *_aux = (xcb_input_xi_passive_ungrab_device_request_t *)_buffer;
   8076  1.3  mrg     unsigned int xcb_buffer_len = 0;
   8077  1.3  mrg     unsigned int xcb_block_len = 0;
   8078  1.3  mrg     unsigned int xcb_pad = 0;
   8079  1.3  mrg     unsigned int xcb_align_to = 0;
   8080  1.3  mrg 
   8081  1.3  mrg 
   8082  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_passive_ungrab_device_request_t);
   8083  1.3  mrg     xcb_tmp += xcb_block_len;
   8084  1.3  mrg     xcb_buffer_len += xcb_block_len;
   8085  1.3  mrg     xcb_block_len = 0;
   8086  1.3  mrg     /* modifiers */
   8087  1.3  mrg     xcb_block_len += _aux->num_modifiers * sizeof(uint32_t);
   8088  1.3  mrg     xcb_tmp += xcb_block_len;
   8089  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   8090  1.3  mrg     /* insert padding */
   8091  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8092  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   8093  1.3  mrg     if (0 != xcb_pad) {
   8094  1.3  mrg         xcb_tmp += xcb_pad;
   8095  1.3  mrg         xcb_pad = 0;
   8096  1.3  mrg     }
   8097  1.3  mrg     xcb_block_len = 0;
   8098  1.3  mrg 
   8099  1.3  mrg     return xcb_buffer_len;
   8100  1.3  mrg }
   8101  1.3  mrg 
   8102  1.3  mrg xcb_void_cookie_t
   8103  1.3  mrg xcb_input_xi_passive_ungrab_device_checked (xcb_connection_t      *c  /**< */,
   8104  1.3  mrg                                             xcb_window_t           grab_window  /**< */,
   8105  1.3  mrg                                             uint32_t               detail  /**< */,
   8106  1.3  mrg                                             xcb_input_device_id_t  deviceid  /**< */,
   8107  1.3  mrg                                             uint16_t               num_modifiers  /**< */,
   8108  1.3  mrg                                             uint8_t                grab_type  /**< */,
   8109  1.3  mrg                                             const uint32_t        *modifiers  /**< */)
   8110  1.3  mrg {
   8111  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8112  1.3  mrg         /* count */ 4,
   8113  1.3  mrg         /* ext */ &xcb_input_id,
   8114  1.3  mrg         /* opcode */ XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE,
   8115  1.3  mrg         /* isvoid */ 1
   8116  1.3  mrg     };
   8117  1.4  mrg 
   8118  1.3  mrg     struct iovec xcb_parts[6];
   8119  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8120  1.3  mrg     xcb_input_xi_passive_ungrab_device_request_t xcb_out;
   8121  1.4  mrg 
   8122  1.3  mrg     xcb_out.grab_window = grab_window;
   8123  1.3  mrg     xcb_out.detail = detail;
   8124  1.3  mrg     xcb_out.deviceid = deviceid;
   8125  1.3  mrg     xcb_out.num_modifiers = num_modifiers;
   8126  1.3  mrg     xcb_out.grab_type = grab_type;
   8127  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   8128  1.4  mrg 
   8129  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8130  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8131  1.3  mrg     xcb_parts[3].iov_base = 0;
   8132  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8133  1.3  mrg     /* uint32_t modifiers */
   8134  1.3  mrg     xcb_parts[4].iov_base = (char *) modifiers;
   8135  1.3  mrg     xcb_parts[4].iov_len = num_modifiers * sizeof(uint32_t);
   8136  1.3  mrg     xcb_parts[5].iov_base = 0;
   8137  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8138  1.4  mrg 
   8139  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8140  1.3  mrg     return xcb_ret;
   8141  1.3  mrg }
   8142  1.3  mrg 
   8143  1.3  mrg xcb_void_cookie_t
   8144  1.3  mrg xcb_input_xi_passive_ungrab_device (xcb_connection_t      *c  /**< */,
   8145  1.3  mrg                                     xcb_window_t           grab_window  /**< */,
   8146  1.3  mrg                                     uint32_t               detail  /**< */,
   8147  1.3  mrg                                     xcb_input_device_id_t  deviceid  /**< */,
   8148  1.3  mrg                                     uint16_t               num_modifiers  /**< */,
   8149  1.3  mrg                                     uint8_t                grab_type  /**< */,
   8150  1.3  mrg                                     const uint32_t        *modifiers  /**< */)
   8151  1.3  mrg {
   8152  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8153  1.3  mrg         /* count */ 4,
   8154  1.3  mrg         /* ext */ &xcb_input_id,
   8155  1.3  mrg         /* opcode */ XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE,
   8156  1.3  mrg         /* isvoid */ 1
   8157  1.3  mrg     };
   8158  1.4  mrg 
   8159  1.3  mrg     struct iovec xcb_parts[6];
   8160  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8161  1.3  mrg     xcb_input_xi_passive_ungrab_device_request_t xcb_out;
   8162  1.4  mrg 
   8163  1.3  mrg     xcb_out.grab_window = grab_window;
   8164  1.3  mrg     xcb_out.detail = detail;
   8165  1.3  mrg     xcb_out.deviceid = deviceid;
   8166  1.3  mrg     xcb_out.num_modifiers = num_modifiers;
   8167  1.3  mrg     xcb_out.grab_type = grab_type;
   8168  1.3  mrg     memset(xcb_out.pad0, 0, 3);
   8169  1.4  mrg 
   8170  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8171  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8172  1.3  mrg     xcb_parts[3].iov_base = 0;
   8173  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8174  1.3  mrg     /* uint32_t modifiers */
   8175  1.3  mrg     xcb_parts[4].iov_base = (char *) modifiers;
   8176  1.3  mrg     xcb_parts[4].iov_len = num_modifiers * sizeof(uint32_t);
   8177  1.3  mrg     xcb_parts[5].iov_base = 0;
   8178  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8179  1.4  mrg 
   8180  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8181  1.3  mrg     return xcb_ret;
   8182  1.3  mrg }
   8183  1.3  mrg 
   8184  1.3  mrg int
   8185  1.3  mrg xcb_input_xi_list_properties_sizeof (const void  *_buffer  /**< */)
   8186  1.3  mrg {
   8187  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   8188  1.3  mrg     const xcb_input_xi_list_properties_reply_t *_aux = (xcb_input_xi_list_properties_reply_t *)_buffer;
   8189  1.3  mrg     unsigned int xcb_buffer_len = 0;
   8190  1.3  mrg     unsigned int xcb_block_len = 0;
   8191  1.3  mrg     unsigned int xcb_pad = 0;
   8192  1.3  mrg     unsigned int xcb_align_to = 0;
   8193  1.3  mrg 
   8194  1.3  mrg 
   8195  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_list_properties_reply_t);
   8196  1.3  mrg     xcb_tmp += xcb_block_len;
   8197  1.3  mrg     xcb_buffer_len += xcb_block_len;
   8198  1.3  mrg     xcb_block_len = 0;
   8199  1.3  mrg     /* properties */
   8200  1.3  mrg     xcb_block_len += _aux->num_properties * sizeof(xcb_atom_t);
   8201  1.3  mrg     xcb_tmp += xcb_block_len;
   8202  1.3  mrg     xcb_align_to = ALIGNOF(xcb_atom_t);
   8203  1.3  mrg     /* insert padding */
   8204  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8205  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   8206  1.3  mrg     if (0 != xcb_pad) {
   8207  1.3  mrg         xcb_tmp += xcb_pad;
   8208  1.3  mrg         xcb_pad = 0;
   8209  1.3  mrg     }
   8210  1.3  mrg     xcb_block_len = 0;
   8211  1.3  mrg 
   8212  1.3  mrg     return xcb_buffer_len;
   8213  1.3  mrg }
   8214  1.3  mrg 
   8215  1.3  mrg xcb_input_xi_list_properties_cookie_t
   8216  1.3  mrg xcb_input_xi_list_properties (xcb_connection_t      *c  /**< */,
   8217  1.3  mrg                               xcb_input_device_id_t  deviceid  /**< */)
   8218  1.3  mrg {
   8219  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8220  1.3  mrg         /* count */ 2,
   8221  1.3  mrg         /* ext */ &xcb_input_id,
   8222  1.3  mrg         /* opcode */ XCB_INPUT_XI_LIST_PROPERTIES,
   8223  1.3  mrg         /* isvoid */ 0
   8224  1.3  mrg     };
   8225  1.4  mrg 
   8226  1.3  mrg     struct iovec xcb_parts[4];
   8227  1.3  mrg     xcb_input_xi_list_properties_cookie_t xcb_ret;
   8228  1.3  mrg     xcb_input_xi_list_properties_request_t xcb_out;
   8229  1.4  mrg 
   8230  1.3  mrg     xcb_out.deviceid = deviceid;
   8231  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   8232  1.4  mrg 
   8233  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8234  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8235  1.3  mrg     xcb_parts[3].iov_base = 0;
   8236  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8237  1.4  mrg 
   8238  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8239  1.3  mrg     return xcb_ret;
   8240  1.3  mrg }
   8241  1.3  mrg 
   8242  1.3  mrg xcb_input_xi_list_properties_cookie_t
   8243  1.3  mrg xcb_input_xi_list_properties_unchecked (xcb_connection_t      *c  /**< */,
   8244  1.3  mrg                                         xcb_input_device_id_t  deviceid  /**< */)
   8245  1.3  mrg {
   8246  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8247  1.3  mrg         /* count */ 2,
   8248  1.3  mrg         /* ext */ &xcb_input_id,
   8249  1.3  mrg         /* opcode */ XCB_INPUT_XI_LIST_PROPERTIES,
   8250  1.3  mrg         /* isvoid */ 0
   8251  1.3  mrg     };
   8252  1.4  mrg 
   8253  1.3  mrg     struct iovec xcb_parts[4];
   8254  1.3  mrg     xcb_input_xi_list_properties_cookie_t xcb_ret;
   8255  1.3  mrg     xcb_input_xi_list_properties_request_t xcb_out;
   8256  1.4  mrg 
   8257  1.3  mrg     xcb_out.deviceid = deviceid;
   8258  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   8259  1.4  mrg 
   8260  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8261  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8262  1.3  mrg     xcb_parts[3].iov_base = 0;
   8263  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8264  1.4  mrg 
   8265  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8266  1.3  mrg     return xcb_ret;
   8267  1.3  mrg }
   8268  1.3  mrg 
   8269  1.3  mrg xcb_atom_t *
   8270  1.3  mrg xcb_input_xi_list_properties_properties (const xcb_input_xi_list_properties_reply_t *R  /**< */)
   8271  1.3  mrg {
   8272  1.3  mrg     return (xcb_atom_t *) (R + 1);
   8273  1.3  mrg }
   8274  1.3  mrg 
   8275  1.3  mrg int
   8276  1.3  mrg xcb_input_xi_list_properties_properties_length (const xcb_input_xi_list_properties_reply_t *R  /**< */)
   8277  1.3  mrg {
   8278  1.3  mrg     return R->num_properties;
   8279  1.3  mrg }
   8280  1.3  mrg 
   8281  1.3  mrg xcb_generic_iterator_t
   8282  1.3  mrg xcb_input_xi_list_properties_properties_end (const xcb_input_xi_list_properties_reply_t *R  /**< */)
   8283  1.3  mrg {
   8284  1.3  mrg     xcb_generic_iterator_t i;
   8285  1.3  mrg     i.data = ((xcb_atom_t *) (R + 1)) + (R->num_properties);
   8286  1.3  mrg     i.rem = 0;
   8287  1.3  mrg     i.index = (char *) i.data - (char *) R;
   8288  1.3  mrg     return i;
   8289  1.3  mrg }
   8290  1.3  mrg 
   8291  1.3  mrg xcb_input_xi_list_properties_reply_t *
   8292  1.3  mrg xcb_input_xi_list_properties_reply (xcb_connection_t                       *c  /**< */,
   8293  1.3  mrg                                     xcb_input_xi_list_properties_cookie_t   cookie  /**< */,
   8294  1.3  mrg                                     xcb_generic_error_t                   **e  /**< */)
   8295  1.3  mrg {
   8296  1.3  mrg     return (xcb_input_xi_list_properties_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   8297  1.3  mrg }
   8298  1.3  mrg 
   8299  1.3  mrg uint8_t *
   8300  1.3  mrg xcb_input_xi_change_property_items_data_8 (const xcb_input_xi_change_property_items_t *S  /**< */)
   8301  1.3  mrg {
   8302  1.3  mrg     return /* items */ S->data8;
   8303  1.3  mrg }
   8304  1.3  mrg 
   8305  1.3  mrg int
   8306  1.3  mrg xcb_input_xi_change_property_items_data_8_length (const xcb_input_xi_change_property_request_t *R  /**< */,
   8307  1.3  mrg                                                   const xcb_input_xi_change_property_items_t *S  /**< */)
   8308  1.3  mrg {
   8309  1.3  mrg     return R->num_items;
   8310  1.3  mrg }
   8311  1.3  mrg 
   8312  1.3  mrg xcb_generic_iterator_t
   8313  1.3  mrg xcb_input_xi_change_property_items_data_8_end (const xcb_input_xi_change_property_request_t *R  /**< */,
   8314  1.3  mrg                                                const xcb_input_xi_change_property_items_t *S  /**< */)
   8315  1.3  mrg {
   8316  1.3  mrg     xcb_generic_iterator_t i;
   8317  1.3  mrg     i.data = /* items */ S->data8 + R->num_items;
   8318  1.3  mrg     i.rem = 0;
   8319  1.3  mrg     i.index = (char *) i.data - (char *) S;
   8320  1.3  mrg     return i;
   8321  1.3  mrg }
   8322  1.3  mrg 
   8323  1.3  mrg uint16_t *
   8324  1.3  mrg xcb_input_xi_change_property_items_data_16 (const xcb_input_xi_change_property_items_t *S  /**< */)
   8325  1.3  mrg {
   8326  1.3  mrg     return /* items */ S->data16;
   8327  1.3  mrg }
   8328  1.3  mrg 
   8329  1.3  mrg int
   8330  1.3  mrg xcb_input_xi_change_property_items_data_16_length (const xcb_input_xi_change_property_request_t *R  /**< */,
   8331  1.3  mrg                                                    const xcb_input_xi_change_property_items_t *S  /**< */)
   8332  1.3  mrg {
   8333  1.3  mrg     return R->num_items;
   8334  1.3  mrg }
   8335  1.3  mrg 
   8336  1.3  mrg xcb_generic_iterator_t
   8337  1.3  mrg xcb_input_xi_change_property_items_data_16_end (const xcb_input_xi_change_property_request_t *R  /**< */,
   8338  1.3  mrg                                                 const xcb_input_xi_change_property_items_t *S  /**< */)
   8339  1.3  mrg {
   8340  1.3  mrg     xcb_generic_iterator_t i;
   8341  1.3  mrg     i.data = /* items */ S->data16 + R->num_items;
   8342  1.3  mrg     i.rem = 0;
   8343  1.3  mrg     i.index = (char *) i.data - (char *) S;
   8344  1.3  mrg     return i;
   8345  1.3  mrg }
   8346  1.3  mrg 
   8347  1.3  mrg uint32_t *
   8348  1.3  mrg xcb_input_xi_change_property_items_data_32 (const xcb_input_xi_change_property_items_t *S  /**< */)
   8349  1.3  mrg {
   8350  1.3  mrg     return /* items */ S->data32;
   8351  1.3  mrg }
   8352  1.3  mrg 
   8353  1.3  mrg int
   8354  1.3  mrg xcb_input_xi_change_property_items_data_32_length (const xcb_input_xi_change_property_request_t *R  /**< */,
   8355  1.3  mrg                                                    const xcb_input_xi_change_property_items_t *S  /**< */)
   8356  1.3  mrg {
   8357  1.3  mrg     return R->num_items;
   8358  1.3  mrg }
   8359  1.3  mrg 
   8360  1.3  mrg xcb_generic_iterator_t
   8361  1.3  mrg xcb_input_xi_change_property_items_data_32_end (const xcb_input_xi_change_property_request_t *R  /**< */,
   8362  1.3  mrg                                                 const xcb_input_xi_change_property_items_t *S  /**< */)
   8363  1.3  mrg {
   8364  1.3  mrg     xcb_generic_iterator_t i;
   8365  1.3  mrg     i.data = /* items */ S->data32 + R->num_items;
   8366  1.3  mrg     i.rem = 0;
   8367  1.3  mrg     i.index = (char *) i.data - (char *) S;
   8368  1.3  mrg     return i;
   8369  1.3  mrg }
   8370  1.3  mrg 
   8371  1.3  mrg int
   8372  1.3  mrg xcb_input_xi_change_property_items_serialize (void                                       **_buffer  /**< */,
   8373  1.3  mrg                                               uint32_t                                     num_items  /**< */,
   8374  1.3  mrg                                               uint8_t                                      format  /**< */,
   8375  1.3  mrg                                               const xcb_input_xi_change_property_items_t  *_aux  /**< */)
   8376  1.3  mrg {
   8377  1.3  mrg     char *xcb_out = *_buffer;
   8378  1.3  mrg     unsigned int xcb_buffer_len = 0;
   8379  1.3  mrg     unsigned int xcb_align_to = 0;
   8380  1.3  mrg 
   8381  1.3  mrg     unsigned int xcb_pad = 0;
   8382  1.3  mrg     char xcb_pad0[3] = {0, 0, 0};
   8383  1.3  mrg     struct iovec xcb_parts[7];
   8384  1.3  mrg     unsigned int xcb_parts_idx = 0;
   8385  1.3  mrg     unsigned int xcb_block_len = 0;
   8386  1.3  mrg     unsigned int i;
   8387  1.3  mrg     char *xcb_tmp;
   8388  1.3  mrg 
   8389  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   8390  1.3  mrg         /* insert padding */
   8391  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8392  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8393  1.3  mrg         if (0 != xcb_pad) {
   8394  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8395  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8396  1.3  mrg             xcb_parts_idx++;
   8397  1.3  mrg             xcb_pad = 0;
   8398  1.3  mrg         }
   8399  1.3  mrg         xcb_block_len = 0;
   8400  1.3  mrg         /* data8 */
   8401  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data8;
   8402  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   8403  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint8_t);
   8404  1.3  mrg         xcb_parts_idx++;
   8405  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   8406  1.3  mrg     }
   8407  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   8408  1.3  mrg         /* insert padding */
   8409  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8410  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8411  1.3  mrg         if (0 != xcb_pad) {
   8412  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8413  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8414  1.3  mrg             xcb_parts_idx++;
   8415  1.3  mrg             xcb_pad = 0;
   8416  1.3  mrg         }
   8417  1.3  mrg         xcb_block_len = 0;
   8418  1.3  mrg         /* data16 */
   8419  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data16;
   8420  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   8421  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint16_t);
   8422  1.3  mrg         xcb_parts_idx++;
   8423  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   8424  1.3  mrg     }
   8425  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   8426  1.3  mrg         /* insert padding */
   8427  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8428  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8429  1.3  mrg         if (0 != xcb_pad) {
   8430  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8431  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8432  1.3  mrg             xcb_parts_idx++;
   8433  1.3  mrg             xcb_pad = 0;
   8434  1.3  mrg         }
   8435  1.3  mrg         xcb_block_len = 0;
   8436  1.3  mrg         /* data32 */
   8437  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data32;
   8438  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   8439  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint32_t);
   8440  1.3  mrg         xcb_parts_idx++;
   8441  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   8442  1.3  mrg     }
   8443  1.3  mrg     /* insert padding */
   8444  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8445  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   8446  1.3  mrg     if (0 != xcb_pad) {
   8447  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8448  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8449  1.3  mrg         xcb_parts_idx++;
   8450  1.3  mrg         xcb_pad = 0;
   8451  1.3  mrg     }
   8452  1.3  mrg     xcb_block_len = 0;
   8453  1.3  mrg 
   8454  1.3  mrg     if (NULL == xcb_out) {
   8455  1.3  mrg         /* allocate memory */
   8456  1.3  mrg         xcb_out = malloc(xcb_buffer_len);
   8457  1.3  mrg         *_buffer = xcb_out;
   8458  1.3  mrg     }
   8459  1.3  mrg 
   8460  1.3  mrg     xcb_tmp = xcb_out;
   8461  1.3  mrg     for(i=0; i<xcb_parts_idx; i++) {
   8462  1.3  mrg         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   8463  1.3  mrg             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   8464  1.3  mrg         if (0 != xcb_parts[i].iov_len)
   8465  1.3  mrg             xcb_tmp += xcb_parts[i].iov_len;
   8466  1.3  mrg     }
   8467  1.3  mrg 
   8468  1.3  mrg     return xcb_buffer_len;
   8469  1.3  mrg }
   8470  1.3  mrg 
   8471  1.3  mrg int
   8472  1.3  mrg xcb_input_xi_change_property_items_unpack (const void                            *_buffer  /**< */,
   8473  1.3  mrg                                            uint32_t                               num_items  /**< */,
   8474  1.3  mrg                                            uint8_t                                format  /**< */,
   8475  1.3  mrg                                            xcb_input_xi_change_property_items_t  *_aux  /**< */)
   8476  1.3  mrg {
   8477  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   8478  1.3  mrg     unsigned int xcb_buffer_len = 0;
   8479  1.3  mrg     unsigned int xcb_block_len = 0;
   8480  1.3  mrg     unsigned int xcb_pad = 0;
   8481  1.3  mrg     unsigned int xcb_align_to = 0;
   8482  1.3  mrg 
   8483  1.3  mrg 
   8484  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   8485  1.3  mrg         /* insert padding */
   8486  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8487  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8488  1.3  mrg         if (0 != xcb_pad) {
   8489  1.3  mrg             xcb_tmp += xcb_pad;
   8490  1.3  mrg             xcb_pad = 0;
   8491  1.3  mrg         }
   8492  1.3  mrg         xcb_block_len = 0;
   8493  1.3  mrg         /* data8 */
   8494  1.3  mrg         _aux->data8 = (uint8_t *)xcb_tmp;
   8495  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   8496  1.3  mrg         xcb_tmp += xcb_block_len;
   8497  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   8498  1.3  mrg     }
   8499  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   8500  1.3  mrg         /* insert padding */
   8501  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8502  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8503  1.3  mrg         if (0 != xcb_pad) {
   8504  1.3  mrg             xcb_tmp += xcb_pad;
   8505  1.3  mrg             xcb_pad = 0;
   8506  1.3  mrg         }
   8507  1.3  mrg         xcb_block_len = 0;
   8508  1.3  mrg         /* data16 */
   8509  1.3  mrg         _aux->data16 = (uint16_t *)xcb_tmp;
   8510  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   8511  1.3  mrg         xcb_tmp += xcb_block_len;
   8512  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   8513  1.3  mrg     }
   8514  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   8515  1.3  mrg         /* insert padding */
   8516  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8517  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8518  1.3  mrg         if (0 != xcb_pad) {
   8519  1.3  mrg             xcb_tmp += xcb_pad;
   8520  1.3  mrg             xcb_pad = 0;
   8521  1.3  mrg         }
   8522  1.3  mrg         xcb_block_len = 0;
   8523  1.3  mrg         /* data32 */
   8524  1.3  mrg         _aux->data32 = (uint32_t *)xcb_tmp;
   8525  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   8526  1.3  mrg         xcb_tmp += xcb_block_len;
   8527  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   8528  1.3  mrg     }
   8529  1.3  mrg     /* insert padding */
   8530  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8531  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   8532  1.3  mrg     if (0 != xcb_pad) {
   8533  1.3  mrg         xcb_tmp += xcb_pad;
   8534  1.3  mrg         xcb_pad = 0;
   8535  1.3  mrg     }
   8536  1.3  mrg     xcb_block_len = 0;
   8537  1.3  mrg 
   8538  1.3  mrg     return xcb_buffer_len;
   8539  1.3  mrg }
   8540  1.3  mrg 
   8541  1.3  mrg int
   8542  1.3  mrg xcb_input_xi_change_property_items_sizeof (const void  *_buffer  /**< */,
   8543  1.3  mrg                                            uint32_t     num_items  /**< */,
   8544  1.3  mrg                                            uint8_t      format  /**< */)
   8545  1.3  mrg {
   8546  1.3  mrg     xcb_input_xi_change_property_items_t _aux;
   8547  1.3  mrg     return xcb_input_xi_change_property_items_unpack(_buffer, num_items, format, &_aux);
   8548  1.3  mrg }
   8549  1.3  mrg 
   8550  1.3  mrg xcb_void_cookie_t
   8551  1.3  mrg xcb_input_xi_change_property_checked (xcb_connection_t      *c  /**< */,
   8552  1.3  mrg                                       xcb_input_device_id_t  deviceid  /**< */,
   8553  1.3  mrg                                       uint8_t                mode  /**< */,
   8554  1.3  mrg                                       uint8_t                format  /**< */,
   8555  1.3  mrg                                       xcb_atom_t             property  /**< */,
   8556  1.3  mrg                                       xcb_atom_t             type  /**< */,
   8557  1.3  mrg                                       uint32_t               num_items  /**< */,
   8558  1.3  mrg                                       const void            *items  /**< */)
   8559  1.3  mrg {
   8560  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8561  1.3  mrg         /* count */ 3,
   8562  1.3  mrg         /* ext */ &xcb_input_id,
   8563  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY,
   8564  1.3  mrg         /* isvoid */ 1
   8565  1.3  mrg     };
   8566  1.4  mrg 
   8567  1.3  mrg     struct iovec xcb_parts[5];
   8568  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8569  1.3  mrg     xcb_input_xi_change_property_request_t xcb_out;
   8570  1.4  mrg 
   8571  1.3  mrg     xcb_out.deviceid = deviceid;
   8572  1.3  mrg     xcb_out.mode = mode;
   8573  1.3  mrg     xcb_out.format = format;
   8574  1.3  mrg     xcb_out.property = property;
   8575  1.3  mrg     xcb_out.type = type;
   8576  1.3  mrg     xcb_out.num_items = num_items;
   8577  1.4  mrg 
   8578  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8579  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8580  1.3  mrg     xcb_parts[3].iov_base = 0;
   8581  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8582  1.3  mrg     /* xcb_input_xi_change_property_items_t items */
   8583  1.3  mrg     xcb_parts[4].iov_base = (char *) items;
   8584  1.4  mrg     xcb_parts[4].iov_len =
   8585  1.3  mrg       xcb_input_xi_change_property_items_sizeof (items, num_items, format);
   8586  1.4  mrg 
   8587  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8588  1.3  mrg     return xcb_ret;
   8589  1.3  mrg }
   8590  1.3  mrg 
   8591  1.3  mrg xcb_void_cookie_t
   8592  1.3  mrg xcb_input_xi_change_property (xcb_connection_t      *c  /**< */,
   8593  1.3  mrg                               xcb_input_device_id_t  deviceid  /**< */,
   8594  1.3  mrg                               uint8_t                mode  /**< */,
   8595  1.3  mrg                               uint8_t                format  /**< */,
   8596  1.3  mrg                               xcb_atom_t             property  /**< */,
   8597  1.3  mrg                               xcb_atom_t             type  /**< */,
   8598  1.3  mrg                               uint32_t               num_items  /**< */,
   8599  1.3  mrg                               const void            *items  /**< */)
   8600  1.3  mrg {
   8601  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8602  1.3  mrg         /* count */ 3,
   8603  1.3  mrg         /* ext */ &xcb_input_id,
   8604  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY,
   8605  1.3  mrg         /* isvoid */ 1
   8606  1.3  mrg     };
   8607  1.4  mrg 
   8608  1.3  mrg     struct iovec xcb_parts[5];
   8609  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8610  1.3  mrg     xcb_input_xi_change_property_request_t xcb_out;
   8611  1.4  mrg 
   8612  1.3  mrg     xcb_out.deviceid = deviceid;
   8613  1.3  mrg     xcb_out.mode = mode;
   8614  1.3  mrg     xcb_out.format = format;
   8615  1.3  mrg     xcb_out.property = property;
   8616  1.3  mrg     xcb_out.type = type;
   8617  1.3  mrg     xcb_out.num_items = num_items;
   8618  1.4  mrg 
   8619  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8620  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8621  1.3  mrg     xcb_parts[3].iov_base = 0;
   8622  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8623  1.3  mrg     /* xcb_input_xi_change_property_items_t items */
   8624  1.3  mrg     xcb_parts[4].iov_base = (char *) items;
   8625  1.4  mrg     xcb_parts[4].iov_len =
   8626  1.3  mrg       xcb_input_xi_change_property_items_sizeof (items, num_items, format);
   8627  1.4  mrg 
   8628  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8629  1.3  mrg     return xcb_ret;
   8630  1.3  mrg }
   8631  1.3  mrg 
   8632  1.3  mrg xcb_void_cookie_t
   8633  1.3  mrg xcb_input_xi_change_property_aux_checked (xcb_connection_t                           *c  /**< */,
   8634  1.3  mrg                                           xcb_input_device_id_t                       deviceid  /**< */,
   8635  1.3  mrg                                           uint8_t                                     mode  /**< */,
   8636  1.3  mrg                                           uint8_t                                     format  /**< */,
   8637  1.3  mrg                                           xcb_atom_t                                  property  /**< */,
   8638  1.3  mrg                                           xcb_atom_t                                  type  /**< */,
   8639  1.3  mrg                                           uint32_t                                    num_items  /**< */,
   8640  1.3  mrg                                           const xcb_input_xi_change_property_items_t *items  /**< */)
   8641  1.3  mrg {
   8642  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8643  1.3  mrg         /* count */ 3,
   8644  1.3  mrg         /* ext */ &xcb_input_id,
   8645  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY,
   8646  1.3  mrg         /* isvoid */ 1
   8647  1.3  mrg     };
   8648  1.4  mrg 
   8649  1.3  mrg     struct iovec xcb_parts[5];
   8650  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8651  1.3  mrg     xcb_input_xi_change_property_request_t xcb_out;
   8652  1.3  mrg     void *xcb_aux0 = 0;
   8653  1.4  mrg 
   8654  1.3  mrg     xcb_out.deviceid = deviceid;
   8655  1.3  mrg     xcb_out.mode = mode;
   8656  1.3  mrg     xcb_out.format = format;
   8657  1.3  mrg     xcb_out.property = property;
   8658  1.3  mrg     xcb_out.type = type;
   8659  1.3  mrg     xcb_out.num_items = num_items;
   8660  1.4  mrg 
   8661  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8662  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8663  1.3  mrg     xcb_parts[3].iov_base = 0;
   8664  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8665  1.3  mrg     /* xcb_input_xi_change_property_items_t items */
   8666  1.4  mrg     xcb_parts[4].iov_len =
   8667  1.3  mrg       xcb_input_xi_change_property_items_serialize (&xcb_aux0, num_items, format, items);
   8668  1.3  mrg     xcb_parts[4].iov_base = xcb_aux0;
   8669  1.4  mrg 
   8670  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8671  1.3  mrg     free(xcb_aux0);
   8672  1.3  mrg     return xcb_ret;
   8673  1.3  mrg }
   8674  1.3  mrg 
   8675  1.3  mrg xcb_void_cookie_t
   8676  1.3  mrg xcb_input_xi_change_property_aux (xcb_connection_t                           *c  /**< */,
   8677  1.3  mrg                                   xcb_input_device_id_t                       deviceid  /**< */,
   8678  1.3  mrg                                   uint8_t                                     mode  /**< */,
   8679  1.3  mrg                                   uint8_t                                     format  /**< */,
   8680  1.3  mrg                                   xcb_atom_t                                  property  /**< */,
   8681  1.3  mrg                                   xcb_atom_t                                  type  /**< */,
   8682  1.3  mrg                                   uint32_t                                    num_items  /**< */,
   8683  1.3  mrg                                   const xcb_input_xi_change_property_items_t *items  /**< */)
   8684  1.3  mrg {
   8685  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8686  1.3  mrg         /* count */ 3,
   8687  1.3  mrg         /* ext */ &xcb_input_id,
   8688  1.3  mrg         /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY,
   8689  1.3  mrg         /* isvoid */ 1
   8690  1.3  mrg     };
   8691  1.4  mrg 
   8692  1.3  mrg     struct iovec xcb_parts[5];
   8693  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8694  1.3  mrg     xcb_input_xi_change_property_request_t xcb_out;
   8695  1.3  mrg     void *xcb_aux0 = 0;
   8696  1.4  mrg 
   8697  1.3  mrg     xcb_out.deviceid = deviceid;
   8698  1.3  mrg     xcb_out.mode = mode;
   8699  1.3  mrg     xcb_out.format = format;
   8700  1.3  mrg     xcb_out.property = property;
   8701  1.3  mrg     xcb_out.type = type;
   8702  1.3  mrg     xcb_out.num_items = num_items;
   8703  1.4  mrg 
   8704  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8705  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8706  1.3  mrg     xcb_parts[3].iov_base = 0;
   8707  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8708  1.3  mrg     /* xcb_input_xi_change_property_items_t items */
   8709  1.4  mrg     xcb_parts[4].iov_len =
   8710  1.3  mrg       xcb_input_xi_change_property_items_serialize (&xcb_aux0, num_items, format, items);
   8711  1.3  mrg     xcb_parts[4].iov_base = xcb_aux0;
   8712  1.4  mrg 
   8713  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8714  1.3  mrg     free(xcb_aux0);
   8715  1.3  mrg     return xcb_ret;
   8716  1.3  mrg }
   8717  1.3  mrg 
   8718  1.3  mrg xcb_void_cookie_t
   8719  1.3  mrg xcb_input_xi_delete_property_checked (xcb_connection_t      *c  /**< */,
   8720  1.3  mrg                                       xcb_input_device_id_t  deviceid  /**< */,
   8721  1.3  mrg                                       xcb_atom_t             property  /**< */)
   8722  1.3  mrg {
   8723  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8724  1.3  mrg         /* count */ 2,
   8725  1.3  mrg         /* ext */ &xcb_input_id,
   8726  1.3  mrg         /* opcode */ XCB_INPUT_XI_DELETE_PROPERTY,
   8727  1.3  mrg         /* isvoid */ 1
   8728  1.3  mrg     };
   8729  1.4  mrg 
   8730  1.3  mrg     struct iovec xcb_parts[4];
   8731  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8732  1.3  mrg     xcb_input_xi_delete_property_request_t xcb_out;
   8733  1.4  mrg 
   8734  1.3  mrg     xcb_out.deviceid = deviceid;
   8735  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   8736  1.3  mrg     xcb_out.property = property;
   8737  1.4  mrg 
   8738  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8739  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8740  1.3  mrg     xcb_parts[3].iov_base = 0;
   8741  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8742  1.4  mrg 
   8743  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8744  1.3  mrg     return xcb_ret;
   8745  1.3  mrg }
   8746  1.3  mrg 
   8747  1.3  mrg xcb_void_cookie_t
   8748  1.3  mrg xcb_input_xi_delete_property (xcb_connection_t      *c  /**< */,
   8749  1.3  mrg                               xcb_input_device_id_t  deviceid  /**< */,
   8750  1.3  mrg                               xcb_atom_t             property  /**< */)
   8751  1.3  mrg {
   8752  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   8753  1.3  mrg         /* count */ 2,
   8754  1.3  mrg         /* ext */ &xcb_input_id,
   8755  1.3  mrg         /* opcode */ XCB_INPUT_XI_DELETE_PROPERTY,
   8756  1.3  mrg         /* isvoid */ 1
   8757  1.3  mrg     };
   8758  1.4  mrg 
   8759  1.3  mrg     struct iovec xcb_parts[4];
   8760  1.3  mrg     xcb_void_cookie_t xcb_ret;
   8761  1.3  mrg     xcb_input_xi_delete_property_request_t xcb_out;
   8762  1.4  mrg 
   8763  1.3  mrg     xcb_out.deviceid = deviceid;
   8764  1.3  mrg     memset(xcb_out.pad0, 0, 2);
   8765  1.3  mrg     xcb_out.property = property;
   8766  1.4  mrg 
   8767  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   8768  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   8769  1.3  mrg     xcb_parts[3].iov_base = 0;
   8770  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8771  1.4  mrg 
   8772  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8773  1.3  mrg     return xcb_ret;
   8774  1.3  mrg }
   8775  1.3  mrg 
   8776  1.3  mrg uint8_t *
   8777  1.3  mrg xcb_input_xi_get_property_items_data_8 (const xcb_input_xi_get_property_items_t *S  /**< */)
   8778  1.3  mrg {
   8779  1.3  mrg     return /* items */ S->data8;
   8780  1.3  mrg }
   8781  1.3  mrg 
   8782  1.3  mrg int
   8783  1.3  mrg xcb_input_xi_get_property_items_data_8_length (const xcb_input_xi_get_property_reply_t *R  /**< */,
   8784  1.3  mrg                                                const xcb_input_xi_get_property_items_t *S  /**< */)
   8785  1.3  mrg {
   8786  1.3  mrg     return R->num_items;
   8787  1.3  mrg }
   8788  1.3  mrg 
   8789  1.3  mrg xcb_generic_iterator_t
   8790  1.3  mrg xcb_input_xi_get_property_items_data_8_end (const xcb_input_xi_get_property_reply_t *R  /**< */,
   8791  1.3  mrg                                             const xcb_input_xi_get_property_items_t *S  /**< */)
   8792  1.3  mrg {
   8793  1.3  mrg     xcb_generic_iterator_t i;
   8794  1.3  mrg     i.data = /* items */ S->data8 + R->num_items;
   8795  1.3  mrg     i.rem = 0;
   8796  1.3  mrg     i.index = (char *) i.data - (char *) S;
   8797  1.3  mrg     return i;
   8798  1.3  mrg }
   8799  1.3  mrg 
   8800  1.3  mrg uint16_t *
   8801  1.3  mrg xcb_input_xi_get_property_items_data_16 (const xcb_input_xi_get_property_items_t *S  /**< */)
   8802  1.3  mrg {
   8803  1.3  mrg     return /* items */ S->data16;
   8804  1.3  mrg }
   8805  1.3  mrg 
   8806  1.3  mrg int
   8807  1.3  mrg xcb_input_xi_get_property_items_data_16_length (const xcb_input_xi_get_property_reply_t *R  /**< */,
   8808  1.3  mrg                                                 const xcb_input_xi_get_property_items_t *S  /**< */)
   8809  1.3  mrg {
   8810  1.3  mrg     return R->num_items;
   8811  1.3  mrg }
   8812  1.3  mrg 
   8813  1.3  mrg xcb_generic_iterator_t
   8814  1.3  mrg xcb_input_xi_get_property_items_data_16_end (const xcb_input_xi_get_property_reply_t *R  /**< */,
   8815  1.3  mrg                                              const xcb_input_xi_get_property_items_t *S  /**< */)
   8816  1.3  mrg {
   8817  1.3  mrg     xcb_generic_iterator_t i;
   8818  1.3  mrg     i.data = /* items */ S->data16 + R->num_items;
   8819  1.3  mrg     i.rem = 0;
   8820  1.3  mrg     i.index = (char *) i.data - (char *) S;
   8821  1.3  mrg     return i;
   8822  1.3  mrg }
   8823  1.3  mrg 
   8824  1.3  mrg uint32_t *
   8825  1.3  mrg xcb_input_xi_get_property_items_data_32 (const xcb_input_xi_get_property_items_t *S  /**< */)
   8826  1.3  mrg {
   8827  1.3  mrg     return /* items */ S->data32;
   8828  1.3  mrg }
   8829  1.3  mrg 
   8830  1.3  mrg int
   8831  1.3  mrg xcb_input_xi_get_property_items_data_32_length (const xcb_input_xi_get_property_reply_t *R  /**< */,
   8832  1.3  mrg                                                 const xcb_input_xi_get_property_items_t *S  /**< */)
   8833  1.3  mrg {
   8834  1.3  mrg     return R->num_items;
   8835  1.3  mrg }
   8836  1.3  mrg 
   8837  1.3  mrg xcb_generic_iterator_t
   8838  1.3  mrg xcb_input_xi_get_property_items_data_32_end (const xcb_input_xi_get_property_reply_t *R  /**< */,
   8839  1.3  mrg                                              const xcb_input_xi_get_property_items_t *S  /**< */)
   8840  1.3  mrg {
   8841  1.3  mrg     xcb_generic_iterator_t i;
   8842  1.3  mrg     i.data = /* items */ S->data32 + R->num_items;
   8843  1.3  mrg     i.rem = 0;
   8844  1.3  mrg     i.index = (char *) i.data - (char *) S;
   8845  1.3  mrg     return i;
   8846  1.3  mrg }
   8847  1.3  mrg 
   8848  1.3  mrg int
   8849  1.3  mrg xcb_input_xi_get_property_items_serialize (void                                    **_buffer  /**< */,
   8850  1.3  mrg                                            uint32_t                                  num_items  /**< */,
   8851  1.3  mrg                                            uint8_t                                   format  /**< */,
   8852  1.3  mrg                                            const xcb_input_xi_get_property_items_t  *_aux  /**< */)
   8853  1.3  mrg {
   8854  1.3  mrg     char *xcb_out = *_buffer;
   8855  1.3  mrg     unsigned int xcb_buffer_len = 0;
   8856  1.3  mrg     unsigned int xcb_align_to = 0;
   8857  1.3  mrg 
   8858  1.3  mrg     unsigned int xcb_pad = 0;
   8859  1.3  mrg     char xcb_pad0[3] = {0, 0, 0};
   8860  1.3  mrg     struct iovec xcb_parts[7];
   8861  1.3  mrg     unsigned int xcb_parts_idx = 0;
   8862  1.3  mrg     unsigned int xcb_block_len = 0;
   8863  1.3  mrg     unsigned int i;
   8864  1.3  mrg     char *xcb_tmp;
   8865  1.3  mrg 
   8866  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   8867  1.3  mrg         /* insert padding */
   8868  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8869  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8870  1.3  mrg         if (0 != xcb_pad) {
   8871  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8872  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8873  1.3  mrg             xcb_parts_idx++;
   8874  1.3  mrg             xcb_pad = 0;
   8875  1.3  mrg         }
   8876  1.3  mrg         xcb_block_len = 0;
   8877  1.3  mrg         /* data8 */
   8878  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data8;
   8879  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   8880  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint8_t);
   8881  1.3  mrg         xcb_parts_idx++;
   8882  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   8883  1.3  mrg     }
   8884  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   8885  1.3  mrg         /* insert padding */
   8886  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8887  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8888  1.3  mrg         if (0 != xcb_pad) {
   8889  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8890  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8891  1.3  mrg             xcb_parts_idx++;
   8892  1.3  mrg             xcb_pad = 0;
   8893  1.3  mrg         }
   8894  1.3  mrg         xcb_block_len = 0;
   8895  1.3  mrg         /* data16 */
   8896  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data16;
   8897  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   8898  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint16_t);
   8899  1.3  mrg         xcb_parts_idx++;
   8900  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   8901  1.3  mrg     }
   8902  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   8903  1.3  mrg         /* insert padding */
   8904  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8905  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8906  1.3  mrg         if (0 != xcb_pad) {
   8907  1.3  mrg             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8908  1.3  mrg             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8909  1.3  mrg             xcb_parts_idx++;
   8910  1.3  mrg             xcb_pad = 0;
   8911  1.3  mrg         }
   8912  1.3  mrg         xcb_block_len = 0;
   8913  1.3  mrg         /* data32 */
   8914  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->data32;
   8915  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   8916  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = num_items * sizeof(uint32_t);
   8917  1.3  mrg         xcb_parts_idx++;
   8918  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   8919  1.3  mrg     }
   8920  1.3  mrg     /* insert padding */
   8921  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8922  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   8923  1.3  mrg     if (0 != xcb_pad) {
   8924  1.3  mrg         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   8925  1.3  mrg         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   8926  1.3  mrg         xcb_parts_idx++;
   8927  1.3  mrg         xcb_pad = 0;
   8928  1.3  mrg     }
   8929  1.3  mrg     xcb_block_len = 0;
   8930  1.3  mrg 
   8931  1.3  mrg     if (NULL == xcb_out) {
   8932  1.3  mrg         /* allocate memory */
   8933  1.3  mrg         xcb_out = malloc(xcb_buffer_len);
   8934  1.3  mrg         *_buffer = xcb_out;
   8935  1.3  mrg     }
   8936  1.3  mrg 
   8937  1.3  mrg     xcb_tmp = xcb_out;
   8938  1.3  mrg     for(i=0; i<xcb_parts_idx; i++) {
   8939  1.3  mrg         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   8940  1.3  mrg             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   8941  1.3  mrg         if (0 != xcb_parts[i].iov_len)
   8942  1.3  mrg             xcb_tmp += xcb_parts[i].iov_len;
   8943  1.3  mrg     }
   8944  1.3  mrg 
   8945  1.3  mrg     return xcb_buffer_len;
   8946  1.3  mrg }
   8947  1.3  mrg 
   8948  1.3  mrg int
   8949  1.3  mrg xcb_input_xi_get_property_items_unpack (const void                         *_buffer  /**< */,
   8950  1.3  mrg                                         uint32_t                            num_items  /**< */,
   8951  1.3  mrg                                         uint8_t                             format  /**< */,
   8952  1.3  mrg                                         xcb_input_xi_get_property_items_t  *_aux  /**< */)
   8953  1.3  mrg {
   8954  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   8955  1.3  mrg     unsigned int xcb_buffer_len = 0;
   8956  1.3  mrg     unsigned int xcb_block_len = 0;
   8957  1.3  mrg     unsigned int xcb_pad = 0;
   8958  1.3  mrg     unsigned int xcb_align_to = 0;
   8959  1.3  mrg 
   8960  1.3  mrg 
   8961  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_8_BITS) {
   8962  1.3  mrg         /* insert padding */
   8963  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8964  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8965  1.3  mrg         if (0 != xcb_pad) {
   8966  1.3  mrg             xcb_tmp += xcb_pad;
   8967  1.3  mrg             xcb_pad = 0;
   8968  1.3  mrg         }
   8969  1.3  mrg         xcb_block_len = 0;
   8970  1.3  mrg         /* data8 */
   8971  1.3  mrg         _aux->data8 = (uint8_t *)xcb_tmp;
   8972  1.3  mrg         xcb_block_len += num_items * sizeof(uint8_t);
   8973  1.3  mrg         xcb_tmp += xcb_block_len;
   8974  1.3  mrg         xcb_align_to = ALIGNOF(uint8_t);
   8975  1.3  mrg     }
   8976  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_16_BITS) {
   8977  1.3  mrg         /* insert padding */
   8978  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8979  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8980  1.3  mrg         if (0 != xcb_pad) {
   8981  1.3  mrg             xcb_tmp += xcb_pad;
   8982  1.3  mrg             xcb_pad = 0;
   8983  1.3  mrg         }
   8984  1.3  mrg         xcb_block_len = 0;
   8985  1.3  mrg         /* data16 */
   8986  1.3  mrg         _aux->data16 = (uint16_t *)xcb_tmp;
   8987  1.3  mrg         xcb_block_len += num_items * sizeof(uint16_t);
   8988  1.3  mrg         xcb_tmp += xcb_block_len;
   8989  1.3  mrg         xcb_align_to = ALIGNOF(uint16_t);
   8990  1.3  mrg     }
   8991  1.3  mrg     if(format & XCB_INPUT_PROPERTY_FORMAT_32_BITS) {
   8992  1.3  mrg         /* insert padding */
   8993  1.3  mrg         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8994  1.3  mrg         xcb_buffer_len += xcb_block_len + xcb_pad;
   8995  1.3  mrg         if (0 != xcb_pad) {
   8996  1.3  mrg             xcb_tmp += xcb_pad;
   8997  1.3  mrg             xcb_pad = 0;
   8998  1.3  mrg         }
   8999  1.3  mrg         xcb_block_len = 0;
   9000  1.3  mrg         /* data32 */
   9001  1.3  mrg         _aux->data32 = (uint32_t *)xcb_tmp;
   9002  1.3  mrg         xcb_block_len += num_items * sizeof(uint32_t);
   9003  1.3  mrg         xcb_tmp += xcb_block_len;
   9004  1.3  mrg         xcb_align_to = ALIGNOF(uint32_t);
   9005  1.3  mrg     }
   9006  1.3  mrg     /* insert padding */
   9007  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9008  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9009  1.3  mrg     if (0 != xcb_pad) {
   9010  1.3  mrg         xcb_tmp += xcb_pad;
   9011  1.3  mrg         xcb_pad = 0;
   9012  1.3  mrg     }
   9013  1.3  mrg     xcb_block_len = 0;
   9014  1.3  mrg 
   9015  1.3  mrg     return xcb_buffer_len;
   9016  1.3  mrg }
   9017  1.3  mrg 
   9018  1.3  mrg int
   9019  1.3  mrg xcb_input_xi_get_property_items_sizeof (const void  *_buffer  /**< */,
   9020  1.3  mrg                                         uint32_t     num_items  /**< */,
   9021  1.3  mrg                                         uint8_t      format  /**< */)
   9022  1.3  mrg {
   9023  1.3  mrg     xcb_input_xi_get_property_items_t _aux;
   9024  1.3  mrg     return xcb_input_xi_get_property_items_unpack(_buffer, num_items, format, &_aux);
   9025  1.3  mrg }
   9026  1.3  mrg 
   9027  1.3  mrg xcb_input_xi_get_property_cookie_t
   9028  1.3  mrg xcb_input_xi_get_property (xcb_connection_t      *c  /**< */,
   9029  1.3  mrg                            xcb_input_device_id_t  deviceid  /**< */,
   9030  1.3  mrg                            uint8_t                _delete  /**< */,
   9031  1.3  mrg                            xcb_atom_t             property  /**< */,
   9032  1.3  mrg                            xcb_atom_t             type  /**< */,
   9033  1.3  mrg                            uint32_t               offset  /**< */,
   9034  1.3  mrg                            uint32_t               len  /**< */)
   9035  1.3  mrg {
   9036  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   9037  1.3  mrg         /* count */ 2,
   9038  1.3  mrg         /* ext */ &xcb_input_id,
   9039  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_PROPERTY,
   9040  1.3  mrg         /* isvoid */ 0
   9041  1.3  mrg     };
   9042  1.4  mrg 
   9043  1.3  mrg     struct iovec xcb_parts[4];
   9044  1.3  mrg     xcb_input_xi_get_property_cookie_t xcb_ret;
   9045  1.3  mrg     xcb_input_xi_get_property_request_t xcb_out;
   9046  1.4  mrg 
   9047  1.3  mrg     xcb_out.deviceid = deviceid;
   9048  1.3  mrg     xcb_out._delete = _delete;
   9049  1.3  mrg     xcb_out.pad0 = 0;
   9050  1.3  mrg     xcb_out.property = property;
   9051  1.3  mrg     xcb_out.type = type;
   9052  1.3  mrg     xcb_out.offset = offset;
   9053  1.3  mrg     xcb_out.len = len;
   9054  1.4  mrg 
   9055  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   9056  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   9057  1.3  mrg     xcb_parts[3].iov_base = 0;
   9058  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9059  1.4  mrg 
   9060  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   9061  1.3  mrg     return xcb_ret;
   9062  1.3  mrg }
   9063  1.3  mrg 
   9064  1.3  mrg xcb_input_xi_get_property_cookie_t
   9065  1.3  mrg xcb_input_xi_get_property_unchecked (xcb_connection_t      *c  /**< */,
   9066  1.3  mrg                                      xcb_input_device_id_t  deviceid  /**< */,
   9067  1.3  mrg                                      uint8_t                _delete  /**< */,
   9068  1.3  mrg                                      xcb_atom_t             property  /**< */,
   9069  1.3  mrg                                      xcb_atom_t             type  /**< */,
   9070  1.3  mrg                                      uint32_t               offset  /**< */,
   9071  1.3  mrg                                      uint32_t               len  /**< */)
   9072  1.3  mrg {
   9073  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   9074  1.3  mrg         /* count */ 2,
   9075  1.3  mrg         /* ext */ &xcb_input_id,
   9076  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_PROPERTY,
   9077  1.3  mrg         /* isvoid */ 0
   9078  1.3  mrg     };
   9079  1.4  mrg 
   9080  1.3  mrg     struct iovec xcb_parts[4];
   9081  1.3  mrg     xcb_input_xi_get_property_cookie_t xcb_ret;
   9082  1.3  mrg     xcb_input_xi_get_property_request_t xcb_out;
   9083  1.4  mrg 
   9084  1.3  mrg     xcb_out.deviceid = deviceid;
   9085  1.3  mrg     xcb_out._delete = _delete;
   9086  1.3  mrg     xcb_out.pad0 = 0;
   9087  1.3  mrg     xcb_out.property = property;
   9088  1.3  mrg     xcb_out.type = type;
   9089  1.3  mrg     xcb_out.offset = offset;
   9090  1.3  mrg     xcb_out.len = len;
   9091  1.4  mrg 
   9092  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   9093  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   9094  1.3  mrg     xcb_parts[3].iov_base = 0;
   9095  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9096  1.4  mrg 
   9097  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   9098  1.3  mrg     return xcb_ret;
   9099  1.3  mrg }
   9100  1.3  mrg 
   9101  1.3  mrg void *
   9102  1.3  mrg xcb_input_xi_get_property_items (const xcb_input_xi_get_property_reply_t *R  /**< */)
   9103  1.3  mrg {
   9104  1.3  mrg     return (void *) (R + 1);
   9105  1.3  mrg }
   9106  1.3  mrg 
   9107  1.3  mrg xcb_input_xi_get_property_reply_t *
   9108  1.3  mrg xcb_input_xi_get_property_reply (xcb_connection_t                    *c  /**< */,
   9109  1.3  mrg                                  xcb_input_xi_get_property_cookie_t   cookie  /**< */,
   9110  1.3  mrg                                  xcb_generic_error_t                **e  /**< */)
   9111  1.3  mrg {
   9112  1.3  mrg     return (xcb_input_xi_get_property_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   9113  1.3  mrg }
   9114  1.3  mrg 
   9115  1.3  mrg int
   9116  1.3  mrg xcb_input_xi_get_selected_events_sizeof (const void  *_buffer  /**< */)
   9117  1.3  mrg {
   9118  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9119  1.3  mrg     const xcb_input_xi_get_selected_events_reply_t *_aux = (xcb_input_xi_get_selected_events_reply_t *)_buffer;
   9120  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9121  1.3  mrg     unsigned int xcb_block_len = 0;
   9122  1.3  mrg     unsigned int xcb_pad = 0;
   9123  1.3  mrg     unsigned int xcb_align_to = 0;
   9124  1.3  mrg 
   9125  1.3  mrg     unsigned int i;
   9126  1.3  mrg     unsigned int xcb_tmp_len;
   9127  1.3  mrg 
   9128  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_get_selected_events_reply_t);
   9129  1.3  mrg     xcb_tmp += xcb_block_len;
   9130  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9131  1.3  mrg     xcb_block_len = 0;
   9132  1.3  mrg     /* masks */
   9133  1.3  mrg     for(i=0; i<_aux->num_masks; i++) {
   9134  1.3  mrg         xcb_tmp_len = xcb_input_event_mask_sizeof(xcb_tmp);
   9135  1.3  mrg         xcb_block_len += xcb_tmp_len;
   9136  1.3  mrg         xcb_tmp += xcb_tmp_len;
   9137  1.3  mrg     }
   9138  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_event_mask_t);
   9139  1.3  mrg     /* insert padding */
   9140  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9141  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9142  1.3  mrg     if (0 != xcb_pad) {
   9143  1.3  mrg         xcb_tmp += xcb_pad;
   9144  1.3  mrg         xcb_pad = 0;
   9145  1.3  mrg     }
   9146  1.3  mrg     xcb_block_len = 0;
   9147  1.3  mrg 
   9148  1.3  mrg     return xcb_buffer_len;
   9149  1.3  mrg }
   9150  1.3  mrg 
   9151  1.3  mrg xcb_input_xi_get_selected_events_cookie_t
   9152  1.3  mrg xcb_input_xi_get_selected_events (xcb_connection_t *c  /**< */,
   9153  1.3  mrg                                   xcb_window_t      window  /**< */)
   9154  1.3  mrg {
   9155  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   9156  1.3  mrg         /* count */ 2,
   9157  1.3  mrg         /* ext */ &xcb_input_id,
   9158  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_SELECTED_EVENTS,
   9159  1.3  mrg         /* isvoid */ 0
   9160  1.3  mrg     };
   9161  1.4  mrg 
   9162  1.3  mrg     struct iovec xcb_parts[4];
   9163  1.3  mrg     xcb_input_xi_get_selected_events_cookie_t xcb_ret;
   9164  1.3  mrg     xcb_input_xi_get_selected_events_request_t xcb_out;
   9165  1.4  mrg 
   9166  1.3  mrg     xcb_out.window = window;
   9167  1.4  mrg 
   9168  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   9169  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   9170  1.3  mrg     xcb_parts[3].iov_base = 0;
   9171  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9172  1.4  mrg 
   9173  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   9174  1.3  mrg     return xcb_ret;
   9175  1.3  mrg }
   9176  1.3  mrg 
   9177  1.3  mrg xcb_input_xi_get_selected_events_cookie_t
   9178  1.3  mrg xcb_input_xi_get_selected_events_unchecked (xcb_connection_t *c  /**< */,
   9179  1.3  mrg                                             xcb_window_t      window  /**< */)
   9180  1.3  mrg {
   9181  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   9182  1.3  mrg         /* count */ 2,
   9183  1.3  mrg         /* ext */ &xcb_input_id,
   9184  1.3  mrg         /* opcode */ XCB_INPUT_XI_GET_SELECTED_EVENTS,
   9185  1.3  mrg         /* isvoid */ 0
   9186  1.3  mrg     };
   9187  1.4  mrg 
   9188  1.3  mrg     struct iovec xcb_parts[4];
   9189  1.3  mrg     xcb_input_xi_get_selected_events_cookie_t xcb_ret;
   9190  1.3  mrg     xcb_input_xi_get_selected_events_request_t xcb_out;
   9191  1.4  mrg 
   9192  1.3  mrg     xcb_out.window = window;
   9193  1.4  mrg 
   9194  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   9195  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   9196  1.3  mrg     xcb_parts[3].iov_base = 0;
   9197  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9198  1.4  mrg 
   9199  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   9200  1.3  mrg     return xcb_ret;
   9201  1.3  mrg }
   9202  1.3  mrg 
   9203  1.3  mrg int
   9204  1.3  mrg xcb_input_xi_get_selected_events_masks_length (const xcb_input_xi_get_selected_events_reply_t *R  /**< */)
   9205  1.3  mrg {
   9206  1.3  mrg     return R->num_masks;
   9207  1.3  mrg }
   9208  1.3  mrg 
   9209  1.3  mrg xcb_input_event_mask_iterator_t
   9210  1.3  mrg xcb_input_xi_get_selected_events_masks_iterator (const xcb_input_xi_get_selected_events_reply_t *R  /**< */)
   9211  1.3  mrg {
   9212  1.3  mrg     xcb_input_event_mask_iterator_t i;
   9213  1.3  mrg     i.data = (xcb_input_event_mask_t *) (R + 1);
   9214  1.3  mrg     i.rem = R->num_masks;
   9215  1.3  mrg     i.index = (char *) i.data - (char *) R;
   9216  1.3  mrg     return i;
   9217  1.3  mrg }
   9218  1.3  mrg 
   9219  1.3  mrg xcb_input_xi_get_selected_events_reply_t *
   9220  1.3  mrg xcb_input_xi_get_selected_events_reply (xcb_connection_t                           *c  /**< */,
   9221  1.3  mrg                                         xcb_input_xi_get_selected_events_cookie_t   cookie  /**< */,
   9222  1.3  mrg                                         xcb_generic_error_t                       **e  /**< */)
   9223  1.3  mrg {
   9224  1.3  mrg     return (xcb_input_xi_get_selected_events_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   9225  1.3  mrg }
   9226  1.3  mrg 
   9227  1.3  mrg void
   9228  1.3  mrg xcb_input_barrier_release_pointer_info_next (xcb_input_barrier_release_pointer_info_iterator_t *i  /**< */)
   9229  1.3  mrg {
   9230  1.3  mrg     --i->rem;
   9231  1.3  mrg     ++i->data;
   9232  1.3  mrg     i->index += sizeof(xcb_input_barrier_release_pointer_info_t);
   9233  1.3  mrg }
   9234  1.3  mrg 
   9235  1.3  mrg xcb_generic_iterator_t
   9236  1.3  mrg xcb_input_barrier_release_pointer_info_end (xcb_input_barrier_release_pointer_info_iterator_t i  /**< */)
   9237  1.3  mrg {
   9238  1.3  mrg     xcb_generic_iterator_t ret;
   9239  1.3  mrg     ret.data = i.data + i.rem;
   9240  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   9241  1.3  mrg     ret.rem = 0;
   9242  1.3  mrg     return ret;
   9243  1.3  mrg }
   9244  1.3  mrg 
   9245  1.3  mrg int
   9246  1.3  mrg xcb_input_xi_barrier_release_pointer_sizeof (const void  *_buffer  /**< */)
   9247  1.3  mrg {
   9248  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9249  1.3  mrg     const xcb_input_xi_barrier_release_pointer_request_t *_aux = (xcb_input_xi_barrier_release_pointer_request_t *)_buffer;
   9250  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9251  1.3  mrg     unsigned int xcb_block_len = 0;
   9252  1.3  mrg     unsigned int xcb_pad = 0;
   9253  1.3  mrg     unsigned int xcb_align_to = 0;
   9254  1.3  mrg 
   9255  1.3  mrg 
   9256  1.3  mrg     xcb_block_len += sizeof(xcb_input_xi_barrier_release_pointer_request_t);
   9257  1.3  mrg     xcb_tmp += xcb_block_len;
   9258  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9259  1.3  mrg     xcb_block_len = 0;
   9260  1.3  mrg     /* barriers */
   9261  1.3  mrg     xcb_block_len += _aux->num_barriers * sizeof(xcb_input_barrier_release_pointer_info_t);
   9262  1.3  mrg     xcb_tmp += xcb_block_len;
   9263  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_barrier_release_pointer_info_t);
   9264  1.3  mrg     /* insert padding */
   9265  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9266  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9267  1.3  mrg     if (0 != xcb_pad) {
   9268  1.3  mrg         xcb_tmp += xcb_pad;
   9269  1.3  mrg         xcb_pad = 0;
   9270  1.3  mrg     }
   9271  1.3  mrg     xcb_block_len = 0;
   9272  1.3  mrg 
   9273  1.3  mrg     return xcb_buffer_len;
   9274  1.3  mrg }
   9275  1.3  mrg 
   9276  1.3  mrg xcb_void_cookie_t
   9277  1.3  mrg xcb_input_xi_barrier_release_pointer_checked (xcb_connection_t                               *c  /**< */,
   9278  1.3  mrg                                               uint32_t                                        num_barriers  /**< */,
   9279  1.3  mrg                                               const xcb_input_barrier_release_pointer_info_t *barriers  /**< */)
   9280  1.3  mrg {
   9281  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   9282  1.3  mrg         /* count */ 4,
   9283  1.3  mrg         /* ext */ &xcb_input_id,
   9284  1.3  mrg         /* opcode */ XCB_INPUT_XI_BARRIER_RELEASE_POINTER,
   9285  1.3  mrg         /* isvoid */ 1
   9286  1.3  mrg     };
   9287  1.4  mrg 
   9288  1.3  mrg     struct iovec xcb_parts[6];
   9289  1.3  mrg     xcb_void_cookie_t xcb_ret;
   9290  1.3  mrg     xcb_input_xi_barrier_release_pointer_request_t xcb_out;
   9291  1.4  mrg 
   9292  1.3  mrg     xcb_out.num_barriers = num_barriers;
   9293  1.4  mrg 
   9294  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   9295  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   9296  1.3  mrg     xcb_parts[3].iov_base = 0;
   9297  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9298  1.3  mrg     /* xcb_input_barrier_release_pointer_info_t barriers */
   9299  1.3  mrg     xcb_parts[4].iov_base = (char *) barriers;
   9300  1.3  mrg     xcb_parts[4].iov_len = num_barriers * sizeof(xcb_input_barrier_release_pointer_info_t);
   9301  1.3  mrg     xcb_parts[5].iov_base = 0;
   9302  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   9303  1.4  mrg 
   9304  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   9305  1.3  mrg     return xcb_ret;
   9306  1.3  mrg }
   9307  1.3  mrg 
   9308  1.3  mrg xcb_void_cookie_t
   9309  1.3  mrg xcb_input_xi_barrier_release_pointer (xcb_connection_t                               *c  /**< */,
   9310  1.3  mrg                                       uint32_t                                        num_barriers  /**< */,
   9311  1.3  mrg                                       const xcb_input_barrier_release_pointer_info_t *barriers  /**< */)
   9312  1.3  mrg {
   9313  1.3  mrg     static const xcb_protocol_request_t xcb_req = {
   9314  1.3  mrg         /* count */ 4,
   9315  1.3  mrg         /* ext */ &xcb_input_id,
   9316  1.3  mrg         /* opcode */ XCB_INPUT_XI_BARRIER_RELEASE_POINTER,
   9317  1.3  mrg         /* isvoid */ 1
   9318  1.3  mrg     };
   9319  1.4  mrg 
   9320  1.3  mrg     struct iovec xcb_parts[6];
   9321  1.3  mrg     xcb_void_cookie_t xcb_ret;
   9322  1.3  mrg     xcb_input_xi_barrier_release_pointer_request_t xcb_out;
   9323  1.4  mrg 
   9324  1.3  mrg     xcb_out.num_barriers = num_barriers;
   9325  1.4  mrg 
   9326  1.3  mrg     xcb_parts[2].iov_base = (char *) &xcb_out;
   9327  1.3  mrg     xcb_parts[2].iov_len = sizeof(xcb_out);
   9328  1.3  mrg     xcb_parts[3].iov_base = 0;
   9329  1.3  mrg     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9330  1.3  mrg     /* xcb_input_barrier_release_pointer_info_t barriers */
   9331  1.3  mrg     xcb_parts[4].iov_base = (char *) barriers;
   9332  1.3  mrg     xcb_parts[4].iov_len = num_barriers * sizeof(xcb_input_barrier_release_pointer_info_t);
   9333  1.3  mrg     xcb_parts[5].iov_base = 0;
   9334  1.3  mrg     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   9335  1.4  mrg 
   9336  1.3  mrg     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   9337  1.3  mrg     return xcb_ret;
   9338  1.3  mrg }
   9339  1.3  mrg 
   9340  1.3  mrg int
   9341  1.3  mrg xcb_input_device_changed_sizeof (const void  *_buffer  /**< */)
   9342  1.3  mrg {
   9343  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9344  1.3  mrg     const xcb_input_device_changed_event_t *_aux = (xcb_input_device_changed_event_t *)_buffer;
   9345  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9346  1.3  mrg     unsigned int xcb_block_len = 0;
   9347  1.3  mrg     unsigned int xcb_pad = 0;
   9348  1.3  mrg     unsigned int xcb_align_to = 0;
   9349  1.3  mrg 
   9350  1.3  mrg     unsigned int i;
   9351  1.3  mrg     unsigned int xcb_tmp_len;
   9352  1.3  mrg 
   9353  1.3  mrg     xcb_block_len += sizeof(xcb_input_device_changed_event_t);
   9354  1.3  mrg     xcb_tmp += xcb_block_len;
   9355  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9356  1.3  mrg     xcb_block_len = 0;
   9357  1.3  mrg     /* classes */
   9358  1.3  mrg     for(i=0; i<_aux->num_classes; i++) {
   9359  1.3  mrg         xcb_tmp_len = xcb_input_device_class_sizeof(xcb_tmp);
   9360  1.3  mrg         xcb_block_len += xcb_tmp_len;
   9361  1.3  mrg         xcb_tmp += xcb_tmp_len;
   9362  1.3  mrg     }
   9363  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_device_class_t);
   9364  1.3  mrg     /* insert padding */
   9365  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9366  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9367  1.3  mrg     if (0 != xcb_pad) {
   9368  1.3  mrg         xcb_tmp += xcb_pad;
   9369  1.3  mrg         xcb_pad = 0;
   9370  1.3  mrg     }
   9371  1.3  mrg     xcb_block_len = 0;
   9372  1.3  mrg 
   9373  1.3  mrg     return xcb_buffer_len;
   9374  1.3  mrg }
   9375  1.3  mrg 
   9376  1.3  mrg int
   9377  1.3  mrg xcb_input_key_press_sizeof (const void  *_buffer  /**< */)
   9378  1.3  mrg {
   9379  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9380  1.3  mrg     const xcb_input_key_press_event_t *_aux = (xcb_input_key_press_event_t *)_buffer;
   9381  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9382  1.3  mrg     unsigned int xcb_block_len = 0;
   9383  1.3  mrg     unsigned int xcb_pad = 0;
   9384  1.3  mrg     unsigned int xcb_align_to = 0;
   9385  1.3  mrg 
   9386  1.3  mrg 
   9387  1.3  mrg     xcb_block_len += sizeof(xcb_input_key_press_event_t);
   9388  1.3  mrg     xcb_tmp += xcb_block_len;
   9389  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9390  1.3  mrg     xcb_block_len = 0;
   9391  1.3  mrg     /* button_mask */
   9392  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9393  1.3  mrg     xcb_tmp += xcb_block_len;
   9394  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9395  1.3  mrg     /* insert padding */
   9396  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9397  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9398  1.3  mrg     if (0 != xcb_pad) {
   9399  1.3  mrg         xcb_tmp += xcb_pad;
   9400  1.3  mrg         xcb_pad = 0;
   9401  1.3  mrg     }
   9402  1.3  mrg     xcb_block_len = 0;
   9403  1.3  mrg     /* valuator_mask */
   9404  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9405  1.3  mrg     xcb_tmp += xcb_block_len;
   9406  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9407  1.3  mrg     /* insert padding */
   9408  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9409  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9410  1.3  mrg     if (0 != xcb_pad) {
   9411  1.3  mrg         xcb_tmp += xcb_pad;
   9412  1.3  mrg         xcb_pad = 0;
   9413  1.3  mrg     }
   9414  1.3  mrg     xcb_block_len = 0;
   9415  1.3  mrg 
   9416  1.3  mrg     return xcb_buffer_len;
   9417  1.3  mrg }
   9418  1.3  mrg 
   9419  1.3  mrg int
   9420  1.3  mrg xcb_input_key_release_sizeof (const void  *_buffer  /**< */)
   9421  1.3  mrg {
   9422  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9423  1.3  mrg     const xcb_input_key_release_event_t *_aux = (xcb_input_key_release_event_t *)_buffer;
   9424  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9425  1.3  mrg     unsigned int xcb_block_len = 0;
   9426  1.3  mrg     unsigned int xcb_pad = 0;
   9427  1.3  mrg     unsigned int xcb_align_to = 0;
   9428  1.3  mrg 
   9429  1.3  mrg 
   9430  1.3  mrg     xcb_block_len += sizeof(xcb_input_key_release_event_t);
   9431  1.3  mrg     xcb_tmp += xcb_block_len;
   9432  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9433  1.3  mrg     xcb_block_len = 0;
   9434  1.3  mrg     /* button_mask */
   9435  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9436  1.3  mrg     xcb_tmp += xcb_block_len;
   9437  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9438  1.3  mrg     /* insert padding */
   9439  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9440  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9441  1.3  mrg     if (0 != xcb_pad) {
   9442  1.3  mrg         xcb_tmp += xcb_pad;
   9443  1.3  mrg         xcb_pad = 0;
   9444  1.3  mrg     }
   9445  1.3  mrg     xcb_block_len = 0;
   9446  1.3  mrg     /* valuator_mask */
   9447  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9448  1.3  mrg     xcb_tmp += xcb_block_len;
   9449  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9450  1.3  mrg     /* insert padding */
   9451  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9452  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9453  1.3  mrg     if (0 != xcb_pad) {
   9454  1.3  mrg         xcb_tmp += xcb_pad;
   9455  1.3  mrg         xcb_pad = 0;
   9456  1.3  mrg     }
   9457  1.3  mrg     xcb_block_len = 0;
   9458  1.3  mrg 
   9459  1.3  mrg     return xcb_buffer_len;
   9460  1.3  mrg }
   9461  1.3  mrg 
   9462  1.3  mrg int
   9463  1.3  mrg xcb_input_button_press_sizeof (const void  *_buffer  /**< */)
   9464  1.3  mrg {
   9465  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9466  1.3  mrg     const xcb_input_button_press_event_t *_aux = (xcb_input_button_press_event_t *)_buffer;
   9467  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9468  1.3  mrg     unsigned int xcb_block_len = 0;
   9469  1.3  mrg     unsigned int xcb_pad = 0;
   9470  1.3  mrg     unsigned int xcb_align_to = 0;
   9471  1.3  mrg 
   9472  1.3  mrg 
   9473  1.3  mrg     xcb_block_len += sizeof(xcb_input_button_press_event_t);
   9474  1.3  mrg     xcb_tmp += xcb_block_len;
   9475  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9476  1.3  mrg     xcb_block_len = 0;
   9477  1.3  mrg     /* button_mask */
   9478  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9479  1.3  mrg     xcb_tmp += xcb_block_len;
   9480  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9481  1.3  mrg     /* insert padding */
   9482  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9483  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9484  1.3  mrg     if (0 != xcb_pad) {
   9485  1.3  mrg         xcb_tmp += xcb_pad;
   9486  1.3  mrg         xcb_pad = 0;
   9487  1.3  mrg     }
   9488  1.3  mrg     xcb_block_len = 0;
   9489  1.3  mrg     /* valuator_mask */
   9490  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9491  1.3  mrg     xcb_tmp += xcb_block_len;
   9492  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9493  1.3  mrg     /* insert padding */
   9494  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9495  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9496  1.3  mrg     if (0 != xcb_pad) {
   9497  1.3  mrg         xcb_tmp += xcb_pad;
   9498  1.3  mrg         xcb_pad = 0;
   9499  1.3  mrg     }
   9500  1.3  mrg     xcb_block_len = 0;
   9501  1.3  mrg 
   9502  1.3  mrg     return xcb_buffer_len;
   9503  1.3  mrg }
   9504  1.3  mrg 
   9505  1.3  mrg int
   9506  1.3  mrg xcb_input_button_release_sizeof (const void  *_buffer  /**< */)
   9507  1.3  mrg {
   9508  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9509  1.3  mrg     const xcb_input_button_release_event_t *_aux = (xcb_input_button_release_event_t *)_buffer;
   9510  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9511  1.3  mrg     unsigned int xcb_block_len = 0;
   9512  1.3  mrg     unsigned int xcb_pad = 0;
   9513  1.3  mrg     unsigned int xcb_align_to = 0;
   9514  1.3  mrg 
   9515  1.3  mrg 
   9516  1.3  mrg     xcb_block_len += sizeof(xcb_input_button_release_event_t);
   9517  1.3  mrg     xcb_tmp += xcb_block_len;
   9518  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9519  1.3  mrg     xcb_block_len = 0;
   9520  1.3  mrg     /* button_mask */
   9521  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9522  1.3  mrg     xcb_tmp += xcb_block_len;
   9523  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9524  1.3  mrg     /* insert padding */
   9525  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9526  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9527  1.3  mrg     if (0 != xcb_pad) {
   9528  1.3  mrg         xcb_tmp += xcb_pad;
   9529  1.3  mrg         xcb_pad = 0;
   9530  1.3  mrg     }
   9531  1.3  mrg     xcb_block_len = 0;
   9532  1.3  mrg     /* valuator_mask */
   9533  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9534  1.3  mrg     xcb_tmp += xcb_block_len;
   9535  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9536  1.3  mrg     /* insert padding */
   9537  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9538  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9539  1.3  mrg     if (0 != xcb_pad) {
   9540  1.3  mrg         xcb_tmp += xcb_pad;
   9541  1.3  mrg         xcb_pad = 0;
   9542  1.3  mrg     }
   9543  1.3  mrg     xcb_block_len = 0;
   9544  1.3  mrg 
   9545  1.3  mrg     return xcb_buffer_len;
   9546  1.3  mrg }
   9547  1.3  mrg 
   9548  1.3  mrg int
   9549  1.3  mrg xcb_input_motion_sizeof (const void  *_buffer  /**< */)
   9550  1.3  mrg {
   9551  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9552  1.3  mrg     const xcb_input_motion_event_t *_aux = (xcb_input_motion_event_t *)_buffer;
   9553  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9554  1.3  mrg     unsigned int xcb_block_len = 0;
   9555  1.3  mrg     unsigned int xcb_pad = 0;
   9556  1.3  mrg     unsigned int xcb_align_to = 0;
   9557  1.3  mrg 
   9558  1.3  mrg 
   9559  1.3  mrg     xcb_block_len += sizeof(xcb_input_motion_event_t);
   9560  1.3  mrg     xcb_tmp += xcb_block_len;
   9561  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9562  1.3  mrg     xcb_block_len = 0;
   9563  1.3  mrg     /* button_mask */
   9564  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9565  1.3  mrg     xcb_tmp += xcb_block_len;
   9566  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9567  1.3  mrg     /* insert padding */
   9568  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9569  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9570  1.3  mrg     if (0 != xcb_pad) {
   9571  1.3  mrg         xcb_tmp += xcb_pad;
   9572  1.3  mrg         xcb_pad = 0;
   9573  1.3  mrg     }
   9574  1.3  mrg     xcb_block_len = 0;
   9575  1.3  mrg     /* valuator_mask */
   9576  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9577  1.3  mrg     xcb_tmp += xcb_block_len;
   9578  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9579  1.3  mrg     /* insert padding */
   9580  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9581  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9582  1.3  mrg     if (0 != xcb_pad) {
   9583  1.3  mrg         xcb_tmp += xcb_pad;
   9584  1.3  mrg         xcb_pad = 0;
   9585  1.3  mrg     }
   9586  1.3  mrg     xcb_block_len = 0;
   9587  1.3  mrg 
   9588  1.3  mrg     return xcb_buffer_len;
   9589  1.3  mrg }
   9590  1.3  mrg 
   9591  1.3  mrg int
   9592  1.3  mrg xcb_input_enter_sizeof (const void  *_buffer  /**< */)
   9593  1.3  mrg {
   9594  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9595  1.3  mrg     const xcb_input_enter_event_t *_aux = (xcb_input_enter_event_t *)_buffer;
   9596  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9597  1.3  mrg     unsigned int xcb_block_len = 0;
   9598  1.3  mrg     unsigned int xcb_pad = 0;
   9599  1.3  mrg     unsigned int xcb_align_to = 0;
   9600  1.3  mrg 
   9601  1.3  mrg 
   9602  1.3  mrg     xcb_block_len += sizeof(xcb_input_enter_event_t);
   9603  1.3  mrg     xcb_tmp += xcb_block_len;
   9604  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9605  1.3  mrg     xcb_block_len = 0;
   9606  1.3  mrg     /* buttons */
   9607  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9608  1.3  mrg     xcb_tmp += xcb_block_len;
   9609  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9610  1.3  mrg     /* insert padding */
   9611  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9612  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9613  1.3  mrg     if (0 != xcb_pad) {
   9614  1.3  mrg         xcb_tmp += xcb_pad;
   9615  1.3  mrg         xcb_pad = 0;
   9616  1.3  mrg     }
   9617  1.3  mrg     xcb_block_len = 0;
   9618  1.3  mrg 
   9619  1.3  mrg     return xcb_buffer_len;
   9620  1.3  mrg }
   9621  1.3  mrg 
   9622  1.3  mrg int
   9623  1.3  mrg xcb_input_leave_sizeof (const void  *_buffer  /**< */)
   9624  1.3  mrg {
   9625  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9626  1.3  mrg     const xcb_input_leave_event_t *_aux = (xcb_input_leave_event_t *)_buffer;
   9627  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9628  1.3  mrg     unsigned int xcb_block_len = 0;
   9629  1.3  mrg     unsigned int xcb_pad = 0;
   9630  1.3  mrg     unsigned int xcb_align_to = 0;
   9631  1.3  mrg 
   9632  1.3  mrg 
   9633  1.3  mrg     xcb_block_len += sizeof(xcb_input_leave_event_t);
   9634  1.3  mrg     xcb_tmp += xcb_block_len;
   9635  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9636  1.3  mrg     xcb_block_len = 0;
   9637  1.3  mrg     /* buttons */
   9638  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9639  1.3  mrg     xcb_tmp += xcb_block_len;
   9640  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9641  1.3  mrg     /* insert padding */
   9642  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9643  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9644  1.3  mrg     if (0 != xcb_pad) {
   9645  1.3  mrg         xcb_tmp += xcb_pad;
   9646  1.3  mrg         xcb_pad = 0;
   9647  1.3  mrg     }
   9648  1.3  mrg     xcb_block_len = 0;
   9649  1.3  mrg 
   9650  1.3  mrg     return xcb_buffer_len;
   9651  1.3  mrg }
   9652  1.3  mrg 
   9653  1.3  mrg int
   9654  1.3  mrg xcb_input_focus_in_sizeof (const void  *_buffer  /**< */)
   9655  1.3  mrg {
   9656  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9657  1.3  mrg     const xcb_input_focus_in_event_t *_aux = (xcb_input_focus_in_event_t *)_buffer;
   9658  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9659  1.3  mrg     unsigned int xcb_block_len = 0;
   9660  1.3  mrg     unsigned int xcb_pad = 0;
   9661  1.3  mrg     unsigned int xcb_align_to = 0;
   9662  1.3  mrg 
   9663  1.3  mrg 
   9664  1.3  mrg     xcb_block_len += sizeof(xcb_input_focus_in_event_t);
   9665  1.3  mrg     xcb_tmp += xcb_block_len;
   9666  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9667  1.3  mrg     xcb_block_len = 0;
   9668  1.3  mrg     /* buttons */
   9669  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9670  1.3  mrg     xcb_tmp += xcb_block_len;
   9671  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9672  1.3  mrg     /* insert padding */
   9673  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9674  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9675  1.3  mrg     if (0 != xcb_pad) {
   9676  1.3  mrg         xcb_tmp += xcb_pad;
   9677  1.3  mrg         xcb_pad = 0;
   9678  1.3  mrg     }
   9679  1.3  mrg     xcb_block_len = 0;
   9680  1.3  mrg 
   9681  1.3  mrg     return xcb_buffer_len;
   9682  1.3  mrg }
   9683  1.3  mrg 
   9684  1.3  mrg int
   9685  1.3  mrg xcb_input_focus_out_sizeof (const void  *_buffer  /**< */)
   9686  1.3  mrg {
   9687  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9688  1.3  mrg     const xcb_input_focus_out_event_t *_aux = (xcb_input_focus_out_event_t *)_buffer;
   9689  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9690  1.3  mrg     unsigned int xcb_block_len = 0;
   9691  1.3  mrg     unsigned int xcb_pad = 0;
   9692  1.3  mrg     unsigned int xcb_align_to = 0;
   9693  1.3  mrg 
   9694  1.3  mrg 
   9695  1.3  mrg     xcb_block_len += sizeof(xcb_input_focus_out_event_t);
   9696  1.3  mrg     xcb_tmp += xcb_block_len;
   9697  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9698  1.3  mrg     xcb_block_len = 0;
   9699  1.3  mrg     /* buttons */
   9700  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9701  1.3  mrg     xcb_tmp += xcb_block_len;
   9702  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9703  1.3  mrg     /* insert padding */
   9704  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9705  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9706  1.3  mrg     if (0 != xcb_pad) {
   9707  1.3  mrg         xcb_tmp += xcb_pad;
   9708  1.3  mrg         xcb_pad = 0;
   9709  1.3  mrg     }
   9710  1.3  mrg     xcb_block_len = 0;
   9711  1.3  mrg 
   9712  1.3  mrg     return xcb_buffer_len;
   9713  1.3  mrg }
   9714  1.3  mrg 
   9715  1.3  mrg void
   9716  1.3  mrg xcb_input_hierarchy_info_next (xcb_input_hierarchy_info_iterator_t *i  /**< */)
   9717  1.3  mrg {
   9718  1.3  mrg     --i->rem;
   9719  1.3  mrg     ++i->data;
   9720  1.3  mrg     i->index += sizeof(xcb_input_hierarchy_info_t);
   9721  1.3  mrg }
   9722  1.3  mrg 
   9723  1.3  mrg xcb_generic_iterator_t
   9724  1.3  mrg xcb_input_hierarchy_info_end (xcb_input_hierarchy_info_iterator_t i  /**< */)
   9725  1.3  mrg {
   9726  1.3  mrg     xcb_generic_iterator_t ret;
   9727  1.3  mrg     ret.data = i.data + i.rem;
   9728  1.3  mrg     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   9729  1.3  mrg     ret.rem = 0;
   9730  1.3  mrg     return ret;
   9731  1.3  mrg }
   9732  1.3  mrg 
   9733  1.3  mrg int
   9734  1.3  mrg xcb_input_hierarchy_sizeof (const void  *_buffer  /**< */)
   9735  1.3  mrg {
   9736  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9737  1.3  mrg     const xcb_input_hierarchy_event_t *_aux = (xcb_input_hierarchy_event_t *)_buffer;
   9738  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9739  1.3  mrg     unsigned int xcb_block_len = 0;
   9740  1.3  mrg     unsigned int xcb_pad = 0;
   9741  1.3  mrg     unsigned int xcb_align_to = 0;
   9742  1.3  mrg 
   9743  1.3  mrg 
   9744  1.3  mrg     xcb_block_len += sizeof(xcb_input_hierarchy_event_t);
   9745  1.3  mrg     xcb_tmp += xcb_block_len;
   9746  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9747  1.3  mrg     xcb_block_len = 0;
   9748  1.3  mrg     /* infos */
   9749  1.3  mrg     xcb_block_len += _aux->num_infos * sizeof(xcb_input_hierarchy_info_t);
   9750  1.3  mrg     xcb_tmp += xcb_block_len;
   9751  1.3  mrg     xcb_align_to = ALIGNOF(xcb_input_hierarchy_info_t);
   9752  1.3  mrg     /* insert padding */
   9753  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9754  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9755  1.3  mrg     if (0 != xcb_pad) {
   9756  1.3  mrg         xcb_tmp += xcb_pad;
   9757  1.3  mrg         xcb_pad = 0;
   9758  1.3  mrg     }
   9759  1.3  mrg     xcb_block_len = 0;
   9760  1.3  mrg 
   9761  1.3  mrg     return xcb_buffer_len;
   9762  1.3  mrg }
   9763  1.3  mrg 
   9764  1.3  mrg int
   9765  1.3  mrg xcb_input_raw_key_press_sizeof (const void  *_buffer  /**< */)
   9766  1.3  mrg {
   9767  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9768  1.3  mrg     const xcb_input_raw_key_press_event_t *_aux = (xcb_input_raw_key_press_event_t *)_buffer;
   9769  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9770  1.3  mrg     unsigned int xcb_block_len = 0;
   9771  1.3  mrg     unsigned int xcb_pad = 0;
   9772  1.3  mrg     unsigned int xcb_align_to = 0;
   9773  1.3  mrg 
   9774  1.3  mrg 
   9775  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_key_press_event_t);
   9776  1.3  mrg     xcb_tmp += xcb_block_len;
   9777  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9778  1.3  mrg     xcb_block_len = 0;
   9779  1.3  mrg     /* valuator_mask */
   9780  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9781  1.3  mrg     xcb_tmp += xcb_block_len;
   9782  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9783  1.3  mrg     /* insert padding */
   9784  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9785  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9786  1.3  mrg     if (0 != xcb_pad) {
   9787  1.3  mrg         xcb_tmp += xcb_pad;
   9788  1.3  mrg         xcb_pad = 0;
   9789  1.3  mrg     }
   9790  1.3  mrg     xcb_block_len = 0;
   9791  1.3  mrg 
   9792  1.3  mrg     return xcb_buffer_len;
   9793  1.3  mrg }
   9794  1.3  mrg 
   9795  1.3  mrg int
   9796  1.3  mrg xcb_input_raw_key_release_sizeof (const void  *_buffer  /**< */)
   9797  1.3  mrg {
   9798  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9799  1.3  mrg     const xcb_input_raw_key_release_event_t *_aux = (xcb_input_raw_key_release_event_t *)_buffer;
   9800  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9801  1.3  mrg     unsigned int xcb_block_len = 0;
   9802  1.3  mrg     unsigned int xcb_pad = 0;
   9803  1.3  mrg     unsigned int xcb_align_to = 0;
   9804  1.3  mrg 
   9805  1.3  mrg 
   9806  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_key_release_event_t);
   9807  1.3  mrg     xcb_tmp += xcb_block_len;
   9808  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9809  1.3  mrg     xcb_block_len = 0;
   9810  1.3  mrg     /* valuator_mask */
   9811  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9812  1.3  mrg     xcb_tmp += xcb_block_len;
   9813  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9814  1.3  mrg     /* insert padding */
   9815  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9816  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9817  1.3  mrg     if (0 != xcb_pad) {
   9818  1.3  mrg         xcb_tmp += xcb_pad;
   9819  1.3  mrg         xcb_pad = 0;
   9820  1.3  mrg     }
   9821  1.3  mrg     xcb_block_len = 0;
   9822  1.3  mrg 
   9823  1.3  mrg     return xcb_buffer_len;
   9824  1.3  mrg }
   9825  1.3  mrg 
   9826  1.3  mrg int
   9827  1.3  mrg xcb_input_raw_button_press_sizeof (const void  *_buffer  /**< */)
   9828  1.3  mrg {
   9829  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9830  1.3  mrg     const xcb_input_raw_button_press_event_t *_aux = (xcb_input_raw_button_press_event_t *)_buffer;
   9831  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9832  1.3  mrg     unsigned int xcb_block_len = 0;
   9833  1.3  mrg     unsigned int xcb_pad = 0;
   9834  1.3  mrg     unsigned int xcb_align_to = 0;
   9835  1.3  mrg 
   9836  1.3  mrg 
   9837  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_button_press_event_t);
   9838  1.3  mrg     xcb_tmp += xcb_block_len;
   9839  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9840  1.3  mrg     xcb_block_len = 0;
   9841  1.3  mrg     /* valuator_mask */
   9842  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9843  1.3  mrg     xcb_tmp += xcb_block_len;
   9844  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9845  1.3  mrg     /* insert padding */
   9846  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9847  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9848  1.3  mrg     if (0 != xcb_pad) {
   9849  1.3  mrg         xcb_tmp += xcb_pad;
   9850  1.3  mrg         xcb_pad = 0;
   9851  1.3  mrg     }
   9852  1.3  mrg     xcb_block_len = 0;
   9853  1.3  mrg 
   9854  1.3  mrg     return xcb_buffer_len;
   9855  1.3  mrg }
   9856  1.3  mrg 
   9857  1.3  mrg int
   9858  1.3  mrg xcb_input_raw_button_release_sizeof (const void  *_buffer  /**< */)
   9859  1.3  mrg {
   9860  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9861  1.3  mrg     const xcb_input_raw_button_release_event_t *_aux = (xcb_input_raw_button_release_event_t *)_buffer;
   9862  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9863  1.3  mrg     unsigned int xcb_block_len = 0;
   9864  1.3  mrg     unsigned int xcb_pad = 0;
   9865  1.3  mrg     unsigned int xcb_align_to = 0;
   9866  1.3  mrg 
   9867  1.3  mrg 
   9868  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_button_release_event_t);
   9869  1.3  mrg     xcb_tmp += xcb_block_len;
   9870  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9871  1.3  mrg     xcb_block_len = 0;
   9872  1.3  mrg     /* valuator_mask */
   9873  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9874  1.3  mrg     xcb_tmp += xcb_block_len;
   9875  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9876  1.3  mrg     /* insert padding */
   9877  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9878  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9879  1.3  mrg     if (0 != xcb_pad) {
   9880  1.3  mrg         xcb_tmp += xcb_pad;
   9881  1.3  mrg         xcb_pad = 0;
   9882  1.3  mrg     }
   9883  1.3  mrg     xcb_block_len = 0;
   9884  1.3  mrg 
   9885  1.3  mrg     return xcb_buffer_len;
   9886  1.3  mrg }
   9887  1.3  mrg 
   9888  1.3  mrg int
   9889  1.3  mrg xcb_input_raw_motion_sizeof (const void  *_buffer  /**< */)
   9890  1.3  mrg {
   9891  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9892  1.3  mrg     const xcb_input_raw_motion_event_t *_aux = (xcb_input_raw_motion_event_t *)_buffer;
   9893  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9894  1.3  mrg     unsigned int xcb_block_len = 0;
   9895  1.3  mrg     unsigned int xcb_pad = 0;
   9896  1.3  mrg     unsigned int xcb_align_to = 0;
   9897  1.3  mrg 
   9898  1.3  mrg 
   9899  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_motion_event_t);
   9900  1.3  mrg     xcb_tmp += xcb_block_len;
   9901  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9902  1.3  mrg     xcb_block_len = 0;
   9903  1.3  mrg     /* valuator_mask */
   9904  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9905  1.3  mrg     xcb_tmp += xcb_block_len;
   9906  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9907  1.3  mrg     /* insert padding */
   9908  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9909  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9910  1.3  mrg     if (0 != xcb_pad) {
   9911  1.3  mrg         xcb_tmp += xcb_pad;
   9912  1.3  mrg         xcb_pad = 0;
   9913  1.3  mrg     }
   9914  1.3  mrg     xcb_block_len = 0;
   9915  1.3  mrg 
   9916  1.3  mrg     return xcb_buffer_len;
   9917  1.3  mrg }
   9918  1.3  mrg 
   9919  1.3  mrg int
   9920  1.3  mrg xcb_input_touch_begin_sizeof (const void  *_buffer  /**< */)
   9921  1.3  mrg {
   9922  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9923  1.3  mrg     const xcb_input_touch_begin_event_t *_aux = (xcb_input_touch_begin_event_t *)_buffer;
   9924  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9925  1.3  mrg     unsigned int xcb_block_len = 0;
   9926  1.3  mrg     unsigned int xcb_pad = 0;
   9927  1.3  mrg     unsigned int xcb_align_to = 0;
   9928  1.3  mrg 
   9929  1.3  mrg 
   9930  1.3  mrg     xcb_block_len += sizeof(xcb_input_touch_begin_event_t);
   9931  1.3  mrg     xcb_tmp += xcb_block_len;
   9932  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9933  1.3  mrg     xcb_block_len = 0;
   9934  1.3  mrg     /* button_mask */
   9935  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9936  1.3  mrg     xcb_tmp += xcb_block_len;
   9937  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9938  1.3  mrg     /* insert padding */
   9939  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9940  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9941  1.3  mrg     if (0 != xcb_pad) {
   9942  1.3  mrg         xcb_tmp += xcb_pad;
   9943  1.3  mrg         xcb_pad = 0;
   9944  1.3  mrg     }
   9945  1.3  mrg     xcb_block_len = 0;
   9946  1.3  mrg     /* valuator_mask */
   9947  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9948  1.3  mrg     xcb_tmp += xcb_block_len;
   9949  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9950  1.3  mrg     /* insert padding */
   9951  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9952  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9953  1.3  mrg     if (0 != xcb_pad) {
   9954  1.3  mrg         xcb_tmp += xcb_pad;
   9955  1.3  mrg         xcb_pad = 0;
   9956  1.3  mrg     }
   9957  1.3  mrg     xcb_block_len = 0;
   9958  1.3  mrg 
   9959  1.3  mrg     return xcb_buffer_len;
   9960  1.3  mrg }
   9961  1.3  mrg 
   9962  1.3  mrg int
   9963  1.3  mrg xcb_input_touch_update_sizeof (const void  *_buffer  /**< */)
   9964  1.3  mrg {
   9965  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   9966  1.3  mrg     const xcb_input_touch_update_event_t *_aux = (xcb_input_touch_update_event_t *)_buffer;
   9967  1.3  mrg     unsigned int xcb_buffer_len = 0;
   9968  1.3  mrg     unsigned int xcb_block_len = 0;
   9969  1.3  mrg     unsigned int xcb_pad = 0;
   9970  1.3  mrg     unsigned int xcb_align_to = 0;
   9971  1.3  mrg 
   9972  1.3  mrg 
   9973  1.3  mrg     xcb_block_len += sizeof(xcb_input_touch_update_event_t);
   9974  1.3  mrg     xcb_tmp += xcb_block_len;
   9975  1.3  mrg     xcb_buffer_len += xcb_block_len;
   9976  1.3  mrg     xcb_block_len = 0;
   9977  1.3  mrg     /* button_mask */
   9978  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   9979  1.3  mrg     xcb_tmp += xcb_block_len;
   9980  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9981  1.3  mrg     /* insert padding */
   9982  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9983  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9984  1.3  mrg     if (0 != xcb_pad) {
   9985  1.3  mrg         xcb_tmp += xcb_pad;
   9986  1.3  mrg         xcb_pad = 0;
   9987  1.3  mrg     }
   9988  1.3  mrg     xcb_block_len = 0;
   9989  1.3  mrg     /* valuator_mask */
   9990  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   9991  1.3  mrg     xcb_tmp += xcb_block_len;
   9992  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   9993  1.3  mrg     /* insert padding */
   9994  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9995  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   9996  1.3  mrg     if (0 != xcb_pad) {
   9997  1.3  mrg         xcb_tmp += xcb_pad;
   9998  1.3  mrg         xcb_pad = 0;
   9999  1.3  mrg     }
   10000  1.3  mrg     xcb_block_len = 0;
   10001  1.3  mrg 
   10002  1.3  mrg     return xcb_buffer_len;
   10003  1.3  mrg }
   10004  1.3  mrg 
   10005  1.3  mrg int
   10006  1.3  mrg xcb_input_touch_end_sizeof (const void  *_buffer  /**< */)
   10007  1.3  mrg {
   10008  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   10009  1.3  mrg     const xcb_input_touch_end_event_t *_aux = (xcb_input_touch_end_event_t *)_buffer;
   10010  1.3  mrg     unsigned int xcb_buffer_len = 0;
   10011  1.3  mrg     unsigned int xcb_block_len = 0;
   10012  1.3  mrg     unsigned int xcb_pad = 0;
   10013  1.3  mrg     unsigned int xcb_align_to = 0;
   10014  1.3  mrg 
   10015  1.3  mrg 
   10016  1.3  mrg     xcb_block_len += sizeof(xcb_input_touch_end_event_t);
   10017  1.3  mrg     xcb_tmp += xcb_block_len;
   10018  1.3  mrg     xcb_buffer_len += xcb_block_len;
   10019  1.3  mrg     xcb_block_len = 0;
   10020  1.3  mrg     /* button_mask */
   10021  1.3  mrg     xcb_block_len += _aux->buttons_len * sizeof(uint32_t);
   10022  1.3  mrg     xcb_tmp += xcb_block_len;
   10023  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   10024  1.3  mrg     /* insert padding */
   10025  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10026  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   10027  1.3  mrg     if (0 != xcb_pad) {
   10028  1.3  mrg         xcb_tmp += xcb_pad;
   10029  1.3  mrg         xcb_pad = 0;
   10030  1.3  mrg     }
   10031  1.3  mrg     xcb_block_len = 0;
   10032  1.3  mrg     /* valuator_mask */
   10033  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   10034  1.3  mrg     xcb_tmp += xcb_block_len;
   10035  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   10036  1.3  mrg     /* insert padding */
   10037  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10038  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   10039  1.3  mrg     if (0 != xcb_pad) {
   10040  1.3  mrg         xcb_tmp += xcb_pad;
   10041  1.3  mrg         xcb_pad = 0;
   10042  1.3  mrg     }
   10043  1.3  mrg     xcb_block_len = 0;
   10044  1.3  mrg 
   10045  1.3  mrg     return xcb_buffer_len;
   10046  1.3  mrg }
   10047  1.3  mrg 
   10048  1.3  mrg int
   10049  1.3  mrg xcb_input_raw_touch_begin_sizeof (const void  *_buffer  /**< */)
   10050  1.3  mrg {
   10051  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   10052  1.3  mrg     const xcb_input_raw_touch_begin_event_t *_aux = (xcb_input_raw_touch_begin_event_t *)_buffer;
   10053  1.3  mrg     unsigned int xcb_buffer_len = 0;
   10054  1.3  mrg     unsigned int xcb_block_len = 0;
   10055  1.3  mrg     unsigned int xcb_pad = 0;
   10056  1.3  mrg     unsigned int xcb_align_to = 0;
   10057  1.3  mrg 
   10058  1.3  mrg 
   10059  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_touch_begin_event_t);
   10060  1.3  mrg     xcb_tmp += xcb_block_len;
   10061  1.3  mrg     xcb_buffer_len += xcb_block_len;
   10062  1.3  mrg     xcb_block_len = 0;
   10063  1.3  mrg     /* valuator_mask */
   10064  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   10065  1.3  mrg     xcb_tmp += xcb_block_len;
   10066  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   10067  1.3  mrg     /* insert padding */
   10068  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10069  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   10070  1.3  mrg     if (0 != xcb_pad) {
   10071  1.3  mrg         xcb_tmp += xcb_pad;
   10072  1.3  mrg         xcb_pad = 0;
   10073  1.3  mrg     }
   10074  1.3  mrg     xcb_block_len = 0;
   10075  1.3  mrg 
   10076  1.3  mrg     return xcb_buffer_len;
   10077  1.3  mrg }
   10078  1.3  mrg 
   10079  1.3  mrg int
   10080  1.3  mrg xcb_input_raw_touch_update_sizeof (const void  *_buffer  /**< */)
   10081  1.3  mrg {
   10082  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   10083  1.3  mrg     const xcb_input_raw_touch_update_event_t *_aux = (xcb_input_raw_touch_update_event_t *)_buffer;
   10084  1.3  mrg     unsigned int xcb_buffer_len = 0;
   10085  1.3  mrg     unsigned int xcb_block_len = 0;
   10086  1.3  mrg     unsigned int xcb_pad = 0;
   10087  1.3  mrg     unsigned int xcb_align_to = 0;
   10088  1.3  mrg 
   10089  1.3  mrg 
   10090  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_touch_update_event_t);
   10091  1.3  mrg     xcb_tmp += xcb_block_len;
   10092  1.3  mrg     xcb_buffer_len += xcb_block_len;
   10093  1.3  mrg     xcb_block_len = 0;
   10094  1.3  mrg     /* valuator_mask */
   10095  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   10096  1.3  mrg     xcb_tmp += xcb_block_len;
   10097  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   10098  1.3  mrg     /* insert padding */
   10099  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10100  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   10101  1.3  mrg     if (0 != xcb_pad) {
   10102  1.3  mrg         xcb_tmp += xcb_pad;
   10103  1.3  mrg         xcb_pad = 0;
   10104  1.3  mrg     }
   10105  1.3  mrg     xcb_block_len = 0;
   10106  1.3  mrg 
   10107  1.3  mrg     return xcb_buffer_len;
   10108  1.3  mrg }
   10109  1.3  mrg 
   10110  1.3  mrg int
   10111  1.3  mrg xcb_input_raw_touch_end_sizeof (const void  *_buffer  /**< */)
   10112  1.3  mrg {
   10113  1.3  mrg     char *xcb_tmp = (char *)_buffer;
   10114  1.3  mrg     const xcb_input_raw_touch_end_event_t *_aux = (xcb_input_raw_touch_end_event_t *)_buffer;
   10115  1.3  mrg     unsigned int xcb_buffer_len = 0;
   10116  1.3  mrg     unsigned int xcb_block_len = 0;
   10117  1.3  mrg     unsigned int xcb_pad = 0;
   10118  1.3  mrg     unsigned int xcb_align_to = 0;
   10119  1.3  mrg 
   10120  1.3  mrg 
   10121  1.3  mrg     xcb_block_len += sizeof(xcb_input_raw_touch_end_event_t);
   10122  1.3  mrg     xcb_tmp += xcb_block_len;
   10123  1.3  mrg     xcb_buffer_len += xcb_block_len;
   10124  1.3  mrg     xcb_block_len = 0;
   10125  1.3  mrg     /* valuator_mask */
   10126  1.3  mrg     xcb_block_len += _aux->valuators_len * sizeof(uint32_t);
   10127  1.3  mrg     xcb_tmp += xcb_block_len;
   10128  1.3  mrg     xcb_align_to = ALIGNOF(uint32_t);
   10129  1.3  mrg     /* insert padding */
   10130  1.3  mrg     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10131  1.3  mrg     xcb_buffer_len += xcb_block_len + xcb_pad;
   10132  1.3  mrg     if (0 != xcb_pad) {
   10133  1.3  mrg         xcb_tmp += xcb_pad;
   10134  1.3  mrg         xcb_pad = 0;
   10135  1.3  mrg     }
   10136  1.3  mrg     xcb_block_len = 0;
   10137  1.3  mrg 
   10138  1.3  mrg     return xcb_buffer_len;
   10139  1.3  mrg }
   10140  1.3  mrg 
   10141