Home | History | Annotate | Line # | Download | only in files
xinerama.c revision 1.3
      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 = 0;
    544 
    545 
    546     xcb_block_len += sizeof(xcb_xinerama_query_screens_reply_t);
    547     xcb_tmp += xcb_block_len;
    548     xcb_buffer_len += xcb_block_len;
    549     xcb_block_len = 0;
    550     /* screen_info */
    551     xcb_block_len += _aux->number * sizeof(xcb_xinerama_screen_info_t);
    552     xcb_tmp += xcb_block_len;
    553     xcb_align_to = ALIGNOF(xcb_xinerama_screen_info_t);
    554     /* insert padding */
    555     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    556     xcb_buffer_len += xcb_block_len + xcb_pad;
    557     if (0 != xcb_pad) {
    558         xcb_tmp += xcb_pad;
    559         xcb_pad = 0;
    560     }
    561     xcb_block_len = 0;
    562 
    563     return xcb_buffer_len;
    564 }
    565 
    566 
    567 /*****************************************************************************
    568  **
    569  ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens
    570  **
    571  ** @param xcb_connection_t *c
    572  ** @returns xcb_xinerama_query_screens_cookie_t
    573  **
    574  *****************************************************************************/
    575 
    576 xcb_xinerama_query_screens_cookie_t
    577 xcb_xinerama_query_screens (xcb_connection_t *c  /**< */)
    578 {
    579     static const xcb_protocol_request_t xcb_req = {
    580         /* count */ 2,
    581         /* ext */ &xcb_xinerama_id,
    582         /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
    583         /* isvoid */ 0
    584     };
    585 
    586     struct iovec xcb_parts[4];
    587     xcb_xinerama_query_screens_cookie_t xcb_ret;
    588     xcb_xinerama_query_screens_request_t xcb_out;
    589 
    590 
    591     xcb_parts[2].iov_base = (char *) &xcb_out;
    592     xcb_parts[2].iov_len = sizeof(xcb_out);
    593     xcb_parts[3].iov_base = 0;
    594     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    595 
    596     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
    597     return xcb_ret;
    598 }
    599 
    600 
    601 /*****************************************************************************
    602  **
    603  ** xcb_xinerama_query_screens_cookie_t xcb_xinerama_query_screens_unchecked
    604  **
    605  ** @param xcb_connection_t *c
    606  ** @returns xcb_xinerama_query_screens_cookie_t
    607  **
    608  *****************************************************************************/
    609 
    610 xcb_xinerama_query_screens_cookie_t
    611 xcb_xinerama_query_screens_unchecked (xcb_connection_t *c  /**< */)
    612 {
    613     static const xcb_protocol_request_t xcb_req = {
    614         /* count */ 2,
    615         /* ext */ &xcb_xinerama_id,
    616         /* opcode */ XCB_XINERAMA_QUERY_SCREENS,
    617         /* isvoid */ 0
    618     };
    619 
    620     struct iovec xcb_parts[4];
    621     xcb_xinerama_query_screens_cookie_t xcb_ret;
    622     xcb_xinerama_query_screens_request_t xcb_out;
    623 
    624 
    625     xcb_parts[2].iov_base = (char *) &xcb_out;
    626     xcb_parts[2].iov_len = sizeof(xcb_out);
    627     xcb_parts[3].iov_base = 0;
    628     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
    629 
    630     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
    631     return xcb_ret;
    632 }
    633 
    634 
    635 /*****************************************************************************
    636  **
    637  ** xcb_xinerama_screen_info_t * xcb_xinerama_query_screens_screen_info
    638  **
    639  ** @param const xcb_xinerama_query_screens_reply_t *R
    640  ** @returns xcb_xinerama_screen_info_t *
    641  **
    642  *****************************************************************************/
    643 
    644 xcb_xinerama_screen_info_t *
    645 xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R  /**< */)
    646 {
    647     return (xcb_xinerama_screen_info_t *) (R + 1);
    648 }
    649 
    650 
    651 /*****************************************************************************
    652  **
    653  ** int xcb_xinerama_query_screens_screen_info_length
    654  **
    655  ** @param const xcb_xinerama_query_screens_reply_t *R
    656  ** @returns int
    657  **
    658  *****************************************************************************/
    659 
    660 int
    661 xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R  /**< */)
    662 {
    663     return R->number;
    664 }
    665 
    666 
    667 /*****************************************************************************
    668  **
    669  ** xcb_xinerama_screen_info_iterator_t xcb_xinerama_query_screens_screen_info_iterator
    670  **
    671  ** @param const xcb_xinerama_query_screens_reply_t *R
    672  ** @returns xcb_xinerama_screen_info_iterator_t
    673  **
    674  *****************************************************************************/
    675 
    676 xcb_xinerama_screen_info_iterator_t
    677 xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R  /**< */)
    678 {
    679     xcb_xinerama_screen_info_iterator_t i;
    680     i.data = (xcb_xinerama_screen_info_t *) (R + 1);
    681     i.rem = R->number;
    682     i.index = (char *) i.data - (char *) R;
    683     return i;
    684 }
    685 
    686 
    687 /*****************************************************************************
    688  **
    689  ** xcb_xinerama_query_screens_reply_t * xcb_xinerama_query_screens_reply
    690  **
    691  ** @param xcb_connection_t                     *c
    692  ** @param xcb_xinerama_query_screens_cookie_t   cookie
    693  ** @param xcb_generic_error_t                 **e
    694  ** @returns xcb_xinerama_query_screens_reply_t *
    695  **
    696  *****************************************************************************/
    697 
    698 xcb_xinerama_query_screens_reply_t *
    699 xcb_xinerama_query_screens_reply (xcb_connection_t                     *c  /**< */,
    700                                   xcb_xinerama_query_screens_cookie_t   cookie  /**< */,
    701                                   xcb_generic_error_t                 **e  /**< */)
    702 {
    703     return (xcb_xinerama_query_screens_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
    704 }
    705 
    706