xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xinerama.c (revision 4391d5e9d4f291db41e3b3ba26a01b5e51364aae)
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