Home | History | Annotate | Line # | Download | only in files
xinerama.c revision 1.1.12.1
      1 /*
      2  * This file generated automatically from xinerama.xml by c_client.py.
      3  * Edit at your peril.
      4  */
      5 
      6 #ifdef HAVE_CONFIG_H
      7 #include "config.h"
      8 #endif
      9 #include <stdlib.h>
     10 #include <string.h>
     11 #include <assert.h>
     12 #include <stddef.h>  /* for offsetof() */
     13 #include "xcbext.h"
     14 #include "xinerama.h"
     15 
     16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
     17 #include "xproto.h"
     18 
     19 xcb_extension_t xcb_xinerama_id = { "XINERAMA", 0 };
     20 
     21 
     22 /*****************************************************************************
     23  **
     24  ** void xcb_xinerama_screen_info_next
     25  **
     26  ** @param xcb_xinerama_screen_info_iterator_t *i
     27  ** @returns void
     28  **
     29  *****************************************************************************/
     30 
     31 void
     32 xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i  /**< */)
     33 {
     34     --i->rem;
     35     ++i->data;
     36     i->index += sizeof(xcb_xinerama_screen_info_t);
     37 }
     38 
     39 
     40 /*****************************************************************************
     41  **
     42  ** xcb_generic_iterator_t xcb_xinerama_screen_info_end
     43  **
     44  ** @param xcb_xinerama_screen_info_iterator_t i
     45  ** @returns xcb_generic_iterator_t
     46  **
     47  *****************************************************************************/
     48 
     49 xcb_generic_iterator_t
     50 xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i  /**< */)
     51 {
     52     xcb_generic_iterator_t ret;
     53     ret.data = i.data + i.rem;
     54     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     55     ret.rem = 0;
     56     return ret;
     57 }
     58 
     59 
     60 /*****************************************************************************
     61  **
     62  ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version
     63  **
     64  ** @param xcb_connection_t *c
     65  ** @param uint8_t           major
     66  ** @param uint8_t           minor
     67  ** @returns xcb_xinerama_query_version_cookie_t
     68  **
     69  *****************************************************************************/
     70 
     71 xcb_xinerama_query_version_cookie_t
     72 xcb_xinerama_query_version (xcb_connection_t *c  /**< */,
     73                             uint8_t           major  /**< */,
     74                             uint8_t           minor  /**< */)
     75 {
     76     static const xcb_protocol_request_t xcb_req = {
     77         /* count */ 2,
     78         /* ext */ &xcb_xinerama_id,
     79         /* opcode */ XCB_XINERAMA_QUERY_VERSION,
     80         /* isvoid */ 0
     81     };
     82 
     83     struct iovec xcb_parts[4];
     84     xcb_xinerama_query_version_cookie_t xcb_ret;
     85     xcb_xinerama_query_version_request_t xcb_out;
     86 
     87     xcb_out.major = major;
     88     xcb_out.minor = minor;
     89 
     90     xcb_parts[2].iov_base = (char *) &xcb_out;
     91     xcb_parts[2].iov_len = sizeof(xcb_out);
     92     xcb_parts[3].iov_base = 0;
     93     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
     94 
     95     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
     96     return xcb_ret;
     97 }
     98 
     99 
    100 /*****************************************************************************
    101  **
    102  ** xcb_xinerama_query_version_cookie_t xcb_xinerama_query_version_unchecked
    103  **
    104  ** @param xcb_connection_t *c
    105  ** @param uint8_t           major
    106  ** @param uint8_t           minor
    107  ** @returns xcb_xinerama_query_version_cookie_t
    108  **
    109  *****************************************************************************/
    110 
    111 xcb_xinerama_query_version_cookie_t
    112 xcb_xinerama_query_version_unchecked (xcb_connection_t *c  /**< */,
    113                                       uint8_t           major  /**< */,
    114                                       uint8_t           minor  /**< */)
    115 {
    116     static const xcb_protocol_request_t xcb_req = {
    117         /* count */ 2,
    118         /* ext */ &xcb_xinerama_id,
    119         /* opcode */ XCB_XINERAMA_QUERY_VERSION,
    120         /* isvoid */ 0
    121     };
    122 
    123     struct iovec xcb_parts[4];
    124     xcb_xinerama_query_version_cookie_t xcb_ret;
    125     xcb_xinerama_query_version_request_t xcb_out;
    126 
    127     xcb_out.major = major;
    128     xcb_out.minor = minor;
    129 
    130     xcb_parts[2].iov_base = (char *) &xcb_out;
    131     xcb_parts[2].iov_len = sizeof(xcb_out);
    132     xcb_parts[3].iov_base = 0;
    133     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    134 
    135     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    136     return xcb_ret;
    137 }
    138 
    139 
    140 /*****************************************************************************
    141  **
    142  ** xcb_xinerama_query_version_reply_t * xcb_xinerama_query_version_reply
    143  **
    144  ** @param xcb_connection_t                     *c
    145  ** @param xcb_xinerama_query_version_cookie_t   cookie
    146  ** @param xcb_generic_error_t                 **e
    147  ** @returns xcb_xinerama_query_version_reply_t *
    148  **
    149  *****************************************************************************/
    150 
    151 xcb_xinerama_query_version_reply_t *
    152 xcb_xinerama_query_version_reply (xcb_connection_t                     *c  /**< */,
    153                                   xcb_xinerama_query_version_cookie_t   cookie  /**< */,
    154                                   xcb_generic_error_t                 **e  /**< */)
    155 {
    156     return (xcb_xinerama_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    157 }
    158 
    159 
    160 /*****************************************************************************
    161  **
    162  ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state
    163  **
    164  ** @param xcb_connection_t *c
    165  ** @param xcb_window_t      window
    166  ** @returns xcb_xinerama_get_state_cookie_t
    167  **
    168  *****************************************************************************/
    169 
    170 xcb_xinerama_get_state_cookie_t
    171 xcb_xinerama_get_state (xcb_connection_t *c  /**< */,
    172                         xcb_window_t      window  /**< */)
    173 {
    174     static const xcb_protocol_request_t xcb_req = {
    175         /* count */ 2,
    176         /* ext */ &xcb_xinerama_id,
    177         /* opcode */ XCB_XINERAMA_GET_STATE,
    178         /* isvoid */ 0
    179     };
    180 
    181     struct iovec xcb_parts[4];
    182     xcb_xinerama_get_state_cookie_t xcb_ret;
    183     xcb_xinerama_get_state_request_t xcb_out;
    184 
    185     xcb_out.window = window;
    186 
    187     xcb_parts[2].iov_base = (char *) &xcb_out;
    188     xcb_parts[2].iov_len = sizeof(xcb_out);
    189     xcb_parts[3].iov_base = 0;
    190     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    191 
    192     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    193     return xcb_ret;
    194 }
    195 
    196 
    197 /*****************************************************************************
    198  **
    199  ** xcb_xinerama_get_state_cookie_t xcb_xinerama_get_state_unchecked
    200  **
    201  ** @param xcb_connection_t *c
    202  ** @param xcb_window_t      window
    203  ** @returns xcb_xinerama_get_state_cookie_t
    204  **
    205  *****************************************************************************/
    206 
    207 xcb_xinerama_get_state_cookie_t
    208 xcb_xinerama_get_state_unchecked (xcb_connection_t *c  /**< */,
    209                                   xcb_window_t      window  /**< */)
    210 {
    211     static const xcb_protocol_request_t xcb_req = {
    212         /* count */ 2,
    213         /* ext */ &xcb_xinerama_id,
    214         /* opcode */ XCB_XINERAMA_GET_STATE,
    215         /* isvoid */ 0
    216     };
    217 
    218     struct iovec xcb_parts[4];
    219     xcb_xinerama_get_state_cookie_t xcb_ret;
    220     xcb_xinerama_get_state_request_t xcb_out;
    221 
    222     xcb_out.window = window;
    223 
    224     xcb_parts[2].iov_base = (char *) &xcb_out;
    225     xcb_parts[2].iov_len = sizeof(xcb_out);
    226     xcb_parts[3].iov_base = 0;
    227     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    228 
    229     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    230     return xcb_ret;
    231 }
    232 
    233 
    234 /*****************************************************************************
    235  **
    236  ** xcb_xinerama_get_state_reply_t * xcb_xinerama_get_state_reply
    237  **
    238  ** @param xcb_connection_t                 *c
    239  ** @param xcb_xinerama_get_state_cookie_t   cookie
    240  ** @param xcb_generic_error_t             **e
    241  ** @returns xcb_xinerama_get_state_reply_t *
    242  **
    243  *****************************************************************************/
    244 
    245 xcb_xinerama_get_state_reply_t *
    246 xcb_xinerama_get_state_reply (xcb_connection_t                 *c  /**< */,
    247                               xcb_xinerama_get_state_cookie_t   cookie  /**< */,
    248                               xcb_generic_error_t             **e  /**< */)
    249 {
    250     return (xcb_xinerama_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    251 }
    252 
    253 
    254 /*****************************************************************************
    255  **
    256  ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count
    257  **
    258  ** @param xcb_connection_t *c
    259  ** @param xcb_window_t      window
    260  ** @returns xcb_xinerama_get_screen_count_cookie_t
    261  **
    262  *****************************************************************************/
    263 
    264 xcb_xinerama_get_screen_count_cookie_t
    265 xcb_xinerama_get_screen_count (xcb_connection_t *c  /**< */,
    266                                xcb_window_t      window  /**< */)
    267 {
    268     static const xcb_protocol_request_t xcb_req = {
    269         /* count */ 2,
    270         /* ext */ &xcb_xinerama_id,
    271         /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
    272         /* isvoid */ 0
    273     };
    274 
    275     struct iovec xcb_parts[4];
    276     xcb_xinerama_get_screen_count_cookie_t xcb_ret;
    277     xcb_xinerama_get_screen_count_request_t xcb_out;
    278 
    279     xcb_out.window = window;
    280 
    281     xcb_parts[2].iov_base = (char *) &xcb_out;
    282     xcb_parts[2].iov_len = sizeof(xcb_out);
    283     xcb_parts[3].iov_base = 0;
    284     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    285 
    286     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    287     return xcb_ret;
    288 }
    289 
    290 
    291 /*****************************************************************************
    292  **
    293  ** xcb_xinerama_get_screen_count_cookie_t xcb_xinerama_get_screen_count_unchecked
    294  **
    295  ** @param xcb_connection_t *c
    296  ** @param xcb_window_t      window
    297  ** @returns xcb_xinerama_get_screen_count_cookie_t
    298  **
    299  *****************************************************************************/
    300 
    301 xcb_xinerama_get_screen_count_cookie_t
    302 xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c  /**< */,
    303                                          xcb_window_t      window  /**< */)
    304 {
    305     static const xcb_protocol_request_t xcb_req = {
    306         /* count */ 2,
    307         /* ext */ &xcb_xinerama_id,
    308         /* opcode */ XCB_XINERAMA_GET_SCREEN_COUNT,
    309         /* isvoid */ 0
    310     };
    311 
    312     struct iovec xcb_parts[4];
    313     xcb_xinerama_get_screen_count_cookie_t xcb_ret;
    314     xcb_xinerama_get_screen_count_request_t xcb_out;
    315 
    316     xcb_out.window = window;
    317 
    318     xcb_parts[2].iov_base = (char *) &xcb_out;
    319     xcb_parts[2].iov_len = sizeof(xcb_out);
    320     xcb_parts[3].iov_base = 0;
    321     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    322 
    323     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    324     return xcb_ret;
    325 }
    326 
    327 
    328 /*****************************************************************************
    329  **
    330  ** xcb_xinerama_get_screen_count_reply_t * xcb_xinerama_get_screen_count_reply
    331  **
    332  ** @param xcb_connection_t                        *c
    333  ** @param xcb_xinerama_get_screen_count_cookie_t   cookie
    334  ** @param xcb_generic_error_t                    **e
    335  ** @returns xcb_xinerama_get_screen_count_reply_t *
    336  **
    337  *****************************************************************************/
    338 
    339 xcb_xinerama_get_screen_count_reply_t *
    340 xcb_xinerama_get_screen_count_reply (xcb_connection_t                        *c  /**< */,
    341                                      xcb_xinerama_get_screen_count_cookie_t   cookie  /**< */,
    342                                      xcb_generic_error_t                    **e  /**< */)
    343 {
    344     return (xcb_xinerama_get_screen_count_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    345 }
    346 
    347 
    348 /*****************************************************************************
    349  **
    350  ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size
    351  **
    352  ** @param xcb_connection_t *c
    353  ** @param xcb_window_t      window
    354  ** @param uint32_t          screen
    355  ** @returns xcb_xinerama_get_screen_size_cookie_t
    356  **
    357  *****************************************************************************/
    358 
    359 xcb_xinerama_get_screen_size_cookie_t
    360 xcb_xinerama_get_screen_size (xcb_connection_t *c  /**< */,
    361                               xcb_window_t      window  /**< */,
    362                               uint32_t          screen  /**< */)
    363 {
    364     static const xcb_protocol_request_t xcb_req = {
    365         /* count */ 2,
    366         /* ext */ &xcb_xinerama_id,
    367         /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
    368         /* isvoid */ 0
    369     };
    370 
    371     struct iovec xcb_parts[4];
    372     xcb_xinerama_get_screen_size_cookie_t xcb_ret;
    373     xcb_xinerama_get_screen_size_request_t xcb_out;
    374 
    375     xcb_out.window = window;
    376     xcb_out.screen = screen;
    377 
    378     xcb_parts[2].iov_base = (char *) &xcb_out;
    379     xcb_parts[2].iov_len = sizeof(xcb_out);
    380     xcb_parts[3].iov_base = 0;
    381     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    382 
    383     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    384     return xcb_ret;
    385 }
    386 
    387 
    388 /*****************************************************************************
    389  **
    390  ** xcb_xinerama_get_screen_size_cookie_t xcb_xinerama_get_screen_size_unchecked
    391  **
    392  ** @param xcb_connection_t *c
    393  ** @param xcb_window_t      window
    394  ** @param uint32_t          screen
    395  ** @returns xcb_xinerama_get_screen_size_cookie_t
    396  **
    397  *****************************************************************************/
    398 
    399 xcb_xinerama_get_screen_size_cookie_t
    400 xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c  /**< */,
    401                                         xcb_window_t      window  /**< */,
    402                                         uint32_t          screen  /**< */)
    403 {
    404     static const xcb_protocol_request_t xcb_req = {
    405         /* count */ 2,
    406         /* ext */ &xcb_xinerama_id,
    407         /* opcode */ XCB_XINERAMA_GET_SCREEN_SIZE,
    408         /* isvoid */ 0
    409     };
    410 
    411     struct iovec xcb_parts[4];
    412     xcb_xinerama_get_screen_size_cookie_t xcb_ret;
    413     xcb_xinerama_get_screen_size_request_t xcb_out;
    414 
    415     xcb_out.window = window;
    416     xcb_out.screen = screen;
    417 
    418     xcb_parts[2].iov_base = (char *) &xcb_out;
    419     xcb_parts[2].iov_len = sizeof(xcb_out);
    420     xcb_parts[3].iov_base = 0;
    421     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    422 
    423     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    424     return xcb_ret;
    425 }
    426 
    427 
    428 /*****************************************************************************
    429  **
    430  ** xcb_xinerama_get_screen_size_reply_t * xcb_xinerama_get_screen_size_reply
    431  **
    432  ** @param xcb_connection_t                       *c
    433  ** @param xcb_xinerama_get_screen_size_cookie_t   cookie
    434  ** @param xcb_generic_error_t                   **e
    435  ** @returns xcb_xinerama_get_screen_size_reply_t *
    436  **
    437  *****************************************************************************/
    438 
    439 xcb_xinerama_get_screen_size_reply_t *
    440 xcb_xinerama_get_screen_size_reply (xcb_connection_t                       *c  /**< */,
    441                                     xcb_xinerama_get_screen_size_cookie_t   cookie  /**< */,
    442                                     xcb_generic_error_t                   **e  /**< */)
    443 {
    444     return (xcb_xinerama_get_screen_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    445 }
    446 
    447 
    448 /*****************************************************************************
    449  **
    450  ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active
    451  **
    452  ** @param xcb_connection_t *c
    453  ** @returns xcb_xinerama_is_active_cookie_t
    454  **
    455  *****************************************************************************/
    456 
    457 xcb_xinerama_is_active_cookie_t
    458 xcb_xinerama_is_active (xcb_connection_t *c  /**< */)
    459 {
    460     static const xcb_protocol_request_t xcb_req = {
    461         /* count */ 2,
    462         /* ext */ &xcb_xinerama_id,
    463         /* opcode */ XCB_XINERAMA_IS_ACTIVE,
    464         /* isvoid */ 0
    465     };
    466 
    467     struct iovec xcb_parts[4];
    468     xcb_xinerama_is_active_cookie_t xcb_ret;
    469     xcb_xinerama_is_active_request_t xcb_out;
    470 
    471 
    472     xcb_parts[2].iov_base = (char *) &xcb_out;
    473     xcb_parts[2].iov_len = sizeof(xcb_out);
    474     xcb_parts[3].iov_base = 0;
    475     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    476 
    477     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    478     return xcb_ret;
    479 }
    480 
    481 
    482 /*****************************************************************************
    483  **
    484  ** xcb_xinerama_is_active_cookie_t xcb_xinerama_is_active_unchecked
    485  **
    486  ** @param xcb_connection_t *c
    487  ** @returns xcb_xinerama_is_active_cookie_t
    488  **
    489  *****************************************************************************/
    490 
    491 xcb_xinerama_is_active_cookie_t
    492 xcb_xinerama_is_active_unchecked (xcb_connection_t *c  /**< */)
    493 {
    494     static const xcb_protocol_request_t xcb_req = {
    495         /* count */ 2,
    496         /* ext */ &xcb_xinerama_id,
    497         /* opcode */ XCB_XINERAMA_IS_ACTIVE,
    498         /* isvoid */ 0
    499     };
    500 
    501     struct iovec xcb_parts[4];
    502     xcb_xinerama_is_active_cookie_t xcb_ret;
    503     xcb_xinerama_is_active_request_t xcb_out;
    504 
    505 
    506     xcb_parts[2].iov_base = (char *) &xcb_out;
    507     xcb_parts[2].iov_len = sizeof(xcb_out);
    508     xcb_parts[3].iov_base = 0;
    509     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    510 
    511     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    512     return xcb_ret;
    513 }
    514 
    515 
    516 /*****************************************************************************
    517  **
    518  ** xcb_xinerama_is_active_reply_t * xcb_xinerama_is_active_reply
    519  **
    520  ** @param xcb_connection_t                 *c
    521  ** @param xcb_xinerama_is_active_cookie_t   cookie
    522  ** @param xcb_generic_error_t             **e
    523  ** @returns xcb_xinerama_is_active_reply_t *
    524  **
    525  *****************************************************************************/
    526 
    527 xcb_xinerama_is_active_reply_t *
    528 xcb_xinerama_is_active_reply (xcb_connection_t                 *c  /**< */,
    529                               xcb_xinerama_is_active_cookie_t   cookie  /**< */,
    530                               xcb_generic_error_t             **e  /**< */)
    531 {
    532     return (xcb_xinerama_is_active_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    533 }
    534 
    535 int
    536 xcb_xinerama_query_screens_sizeof (const void  *_buffer  /**< */)
    537 {
    538     char *xcb_tmp = (char *)_buffer;
    539     const xcb_xinerama_query_screens_reply_t *_aux = (xcb_xinerama_query_screens_reply_t *)_buffer;
    540     unsigned int xcb_buffer_len = 0;
    541     unsigned int xcb_block_len = 0;
    542     unsigned int xcb_pad = 0;
    543     unsigned int xcb_align_to;
    544 
    545 
    546     xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t);
    547     xcb_tmp += xcb_block_len;
    548     /* screen_info */
    549     xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t);
    550     xcb_tmp += xcb_block_len;
    551     xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t);
    552     /* insert padding */
    553     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    554     xcb_buffer_len += xcb_block_len + xcb_pad;
    555     if (0 != xcb_pad) {
    556         xcb_tmp += xcb_pad;
    557         xcb_pad = 0;
    558     }
    559     xcb_block_len = 0;
    560 
    561     return xcb_buffer_len;
    562 }
    563 
    564 
    565 /*****************************************************************************
    566  **
    567  ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens
    568  **
    569  ** @param xcb_connection_t *c
    570  ** @returns xcb_xinerama_query_screens_cookie_t
    571  **
    572  *****************************************************************************/
    573 
    574 xcb_xinerama_query_screens_cookie_t
    575 xcb_xinerama_query_screens (xcb_connection_t *c  /**< */)
    576 {
    577     static const xcb_protocol_request_t xcb_req = {
    578         /* count */ 2,
    579         /* ext */ &xcb_xinerama_id,
    580         /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
    581         /* isvoid */ 0
    582     };
    583 
    584     struct iovec xcb_parts[4];
    585     xcb_xinerama_query_screens_cookie_t xcb_ret;
    586     xcb_xinerama_query_screens_request_t xcb_out;
    587 
    588 
    589     xcb_parts[2].iov_base = (char *) &xcb_out;
    590     xcb_parts[2].iov_len = sizeof(xcb_out);
    591     xcb_parts[3].iov_base = 0;
    592     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    593 
    594     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    595     return xcb_ret;
    596 }
    597 
    598 
    599 /*****************************************************************************
    600  **
    601  ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked
    602  **
    603  ** @param xcb_connection_t *c
    604  ** @returns xcb_xinerama_query_screens_cookie_t
    605  **
    606  *****************************************************************************/
    607 
    608 xcb_xinerama_query_screens_cookie_t
    609 xcb_xinerama_query_screens_unchecked (xcb_connection_t *c  /**< */)
    610 {
    611     static const xcb_protocol_request_t xcb_req = {
    612         /* count */ 2,
    613         /* ext */ &xcb_xinerama_id,
    614         /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
    615         /* isvoid */ 0
    616     };
    617 
    618     struct iovec xcb_parts[4];
    619     xcb_xinerama_query_screens_cookie_t xcb_ret;
    620     xcb_xinerama_query_screens_request_t xcb_out;
    621 
    622 
    623     xcb_parts[2].iov_base = (char *) &xcb_out;
    624     xcb_parts[2].iov_len = sizeof(xcb_out);
    625     xcb_parts[3].iov_base = 0;
    626     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    627 
    628     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    629     return xcb_ret;
    630 }
    631 
    632 
    633 /*****************************************************************************
    634  **
    635  ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info
    636  **
    637  ** @param const xcb_xinerama_query_screens_reply_t *R
    638  ** @returns xcb_xinerama_screen_info_t *
    639  **
    640  *****************************************************************************/
    641 
    642 xcb_xinerama_screen_info_t *
    643 xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R  /**< */)
    644 {
    645     return (xcb_xinerama_screen_info_t *) (R + 1);
    646 }
    647 
    648 
    649 /*****************************************************************************
    650  **
    651  ** int xcb_xinerama_query_screens_screen_info_length
    652  **
    653  ** @param const xcb_xinerama_query_screens_reply_t *R
    654  ** @returns int
    655  **
    656  *****************************************************************************/
    657 
    658 int
    659 xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R  /**< */)
    660 {
    661     return R->number;
    662 }
    663 
    664 
    665 /*****************************************************************************
    666  **
    667  ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator
    668  **
    669  ** @param const xcb_xinerama_query_screens_reply_t *R
    670  ** @returns xcb_xinerama_screen_info_iterator_t
    671  **
    672  *****************************************************************************/
    673 
    674 xcb_xinerama_screen_info_iterator_t
    675 xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R  /**< */)
    676 {
    677     xcb_xinerama_screen_info_iterator_t i;
    678     i.data = (xcb_xinerama_screen_info_t *) (R + 1);
    679     i.rem = R->number;
    680     i.index = (char *) i.data - (char *) R;
    681     return i;
    682 }
    683 
    684 
    685 /*****************************************************************************
    686  **
    687  ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply
    688  **
    689  ** @param xcb_connection_t                     *c
    690  ** @param xcb_xinerama_query_screens_cookie_t   cookie
    691  ** @param xcb_generic_error_t                 **e
    692  ** @returns xcb_xinerama_query_screens_reply_t *
    693  **
    694  *****************************************************************************/
    695 
    696 xcb_xinerama_query_screens_reply_t *
    697 xcb_xinerama_query_screens_reply (xcb_connection_t                     *c  /**< */,
    698                                   xcb_xinerama_query_screens_cookie_t   cookie  /**< */,
    699                                   xcb_generic_error_t                 **e  /**< */)
    700 {
    701     return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    702 }
    703 
    704