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