xref: /minix3/external/mit/xorg/lib/libxcb/files/xfixes.c (revision b80da2a01d0bb632707b7b4e974aa32eaebbcc6f)
1 /*
2  * This file generated automatically from xfixes.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 "xfixes.h"
15 
16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 #include "xproto.h"
18 #include "render.h"
19 #include "shape.h"
20 
21 xcb_extension_t xcb_xfixes_id = { "XFIXES", 0 };
22 
23 
24 /*****************************************************************************
25  **
26  ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version
27  **
28  ** @param xcb_connection_t *c
29  ** @param uint32_t          client_major_version
30  ** @param uint32_t          client_minor_version
31  ** @returns xcb_xfixes_query_version_cookie_t
32  **
33  *****************************************************************************/
34 
35 xcb_xfixes_query_version_cookie_t
36 xcb_xfixes_query_version (xcb_connection_t *c  /**< */,
37                           uint32_t          client_major_version  /**< */,
38                           uint32_t          client_minor_version  /**< */)
39 {
40     static const xcb_protocol_request_t xcb_req = {
41         /* count */ 2,
42         /* ext */ &xcb_xfixes_id,
43         /* opcode */ XCB_XFIXES_QUERY_VERSION,
44         /* isvoid */ 0
45     };
46 
47     struct iovec xcb_parts[4];
48     xcb_xfixes_query_version_cookie_t xcb_ret;
49     xcb_xfixes_query_version_request_t xcb_out;
50 
51     xcb_out.client_major_version = client_major_version;
52     xcb_out.client_minor_version = client_minor_version;
53 
54     xcb_parts[2].iov_base = (char *) &xcb_out;
55     xcb_parts[2].iov_len = sizeof(xcb_out);
56     xcb_parts[3].iov_base = 0;
57     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
58 
59     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
60     return xcb_ret;
61 }
62 
63 
64 /*****************************************************************************
65  **
66  ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version_unchecked
67  **
68  ** @param xcb_connection_t *c
69  ** @param uint32_t          client_major_version
70  ** @param uint32_t          client_minor_version
71  ** @returns xcb_xfixes_query_version_cookie_t
72  **
73  *****************************************************************************/
74 
75 xcb_xfixes_query_version_cookie_t
76 xcb_xfixes_query_version_unchecked (xcb_connection_t *c  /**< */,
77                                     uint32_t          client_major_version  /**< */,
78                                     uint32_t          client_minor_version  /**< */)
79 {
80     static const xcb_protocol_request_t xcb_req = {
81         /* count */ 2,
82         /* ext */ &xcb_xfixes_id,
83         /* opcode */ XCB_XFIXES_QUERY_VERSION,
84         /* isvoid */ 0
85     };
86 
87     struct iovec xcb_parts[4];
88     xcb_xfixes_query_version_cookie_t xcb_ret;
89     xcb_xfixes_query_version_request_t xcb_out;
90 
91     xcb_out.client_major_version = client_major_version;
92     xcb_out.client_minor_version = client_minor_version;
93 
94     xcb_parts[2].iov_base = (char *) &xcb_out;
95     xcb_parts[2].iov_len = sizeof(xcb_out);
96     xcb_parts[3].iov_base = 0;
97     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
98 
99     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
100     return xcb_ret;
101 }
102 
103 
104 /*****************************************************************************
105  **
106  ** xcb_xfixes_query_version_reply_t * xcb_xfixes_query_version_reply
107  **
108  ** @param xcb_connection_t                   *c
109  ** @param xcb_xfixes_query_version_cookie_t   cookie
110  ** @param xcb_generic_error_t               **e
111  ** @returns xcb_xfixes_query_version_reply_t *
112  **
113  *****************************************************************************/
114 
115 xcb_xfixes_query_version_reply_t *
116 xcb_xfixes_query_version_reply (xcb_connection_t                   *c  /**< */,
117                                 xcb_xfixes_query_version_cookie_t   cookie  /**< */,
118                                 xcb_generic_error_t               **e  /**< */)
119 {
120     return (xcb_xfixes_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
121 }
122 
123 
124 /*****************************************************************************
125  **
126  ** xcb_void_cookie_t xcb_xfixes_change_save_set_checked
127  **
128  ** @param xcb_connection_t *c
129  ** @param uint8_t           mode
130  ** @param uint8_t           target
131  ** @param uint8_t           map
132  ** @param xcb_window_t      window
133  ** @returns xcb_void_cookie_t
134  **
135  *****************************************************************************/
136 
137 xcb_void_cookie_t
138 xcb_xfixes_change_save_set_checked (xcb_connection_t *c  /**< */,
139                                     uint8_t           mode  /**< */,
140                                     uint8_t           target  /**< */,
141                                     uint8_t           map  /**< */,
142                                     xcb_window_t      window  /**< */)
143 {
144     static const xcb_protocol_request_t xcb_req = {
145         /* count */ 2,
146         /* ext */ &xcb_xfixes_id,
147         /* opcode */ XCB_XFIXES_CHANGE_SAVE_SET,
148         /* isvoid */ 1
149     };
150 
151     struct iovec xcb_parts[4];
152     xcb_void_cookie_t xcb_ret;
153     xcb_xfixes_change_save_set_request_t xcb_out;
154 
155     xcb_out.mode = mode;
156     xcb_out.target = target;
157     xcb_out.map = map;
158     xcb_out.pad0 = 0;
159     xcb_out.window = window;
160 
161     xcb_parts[2].iov_base = (char *) &xcb_out;
162     xcb_parts[2].iov_len = sizeof(xcb_out);
163     xcb_parts[3].iov_base = 0;
164     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
165 
166     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
167     return xcb_ret;
168 }
169 
170 
171 /*****************************************************************************
172  **
173  ** xcb_void_cookie_t xcb_xfixes_change_save_set
174  **
175  ** @param xcb_connection_t *c
176  ** @param uint8_t           mode
177  ** @param uint8_t           target
178  ** @param uint8_t           map
179  ** @param xcb_window_t      window
180  ** @returns xcb_void_cookie_t
181  **
182  *****************************************************************************/
183 
184 xcb_void_cookie_t
185 xcb_xfixes_change_save_set (xcb_connection_t *c  /**< */,
186                             uint8_t           mode  /**< */,
187                             uint8_t           target  /**< */,
188                             uint8_t           map  /**< */,
189                             xcb_window_t      window  /**< */)
190 {
191     static const xcb_protocol_request_t xcb_req = {
192         /* count */ 2,
193         /* ext */ &xcb_xfixes_id,
194         /* opcode */ XCB_XFIXES_CHANGE_SAVE_SET,
195         /* isvoid */ 1
196     };
197 
198     struct iovec xcb_parts[4];
199     xcb_void_cookie_t xcb_ret;
200     xcb_xfixes_change_save_set_request_t xcb_out;
201 
202     xcb_out.mode = mode;
203     xcb_out.target = target;
204     xcb_out.map = map;
205     xcb_out.pad0 = 0;
206     xcb_out.window = window;
207 
208     xcb_parts[2].iov_base = (char *) &xcb_out;
209     xcb_parts[2].iov_len = sizeof(xcb_out);
210     xcb_parts[3].iov_base = 0;
211     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
212 
213     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
214     return xcb_ret;
215 }
216 
217 
218 /*****************************************************************************
219  **
220  ** xcb_void_cookie_t xcb_xfixes_select_selection_input_checked
221  **
222  ** @param xcb_connection_t *c
223  ** @param xcb_window_t      window
224  ** @param xcb_atom_t        selection
225  ** @param uint32_t          event_mask
226  ** @returns xcb_void_cookie_t
227  **
228  *****************************************************************************/
229 
230 xcb_void_cookie_t
231 xcb_xfixes_select_selection_input_checked (xcb_connection_t *c  /**< */,
232                                            xcb_window_t      window  /**< */,
233                                            xcb_atom_t        selection  /**< */,
234                                            uint32_t          event_mask  /**< */)
235 {
236     static const xcb_protocol_request_t xcb_req = {
237         /* count */ 2,
238         /* ext */ &xcb_xfixes_id,
239         /* opcode */ XCB_XFIXES_SELECT_SELECTION_INPUT,
240         /* isvoid */ 1
241     };
242 
243     struct iovec xcb_parts[4];
244     xcb_void_cookie_t xcb_ret;
245     xcb_xfixes_select_selection_input_request_t xcb_out;
246 
247     xcb_out.window = window;
248     xcb_out.selection = selection;
249     xcb_out.event_mask = event_mask;
250 
251     xcb_parts[2].iov_base = (char *) &xcb_out;
252     xcb_parts[2].iov_len = sizeof(xcb_out);
253     xcb_parts[3].iov_base = 0;
254     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
255 
256     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
257     return xcb_ret;
258 }
259 
260 
261 /*****************************************************************************
262  **
263  ** xcb_void_cookie_t xcb_xfixes_select_selection_input
264  **
265  ** @param xcb_connection_t *c
266  ** @param xcb_window_t      window
267  ** @param xcb_atom_t        selection
268  ** @param uint32_t          event_mask
269  ** @returns xcb_void_cookie_t
270  **
271  *****************************************************************************/
272 
273 xcb_void_cookie_t
274 xcb_xfixes_select_selection_input (xcb_connection_t *c  /**< */,
275                                    xcb_window_t      window  /**< */,
276                                    xcb_atom_t        selection  /**< */,
277                                    uint32_t          event_mask  /**< */)
278 {
279     static const xcb_protocol_request_t xcb_req = {
280         /* count */ 2,
281         /* ext */ &xcb_xfixes_id,
282         /* opcode */ XCB_XFIXES_SELECT_SELECTION_INPUT,
283         /* isvoid */ 1
284     };
285 
286     struct iovec xcb_parts[4];
287     xcb_void_cookie_t xcb_ret;
288     xcb_xfixes_select_selection_input_request_t xcb_out;
289 
290     xcb_out.window = window;
291     xcb_out.selection = selection;
292     xcb_out.event_mask = event_mask;
293 
294     xcb_parts[2].iov_base = (char *) &xcb_out;
295     xcb_parts[2].iov_len = sizeof(xcb_out);
296     xcb_parts[3].iov_base = 0;
297     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
298 
299     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
300     return xcb_ret;
301 }
302 
303 
304 /*****************************************************************************
305  **
306  ** xcb_void_cookie_t xcb_xfixes_select_cursor_input_checked
307  **
308  ** @param xcb_connection_t *c
309  ** @param xcb_window_t      window
310  ** @param uint32_t          event_mask
311  ** @returns xcb_void_cookie_t
312  **
313  *****************************************************************************/
314 
315 xcb_void_cookie_t
316 xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c  /**< */,
317                                         xcb_window_t      window  /**< */,
318                                         uint32_t          event_mask  /**< */)
319 {
320     static const xcb_protocol_request_t xcb_req = {
321         /* count */ 2,
322         /* ext */ &xcb_xfixes_id,
323         /* opcode */ XCB_XFIXES_SELECT_CURSOR_INPUT,
324         /* isvoid */ 1
325     };
326 
327     struct iovec xcb_parts[4];
328     xcb_void_cookie_t xcb_ret;
329     xcb_xfixes_select_cursor_input_request_t xcb_out;
330 
331     xcb_out.window = window;
332     xcb_out.event_mask = event_mask;
333 
334     xcb_parts[2].iov_base = (char *) &xcb_out;
335     xcb_parts[2].iov_len = sizeof(xcb_out);
336     xcb_parts[3].iov_base = 0;
337     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
338 
339     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
340     return xcb_ret;
341 }
342 
343 
344 /*****************************************************************************
345  **
346  ** xcb_void_cookie_t xcb_xfixes_select_cursor_input
347  **
348  ** @param xcb_connection_t *c
349  ** @param xcb_window_t      window
350  ** @param uint32_t          event_mask
351  ** @returns xcb_void_cookie_t
352  **
353  *****************************************************************************/
354 
355 xcb_void_cookie_t
356 xcb_xfixes_select_cursor_input (xcb_connection_t *c  /**< */,
357                                 xcb_window_t      window  /**< */,
358                                 uint32_t          event_mask  /**< */)
359 {
360     static const xcb_protocol_request_t xcb_req = {
361         /* count */ 2,
362         /* ext */ &xcb_xfixes_id,
363         /* opcode */ XCB_XFIXES_SELECT_CURSOR_INPUT,
364         /* isvoid */ 1
365     };
366 
367     struct iovec xcb_parts[4];
368     xcb_void_cookie_t xcb_ret;
369     xcb_xfixes_select_cursor_input_request_t xcb_out;
370 
371     xcb_out.window = window;
372     xcb_out.event_mask = event_mask;
373 
374     xcb_parts[2].iov_base = (char *) &xcb_out;
375     xcb_parts[2].iov_len = sizeof(xcb_out);
376     xcb_parts[3].iov_base = 0;
377     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
378 
379     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
380     return xcb_ret;
381 }
382 
383 int
384 xcb_xfixes_get_cursor_image_sizeof (const void  *_buffer  /**< */)
385 {
386     char *xcb_tmp = (char *)_buffer;
387     const xcb_xfixes_get_cursor_image_reply_t *_aux = (xcb_xfixes_get_cursor_image_reply_t *)_buffer;
388     unsigned int xcb_buffer_len = 0;
389     unsigned int xcb_block_len = 0;
390     unsigned int xcb_pad = 0;
391     unsigned int xcb_align_to;
392 
393 
394     xcb_block_len += sizeof(xcb_xfixes_get_cursor_image_reply_t);
395     xcb_tmp += xcb_block_len;
396     /* cursor_image */
397     xcb_block_len += (_aux->width * _aux->height) * sizeof(uint32_t);
398     xcb_tmp += xcb_block_len;
399     xcb_align_to = ALIGNOF(uint32_t);
400     /* insert padding */
401     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
402     xcb_buffer_len += xcb_block_len + xcb_pad;
403     if (0 != xcb_pad) {
404         xcb_tmp += xcb_pad;
405         xcb_pad = 0;
406     }
407     xcb_block_len = 0;
408 
409     return xcb_buffer_len;
410 }
411 
412 
413 /*****************************************************************************
414  **
415  ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image
416  **
417  ** @param xcb_connection_t *c
418  ** @returns xcb_xfixes_get_cursor_image_cookie_t
419  **
420  *****************************************************************************/
421 
422 xcb_xfixes_get_cursor_image_cookie_t
423 xcb_xfixes_get_cursor_image (xcb_connection_t *c  /**< */)
424 {
425     static const xcb_protocol_request_t xcb_req = {
426         /* count */ 2,
427         /* ext */ &xcb_xfixes_id,
428         /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE,
429         /* isvoid */ 0
430     };
431 
432     struct iovec xcb_parts[4];
433     xcb_xfixes_get_cursor_image_cookie_t xcb_ret;
434     xcb_xfixes_get_cursor_image_request_t xcb_out;
435 
436 
437     xcb_parts[2].iov_base = (char *) &xcb_out;
438     xcb_parts[2].iov_len = sizeof(xcb_out);
439     xcb_parts[3].iov_base = 0;
440     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
441 
442     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
443     return xcb_ret;
444 }
445 
446 
447 /*****************************************************************************
448  **
449  ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image_unchecked
450  **
451  ** @param xcb_connection_t *c
452  ** @returns xcb_xfixes_get_cursor_image_cookie_t
453  **
454  *****************************************************************************/
455 
456 xcb_xfixes_get_cursor_image_cookie_t
457 xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c  /**< */)
458 {
459     static const xcb_protocol_request_t xcb_req = {
460         /* count */ 2,
461         /* ext */ &xcb_xfixes_id,
462         /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE,
463         /* isvoid */ 0
464     };
465 
466     struct iovec xcb_parts[4];
467     xcb_xfixes_get_cursor_image_cookie_t xcb_ret;
468     xcb_xfixes_get_cursor_image_request_t xcb_out;
469 
470 
471     xcb_parts[2].iov_base = (char *) &xcb_out;
472     xcb_parts[2].iov_len = sizeof(xcb_out);
473     xcb_parts[3].iov_base = 0;
474     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
475 
476     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
477     return xcb_ret;
478 }
479 
480 
481 /*****************************************************************************
482  **
483  ** uint32_t * xcb_xfixes_get_cursor_image_cursor_image
484  **
485  ** @param const xcb_xfixes_get_cursor_image_reply_t *R
486  ** @returns uint32_t *
487  **
488  *****************************************************************************/
489 
490 uint32_t *
491 xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R  /**< */)
492 {
493     return (uint32_t *) (R + 1);
494 }
495 
496 
497 /*****************************************************************************
498  **
499  ** int xcb_xfixes_get_cursor_image_cursor_image_length
500  **
501  ** @param const xcb_xfixes_get_cursor_image_reply_t *R
502  ** @returns int
503  **
504  *****************************************************************************/
505 
506 int
507 xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R  /**< */)
508 {
509     return (R->width * R->height);
510 }
511 
512 
513 /*****************************************************************************
514  **
515  ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_cursor_image_end
516  **
517  ** @param const xcb_xfixes_get_cursor_image_reply_t *R
518  ** @returns xcb_generic_iterator_t
519  **
520  *****************************************************************************/
521 
522 xcb_generic_iterator_t
523 xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R  /**< */)
524 {
525     xcb_generic_iterator_t i;
526     i.data = ((uint32_t *) (R + 1)) + ((R->width * R->height));
527     i.rem = 0;
528     i.index = (char *) i.data - (char *) R;
529     return i;
530 }
531 
532 
533 /*****************************************************************************
534  **
535  ** xcb_xfixes_get_cursor_image_reply_t * xcb_xfixes_get_cursor_image_reply
536  **
537  ** @param xcb_connection_t                      *c
538  ** @param xcb_xfixes_get_cursor_image_cookie_t   cookie
539  ** @param xcb_generic_error_t                  **e
540  ** @returns xcb_xfixes_get_cursor_image_reply_t *
541  **
542  *****************************************************************************/
543 
544 xcb_xfixes_get_cursor_image_reply_t *
545 xcb_xfixes_get_cursor_image_reply (xcb_connection_t                      *c  /**< */,
546                                    xcb_xfixes_get_cursor_image_cookie_t   cookie  /**< */,
547                                    xcb_generic_error_t                  **e  /**< */)
548 {
549     return (xcb_xfixes_get_cursor_image_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
550 }
551 
552 
553 /*****************************************************************************
554  **
555  ** void xcb_xfixes_region_next
556  **
557  ** @param xcb_xfixes_region_iterator_t *i
558  ** @returns void
559  **
560  *****************************************************************************/
561 
562 void
563 xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i  /**< */)
564 {
565     --i->rem;
566     ++i->data;
567     i->index += sizeof(xcb_xfixes_region_t);
568 }
569 
570 
571 /*****************************************************************************
572  **
573  ** xcb_generic_iterator_t xcb_xfixes_region_end
574  **
575  ** @param xcb_xfixes_region_iterator_t i
576  ** @returns xcb_generic_iterator_t
577  **
578  *****************************************************************************/
579 
580 xcb_generic_iterator_t
581 xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i  /**< */)
582 {
583     xcb_generic_iterator_t ret;
584     ret.data = i.data + i.rem;
585     ret.index = i.index + ((char *) ret.data - (char *) i.data);
586     ret.rem = 0;
587     return ret;
588 }
589 
590 int
591 xcb_xfixes_create_region_sizeof (const void  *_buffer  /**< */,
592                                  uint32_t     rectangles_len  /**< */)
593 {
594     char *xcb_tmp = (char *)_buffer;
595     unsigned int xcb_buffer_len = 0;
596     unsigned int xcb_block_len = 0;
597     unsigned int xcb_pad = 0;
598     unsigned int xcb_align_to;
599 
600 
601     xcb_block_len += sizeof(xcb_xfixes_create_region_request_t);
602     xcb_tmp += xcb_block_len;
603     /* rectangles */
604     xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t);
605     xcb_tmp += xcb_block_len;
606     xcb_align_to = ALIGNOF(xcb_rectangle_t);
607     /* insert padding */
608     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
609     xcb_buffer_len += xcb_block_len + xcb_pad;
610     if (0 != xcb_pad) {
611         xcb_tmp += xcb_pad;
612         xcb_pad = 0;
613     }
614     xcb_block_len = 0;
615 
616     return xcb_buffer_len;
617 }
618 
619 
620 /*****************************************************************************
621  **
622  ** xcb_void_cookie_t xcb_xfixes_create_region_checked
623  **
624  ** @param xcb_connection_t      *c
625  ** @param xcb_xfixes_region_t    region
626  ** @param uint32_t               rectangles_len
627  ** @param const xcb_rectangle_t *rectangles
628  ** @returns xcb_void_cookie_t
629  **
630  *****************************************************************************/
631 
632 xcb_void_cookie_t
633 xcb_xfixes_create_region_checked (xcb_connection_t      *c  /**< */,
634                                   xcb_xfixes_region_t    region  /**< */,
635                                   uint32_t               rectangles_len  /**< */,
636                                   const xcb_rectangle_t *rectangles  /**< */)
637 {
638     static const xcb_protocol_request_t xcb_req = {
639         /* count */ 4,
640         /* ext */ &xcb_xfixes_id,
641         /* opcode */ XCB_XFIXES_CREATE_REGION,
642         /* isvoid */ 1
643     };
644 
645     struct iovec xcb_parts[6];
646     xcb_void_cookie_t xcb_ret;
647     xcb_xfixes_create_region_request_t xcb_out;
648 
649     xcb_out.region = region;
650 
651     xcb_parts[2].iov_base = (char *) &xcb_out;
652     xcb_parts[2].iov_len = sizeof(xcb_out);
653     xcb_parts[3].iov_base = 0;
654     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
655     /* xcb_rectangle_t rectangles */
656     xcb_parts[4].iov_base = (char *) rectangles;
657     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
658     xcb_parts[5].iov_base = 0;
659     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
660 
661     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
662     return xcb_ret;
663 }
664 
665 
666 /*****************************************************************************
667  **
668  ** xcb_void_cookie_t xcb_xfixes_create_region
669  **
670  ** @param xcb_connection_t      *c
671  ** @param xcb_xfixes_region_t    region
672  ** @param uint32_t               rectangles_len
673  ** @param const xcb_rectangle_t *rectangles
674  ** @returns xcb_void_cookie_t
675  **
676  *****************************************************************************/
677 
678 xcb_void_cookie_t
679 xcb_xfixes_create_region (xcb_connection_t      *c  /**< */,
680                           xcb_xfixes_region_t    region  /**< */,
681                           uint32_t               rectangles_len  /**< */,
682                           const xcb_rectangle_t *rectangles  /**< */)
683 {
684     static const xcb_protocol_request_t xcb_req = {
685         /* count */ 4,
686         /* ext */ &xcb_xfixes_id,
687         /* opcode */ XCB_XFIXES_CREATE_REGION,
688         /* isvoid */ 1
689     };
690 
691     struct iovec xcb_parts[6];
692     xcb_void_cookie_t xcb_ret;
693     xcb_xfixes_create_region_request_t xcb_out;
694 
695     xcb_out.region = region;
696 
697     xcb_parts[2].iov_base = (char *) &xcb_out;
698     xcb_parts[2].iov_len = sizeof(xcb_out);
699     xcb_parts[3].iov_base = 0;
700     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
701     /* xcb_rectangle_t rectangles */
702     xcb_parts[4].iov_base = (char *) rectangles;
703     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
704     xcb_parts[5].iov_base = 0;
705     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
706 
707     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
708     return xcb_ret;
709 }
710 
711 
712 /*****************************************************************************
713  **
714  ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap_checked
715  **
716  ** @param xcb_connection_t    *c
717  ** @param xcb_xfixes_region_t  region
718  ** @param xcb_pixmap_t         bitmap
719  ** @returns xcb_void_cookie_t
720  **
721  *****************************************************************************/
722 
723 xcb_void_cookie_t
724 xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t    *c  /**< */,
725                                               xcb_xfixes_region_t  region  /**< */,
726                                               xcb_pixmap_t         bitmap  /**< */)
727 {
728     static const xcb_protocol_request_t xcb_req = {
729         /* count */ 2,
730         /* ext */ &xcb_xfixes_id,
731         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_BITMAP,
732         /* isvoid */ 1
733     };
734 
735     struct iovec xcb_parts[4];
736     xcb_void_cookie_t xcb_ret;
737     xcb_xfixes_create_region_from_bitmap_request_t xcb_out;
738 
739     xcb_out.region = region;
740     xcb_out.bitmap = bitmap;
741 
742     xcb_parts[2].iov_base = (char *) &xcb_out;
743     xcb_parts[2].iov_len = sizeof(xcb_out);
744     xcb_parts[3].iov_base = 0;
745     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
746 
747     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
748     return xcb_ret;
749 }
750 
751 
752 /*****************************************************************************
753  **
754  ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap
755  **
756  ** @param xcb_connection_t    *c
757  ** @param xcb_xfixes_region_t  region
758  ** @param xcb_pixmap_t         bitmap
759  ** @returns xcb_void_cookie_t
760  **
761  *****************************************************************************/
762 
763 xcb_void_cookie_t
764 xcb_xfixes_create_region_from_bitmap (xcb_connection_t    *c  /**< */,
765                                       xcb_xfixes_region_t  region  /**< */,
766                                       xcb_pixmap_t         bitmap  /**< */)
767 {
768     static const xcb_protocol_request_t xcb_req = {
769         /* count */ 2,
770         /* ext */ &xcb_xfixes_id,
771         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_BITMAP,
772         /* isvoid */ 1
773     };
774 
775     struct iovec xcb_parts[4];
776     xcb_void_cookie_t xcb_ret;
777     xcb_xfixes_create_region_from_bitmap_request_t xcb_out;
778 
779     xcb_out.region = region;
780     xcb_out.bitmap = bitmap;
781 
782     xcb_parts[2].iov_base = (char *) &xcb_out;
783     xcb_parts[2].iov_len = sizeof(xcb_out);
784     xcb_parts[3].iov_base = 0;
785     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
786 
787     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
788     return xcb_ret;
789 }
790 
791 
792 /*****************************************************************************
793  **
794  ** xcb_void_cookie_t xcb_xfixes_create_region_from_window_checked
795  **
796  ** @param xcb_connection_t    *c
797  ** @param xcb_xfixes_region_t  region
798  ** @param xcb_window_t         window
799  ** @param xcb_shape_kind_t     kind
800  ** @returns xcb_void_cookie_t
801  **
802  *****************************************************************************/
803 
804 xcb_void_cookie_t
805 xcb_xfixes_create_region_from_window_checked (xcb_connection_t    *c  /**< */,
806                                               xcb_xfixes_region_t  region  /**< */,
807                                               xcb_window_t         window  /**< */,
808                                               xcb_shape_kind_t     kind  /**< */)
809 {
810     static const xcb_protocol_request_t xcb_req = {
811         /* count */ 2,
812         /* ext */ &xcb_xfixes_id,
813         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_WINDOW,
814         /* isvoid */ 1
815     };
816 
817     struct iovec xcb_parts[4];
818     xcb_void_cookie_t xcb_ret;
819     xcb_xfixes_create_region_from_window_request_t xcb_out;
820 
821     xcb_out.region = region;
822     xcb_out.window = window;
823     xcb_out.kind = kind;
824     memset(xcb_out.pad0, 0, 3);
825 
826     xcb_parts[2].iov_base = (char *) &xcb_out;
827     xcb_parts[2].iov_len = sizeof(xcb_out);
828     xcb_parts[3].iov_base = 0;
829     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
830 
831     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
832     return xcb_ret;
833 }
834 
835 
836 /*****************************************************************************
837  **
838  ** xcb_void_cookie_t xcb_xfixes_create_region_from_window
839  **
840  ** @param xcb_connection_t    *c
841  ** @param xcb_xfixes_region_t  region
842  ** @param xcb_window_t         window
843  ** @param xcb_shape_kind_t     kind
844  ** @returns xcb_void_cookie_t
845  **
846  *****************************************************************************/
847 
848 xcb_void_cookie_t
849 xcb_xfixes_create_region_from_window (xcb_connection_t    *c  /**< */,
850                                       xcb_xfixes_region_t  region  /**< */,
851                                       xcb_window_t         window  /**< */,
852                                       xcb_shape_kind_t     kind  /**< */)
853 {
854     static const xcb_protocol_request_t xcb_req = {
855         /* count */ 2,
856         /* ext */ &xcb_xfixes_id,
857         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_WINDOW,
858         /* isvoid */ 1
859     };
860 
861     struct iovec xcb_parts[4];
862     xcb_void_cookie_t xcb_ret;
863     xcb_xfixes_create_region_from_window_request_t xcb_out;
864 
865     xcb_out.region = region;
866     xcb_out.window = window;
867     xcb_out.kind = kind;
868     memset(xcb_out.pad0, 0, 3);
869 
870     xcb_parts[2].iov_base = (char *) &xcb_out;
871     xcb_parts[2].iov_len = sizeof(xcb_out);
872     xcb_parts[3].iov_base = 0;
873     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
874 
875     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
876     return xcb_ret;
877 }
878 
879 
880 /*****************************************************************************
881  **
882  ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc_checked
883  **
884  ** @param xcb_connection_t    *c
885  ** @param xcb_xfixes_region_t  region
886  ** @param xcb_gcontext_t       gc
887  ** @returns xcb_void_cookie_t
888  **
889  *****************************************************************************/
890 
891 xcb_void_cookie_t
892 xcb_xfixes_create_region_from_gc_checked (xcb_connection_t    *c  /**< */,
893                                           xcb_xfixes_region_t  region  /**< */,
894                                           xcb_gcontext_t       gc  /**< */)
895 {
896     static const xcb_protocol_request_t xcb_req = {
897         /* count */ 2,
898         /* ext */ &xcb_xfixes_id,
899         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_GC,
900         /* isvoid */ 1
901     };
902 
903     struct iovec xcb_parts[4];
904     xcb_void_cookie_t xcb_ret;
905     xcb_xfixes_create_region_from_gc_request_t xcb_out;
906 
907     xcb_out.region = region;
908     xcb_out.gc = gc;
909 
910     xcb_parts[2].iov_base = (char *) &xcb_out;
911     xcb_parts[2].iov_len = sizeof(xcb_out);
912     xcb_parts[3].iov_base = 0;
913     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
914 
915     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
916     return xcb_ret;
917 }
918 
919 
920 /*****************************************************************************
921  **
922  ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc
923  **
924  ** @param xcb_connection_t    *c
925  ** @param xcb_xfixes_region_t  region
926  ** @param xcb_gcontext_t       gc
927  ** @returns xcb_void_cookie_t
928  **
929  *****************************************************************************/
930 
931 xcb_void_cookie_t
932 xcb_xfixes_create_region_from_gc (xcb_connection_t    *c  /**< */,
933                                   xcb_xfixes_region_t  region  /**< */,
934                                   xcb_gcontext_t       gc  /**< */)
935 {
936     static const xcb_protocol_request_t xcb_req = {
937         /* count */ 2,
938         /* ext */ &xcb_xfixes_id,
939         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_GC,
940         /* isvoid */ 1
941     };
942 
943     struct iovec xcb_parts[4];
944     xcb_void_cookie_t xcb_ret;
945     xcb_xfixes_create_region_from_gc_request_t xcb_out;
946 
947     xcb_out.region = region;
948     xcb_out.gc = gc;
949 
950     xcb_parts[2].iov_base = (char *) &xcb_out;
951     xcb_parts[2].iov_len = sizeof(xcb_out);
952     xcb_parts[3].iov_base = 0;
953     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
954 
955     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
956     return xcb_ret;
957 }
958 
959 
960 /*****************************************************************************
961  **
962  ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture_checked
963  **
964  ** @param xcb_connection_t     *c
965  ** @param xcb_xfixes_region_t   region
966  ** @param xcb_render_picture_t  picture
967  ** @returns xcb_void_cookie_t
968  **
969  *****************************************************************************/
970 
971 xcb_void_cookie_t
972 xcb_xfixes_create_region_from_picture_checked (xcb_connection_t     *c  /**< */,
973                                                xcb_xfixes_region_t   region  /**< */,
974                                                xcb_render_picture_t  picture  /**< */)
975 {
976     static const xcb_protocol_request_t xcb_req = {
977         /* count */ 2,
978         /* ext */ &xcb_xfixes_id,
979         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_PICTURE,
980         /* isvoid */ 1
981     };
982 
983     struct iovec xcb_parts[4];
984     xcb_void_cookie_t xcb_ret;
985     xcb_xfixes_create_region_from_picture_request_t xcb_out;
986 
987     xcb_out.region = region;
988     xcb_out.picture = picture;
989 
990     xcb_parts[2].iov_base = (char *) &xcb_out;
991     xcb_parts[2].iov_len = sizeof(xcb_out);
992     xcb_parts[3].iov_base = 0;
993     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
994 
995     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
996     return xcb_ret;
997 }
998 
999 
1000 /*****************************************************************************
1001  **
1002  ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture
1003  **
1004  ** @param xcb_connection_t     *c
1005  ** @param xcb_xfixes_region_t   region
1006  ** @param xcb_render_picture_t  picture
1007  ** @returns xcb_void_cookie_t
1008  **
1009  *****************************************************************************/
1010 
1011 xcb_void_cookie_t
1012 xcb_xfixes_create_region_from_picture (xcb_connection_t     *c  /**< */,
1013                                        xcb_xfixes_region_t   region  /**< */,
1014                                        xcb_render_picture_t  picture  /**< */)
1015 {
1016     static const xcb_protocol_request_t xcb_req = {
1017         /* count */ 2,
1018         /* ext */ &xcb_xfixes_id,
1019         /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_PICTURE,
1020         /* isvoid */ 1
1021     };
1022 
1023     struct iovec xcb_parts[4];
1024     xcb_void_cookie_t xcb_ret;
1025     xcb_xfixes_create_region_from_picture_request_t xcb_out;
1026 
1027     xcb_out.region = region;
1028     xcb_out.picture = picture;
1029 
1030     xcb_parts[2].iov_base = (char *) &xcb_out;
1031     xcb_parts[2].iov_len = sizeof(xcb_out);
1032     xcb_parts[3].iov_base = 0;
1033     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1034 
1035     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1036     return xcb_ret;
1037 }
1038 
1039 
1040 /*****************************************************************************
1041  **
1042  ** xcb_void_cookie_t xcb_xfixes_destroy_region_checked
1043  **
1044  ** @param xcb_connection_t    *c
1045  ** @param xcb_xfixes_region_t  region
1046  ** @returns xcb_void_cookie_t
1047  **
1048  *****************************************************************************/
1049 
1050 xcb_void_cookie_t
1051 xcb_xfixes_destroy_region_checked (xcb_connection_t    *c  /**< */,
1052                                    xcb_xfixes_region_t  region  /**< */)
1053 {
1054     static const xcb_protocol_request_t xcb_req = {
1055         /* count */ 2,
1056         /* ext */ &xcb_xfixes_id,
1057         /* opcode */ XCB_XFIXES_DESTROY_REGION,
1058         /* isvoid */ 1
1059     };
1060 
1061     struct iovec xcb_parts[4];
1062     xcb_void_cookie_t xcb_ret;
1063     xcb_xfixes_destroy_region_request_t xcb_out;
1064 
1065     xcb_out.region = region;
1066 
1067     xcb_parts[2].iov_base = (char *) &xcb_out;
1068     xcb_parts[2].iov_len = sizeof(xcb_out);
1069     xcb_parts[3].iov_base = 0;
1070     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1071 
1072     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1073     return xcb_ret;
1074 }
1075 
1076 
1077 /*****************************************************************************
1078  **
1079  ** xcb_void_cookie_t xcb_xfixes_destroy_region
1080  **
1081  ** @param xcb_connection_t    *c
1082  ** @param xcb_xfixes_region_t  region
1083  ** @returns xcb_void_cookie_t
1084  **
1085  *****************************************************************************/
1086 
1087 xcb_void_cookie_t
1088 xcb_xfixes_destroy_region (xcb_connection_t    *c  /**< */,
1089                            xcb_xfixes_region_t  region  /**< */)
1090 {
1091     static const xcb_protocol_request_t xcb_req = {
1092         /* count */ 2,
1093         /* ext */ &xcb_xfixes_id,
1094         /* opcode */ XCB_XFIXES_DESTROY_REGION,
1095         /* isvoid */ 1
1096     };
1097 
1098     struct iovec xcb_parts[4];
1099     xcb_void_cookie_t xcb_ret;
1100     xcb_xfixes_destroy_region_request_t xcb_out;
1101 
1102     xcb_out.region = region;
1103 
1104     xcb_parts[2].iov_base = (char *) &xcb_out;
1105     xcb_parts[2].iov_len = sizeof(xcb_out);
1106     xcb_parts[3].iov_base = 0;
1107     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1108 
1109     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1110     return xcb_ret;
1111 }
1112 
1113 int
1114 xcb_xfixes_set_region_sizeof (const void  *_buffer  /**< */,
1115                               uint32_t     rectangles_len  /**< */)
1116 {
1117     char *xcb_tmp = (char *)_buffer;
1118     unsigned int xcb_buffer_len = 0;
1119     unsigned int xcb_block_len = 0;
1120     unsigned int xcb_pad = 0;
1121     unsigned int xcb_align_to;
1122 
1123 
1124     xcb_block_len += sizeof(xcb_xfixes_set_region_request_t);
1125     xcb_tmp += xcb_block_len;
1126     /* rectangles */
1127     xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t);
1128     xcb_tmp += xcb_block_len;
1129     xcb_align_to = ALIGNOF(xcb_rectangle_t);
1130     /* insert padding */
1131     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1132     xcb_buffer_len += xcb_block_len + xcb_pad;
1133     if (0 != xcb_pad) {
1134         xcb_tmp += xcb_pad;
1135         xcb_pad = 0;
1136     }
1137     xcb_block_len = 0;
1138 
1139     return xcb_buffer_len;
1140 }
1141 
1142 
1143 /*****************************************************************************
1144  **
1145  ** xcb_void_cookie_t xcb_xfixes_set_region_checked
1146  **
1147  ** @param xcb_connection_t      *c
1148  ** @param xcb_xfixes_region_t    region
1149  ** @param uint32_t               rectangles_len
1150  ** @param const xcb_rectangle_t *rectangles
1151  ** @returns xcb_void_cookie_t
1152  **
1153  *****************************************************************************/
1154 
1155 xcb_void_cookie_t
1156 xcb_xfixes_set_region_checked (xcb_connection_t      *c  /**< */,
1157                                xcb_xfixes_region_t    region  /**< */,
1158                                uint32_t               rectangles_len  /**< */,
1159                                const xcb_rectangle_t *rectangles  /**< */)
1160 {
1161     static const xcb_protocol_request_t xcb_req = {
1162         /* count */ 4,
1163         /* ext */ &xcb_xfixes_id,
1164         /* opcode */ XCB_XFIXES_SET_REGION,
1165         /* isvoid */ 1
1166     };
1167 
1168     struct iovec xcb_parts[6];
1169     xcb_void_cookie_t xcb_ret;
1170     xcb_xfixes_set_region_request_t xcb_out;
1171 
1172     xcb_out.region = region;
1173 
1174     xcb_parts[2].iov_base = (char *) &xcb_out;
1175     xcb_parts[2].iov_len = sizeof(xcb_out);
1176     xcb_parts[3].iov_base = 0;
1177     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1178     /* xcb_rectangle_t rectangles */
1179     xcb_parts[4].iov_base = (char *) rectangles;
1180     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
1181     xcb_parts[5].iov_base = 0;
1182     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1183 
1184     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1185     return xcb_ret;
1186 }
1187 
1188 
1189 /*****************************************************************************
1190  **
1191  ** xcb_void_cookie_t xcb_xfixes_set_region
1192  **
1193  ** @param xcb_connection_t      *c
1194  ** @param xcb_xfixes_region_t    region
1195  ** @param uint32_t               rectangles_len
1196  ** @param const xcb_rectangle_t *rectangles
1197  ** @returns xcb_void_cookie_t
1198  **
1199  *****************************************************************************/
1200 
1201 xcb_void_cookie_t
1202 xcb_xfixes_set_region (xcb_connection_t      *c  /**< */,
1203                        xcb_xfixes_region_t    region  /**< */,
1204                        uint32_t               rectangles_len  /**< */,
1205                        const xcb_rectangle_t *rectangles  /**< */)
1206 {
1207     static const xcb_protocol_request_t xcb_req = {
1208         /* count */ 4,
1209         /* ext */ &xcb_xfixes_id,
1210         /* opcode */ XCB_XFIXES_SET_REGION,
1211         /* isvoid */ 1
1212     };
1213 
1214     struct iovec xcb_parts[6];
1215     xcb_void_cookie_t xcb_ret;
1216     xcb_xfixes_set_region_request_t xcb_out;
1217 
1218     xcb_out.region = region;
1219 
1220     xcb_parts[2].iov_base = (char *) &xcb_out;
1221     xcb_parts[2].iov_len = sizeof(xcb_out);
1222     xcb_parts[3].iov_base = 0;
1223     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1224     /* xcb_rectangle_t rectangles */
1225     xcb_parts[4].iov_base = (char *) rectangles;
1226     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
1227     xcb_parts[5].iov_base = 0;
1228     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1229 
1230     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1231     return xcb_ret;
1232 }
1233 
1234 
1235 /*****************************************************************************
1236  **
1237  ** xcb_void_cookie_t xcb_xfixes_copy_region_checked
1238  **
1239  ** @param xcb_connection_t    *c
1240  ** @param xcb_xfixes_region_t  source
1241  ** @param xcb_xfixes_region_t  destination
1242  ** @returns xcb_void_cookie_t
1243  **
1244  *****************************************************************************/
1245 
1246 xcb_void_cookie_t
1247 xcb_xfixes_copy_region_checked (xcb_connection_t    *c  /**< */,
1248                                 xcb_xfixes_region_t  source  /**< */,
1249                                 xcb_xfixes_region_t  destination  /**< */)
1250 {
1251     static const xcb_protocol_request_t xcb_req = {
1252         /* count */ 2,
1253         /* ext */ &xcb_xfixes_id,
1254         /* opcode */ XCB_XFIXES_COPY_REGION,
1255         /* isvoid */ 1
1256     };
1257 
1258     struct iovec xcb_parts[4];
1259     xcb_void_cookie_t xcb_ret;
1260     xcb_xfixes_copy_region_request_t xcb_out;
1261 
1262     xcb_out.source = source;
1263     xcb_out.destination = destination;
1264 
1265     xcb_parts[2].iov_base = (char *) &xcb_out;
1266     xcb_parts[2].iov_len = sizeof(xcb_out);
1267     xcb_parts[3].iov_base = 0;
1268     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1269 
1270     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1271     return xcb_ret;
1272 }
1273 
1274 
1275 /*****************************************************************************
1276  **
1277  ** xcb_void_cookie_t xcb_xfixes_copy_region
1278  **
1279  ** @param xcb_connection_t    *c
1280  ** @param xcb_xfixes_region_t  source
1281  ** @param xcb_xfixes_region_t  destination
1282  ** @returns xcb_void_cookie_t
1283  **
1284  *****************************************************************************/
1285 
1286 xcb_void_cookie_t
1287 xcb_xfixes_copy_region (xcb_connection_t    *c  /**< */,
1288                         xcb_xfixes_region_t  source  /**< */,
1289                         xcb_xfixes_region_t  destination  /**< */)
1290 {
1291     static const xcb_protocol_request_t xcb_req = {
1292         /* count */ 2,
1293         /* ext */ &xcb_xfixes_id,
1294         /* opcode */ XCB_XFIXES_COPY_REGION,
1295         /* isvoid */ 1
1296     };
1297 
1298     struct iovec xcb_parts[4];
1299     xcb_void_cookie_t xcb_ret;
1300     xcb_xfixes_copy_region_request_t xcb_out;
1301 
1302     xcb_out.source = source;
1303     xcb_out.destination = destination;
1304 
1305     xcb_parts[2].iov_base = (char *) &xcb_out;
1306     xcb_parts[2].iov_len = sizeof(xcb_out);
1307     xcb_parts[3].iov_base = 0;
1308     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1309 
1310     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1311     return xcb_ret;
1312 }
1313 
1314 
1315 /*****************************************************************************
1316  **
1317  ** xcb_void_cookie_t xcb_xfixes_union_region_checked
1318  **
1319  ** @param xcb_connection_t    *c
1320  ** @param xcb_xfixes_region_t  source1
1321  ** @param xcb_xfixes_region_t  source2
1322  ** @param xcb_xfixes_region_t  destination
1323  ** @returns xcb_void_cookie_t
1324  **
1325  *****************************************************************************/
1326 
1327 xcb_void_cookie_t
1328 xcb_xfixes_union_region_checked (xcb_connection_t    *c  /**< */,
1329                                  xcb_xfixes_region_t  source1  /**< */,
1330                                  xcb_xfixes_region_t  source2  /**< */,
1331                                  xcb_xfixes_region_t  destination  /**< */)
1332 {
1333     static const xcb_protocol_request_t xcb_req = {
1334         /* count */ 2,
1335         /* ext */ &xcb_xfixes_id,
1336         /* opcode */ XCB_XFIXES_UNION_REGION,
1337         /* isvoid */ 1
1338     };
1339 
1340     struct iovec xcb_parts[4];
1341     xcb_void_cookie_t xcb_ret;
1342     xcb_xfixes_union_region_request_t xcb_out;
1343 
1344     xcb_out.source1 = source1;
1345     xcb_out.source2 = source2;
1346     xcb_out.destination = destination;
1347 
1348     xcb_parts[2].iov_base = (char *) &xcb_out;
1349     xcb_parts[2].iov_len = sizeof(xcb_out);
1350     xcb_parts[3].iov_base = 0;
1351     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1352 
1353     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1354     return xcb_ret;
1355 }
1356 
1357 
1358 /*****************************************************************************
1359  **
1360  ** xcb_void_cookie_t xcb_xfixes_union_region
1361  **
1362  ** @param xcb_connection_t    *c
1363  ** @param xcb_xfixes_region_t  source1
1364  ** @param xcb_xfixes_region_t  source2
1365  ** @param xcb_xfixes_region_t  destination
1366  ** @returns xcb_void_cookie_t
1367  **
1368  *****************************************************************************/
1369 
1370 xcb_void_cookie_t
1371 xcb_xfixes_union_region (xcb_connection_t    *c  /**< */,
1372                          xcb_xfixes_region_t  source1  /**< */,
1373                          xcb_xfixes_region_t  source2  /**< */,
1374                          xcb_xfixes_region_t  destination  /**< */)
1375 {
1376     static const xcb_protocol_request_t xcb_req = {
1377         /* count */ 2,
1378         /* ext */ &xcb_xfixes_id,
1379         /* opcode */ XCB_XFIXES_UNION_REGION,
1380         /* isvoid */ 1
1381     };
1382 
1383     struct iovec xcb_parts[4];
1384     xcb_void_cookie_t xcb_ret;
1385     xcb_xfixes_union_region_request_t xcb_out;
1386 
1387     xcb_out.source1 = source1;
1388     xcb_out.source2 = source2;
1389     xcb_out.destination = destination;
1390 
1391     xcb_parts[2].iov_base = (char *) &xcb_out;
1392     xcb_parts[2].iov_len = sizeof(xcb_out);
1393     xcb_parts[3].iov_base = 0;
1394     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1395 
1396     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1397     return xcb_ret;
1398 }
1399 
1400 
1401 /*****************************************************************************
1402  **
1403  ** xcb_void_cookie_t xcb_xfixes_intersect_region_checked
1404  **
1405  ** @param xcb_connection_t    *c
1406  ** @param xcb_xfixes_region_t  source1
1407  ** @param xcb_xfixes_region_t  source2
1408  ** @param xcb_xfixes_region_t  destination
1409  ** @returns xcb_void_cookie_t
1410  **
1411  *****************************************************************************/
1412 
1413 xcb_void_cookie_t
1414 xcb_xfixes_intersect_region_checked (xcb_connection_t    *c  /**< */,
1415                                      xcb_xfixes_region_t  source1  /**< */,
1416                                      xcb_xfixes_region_t  source2  /**< */,
1417                                      xcb_xfixes_region_t  destination  /**< */)
1418 {
1419     static const xcb_protocol_request_t xcb_req = {
1420         /* count */ 2,
1421         /* ext */ &xcb_xfixes_id,
1422         /* opcode */ XCB_XFIXES_INTERSECT_REGION,
1423         /* isvoid */ 1
1424     };
1425 
1426     struct iovec xcb_parts[4];
1427     xcb_void_cookie_t xcb_ret;
1428     xcb_xfixes_intersect_region_request_t xcb_out;
1429 
1430     xcb_out.source1 = source1;
1431     xcb_out.source2 = source2;
1432     xcb_out.destination = destination;
1433 
1434     xcb_parts[2].iov_base = (char *) &xcb_out;
1435     xcb_parts[2].iov_len = sizeof(xcb_out);
1436     xcb_parts[3].iov_base = 0;
1437     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1438 
1439     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1440     return xcb_ret;
1441 }
1442 
1443 
1444 /*****************************************************************************
1445  **
1446  ** xcb_void_cookie_t xcb_xfixes_intersect_region
1447  **
1448  ** @param xcb_connection_t    *c
1449  ** @param xcb_xfixes_region_t  source1
1450  ** @param xcb_xfixes_region_t  source2
1451  ** @param xcb_xfixes_region_t  destination
1452  ** @returns xcb_void_cookie_t
1453  **
1454  *****************************************************************************/
1455 
1456 xcb_void_cookie_t
1457 xcb_xfixes_intersect_region (xcb_connection_t    *c  /**< */,
1458                              xcb_xfixes_region_t  source1  /**< */,
1459                              xcb_xfixes_region_t  source2  /**< */,
1460                              xcb_xfixes_region_t  destination  /**< */)
1461 {
1462     static const xcb_protocol_request_t xcb_req = {
1463         /* count */ 2,
1464         /* ext */ &xcb_xfixes_id,
1465         /* opcode */ XCB_XFIXES_INTERSECT_REGION,
1466         /* isvoid */ 1
1467     };
1468 
1469     struct iovec xcb_parts[4];
1470     xcb_void_cookie_t xcb_ret;
1471     xcb_xfixes_intersect_region_request_t xcb_out;
1472 
1473     xcb_out.source1 = source1;
1474     xcb_out.source2 = source2;
1475     xcb_out.destination = destination;
1476 
1477     xcb_parts[2].iov_base = (char *) &xcb_out;
1478     xcb_parts[2].iov_len = sizeof(xcb_out);
1479     xcb_parts[3].iov_base = 0;
1480     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1481 
1482     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1483     return xcb_ret;
1484 }
1485 
1486 
1487 /*****************************************************************************
1488  **
1489  ** xcb_void_cookie_t xcb_xfixes_subtract_region_checked
1490  **
1491  ** @param xcb_connection_t    *c
1492  ** @param xcb_xfixes_region_t  source1
1493  ** @param xcb_xfixes_region_t  source2
1494  ** @param xcb_xfixes_region_t  destination
1495  ** @returns xcb_void_cookie_t
1496  **
1497  *****************************************************************************/
1498 
1499 xcb_void_cookie_t
1500 xcb_xfixes_subtract_region_checked (xcb_connection_t    *c  /**< */,
1501                                     xcb_xfixes_region_t  source1  /**< */,
1502                                     xcb_xfixes_region_t  source2  /**< */,
1503                                     xcb_xfixes_region_t  destination  /**< */)
1504 {
1505     static const xcb_protocol_request_t xcb_req = {
1506         /* count */ 2,
1507         /* ext */ &xcb_xfixes_id,
1508         /* opcode */ XCB_XFIXES_SUBTRACT_REGION,
1509         /* isvoid */ 1
1510     };
1511 
1512     struct iovec xcb_parts[4];
1513     xcb_void_cookie_t xcb_ret;
1514     xcb_xfixes_subtract_region_request_t xcb_out;
1515 
1516     xcb_out.source1 = source1;
1517     xcb_out.source2 = source2;
1518     xcb_out.destination = destination;
1519 
1520     xcb_parts[2].iov_base = (char *) &xcb_out;
1521     xcb_parts[2].iov_len = sizeof(xcb_out);
1522     xcb_parts[3].iov_base = 0;
1523     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1524 
1525     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1526     return xcb_ret;
1527 }
1528 
1529 
1530 /*****************************************************************************
1531  **
1532  ** xcb_void_cookie_t xcb_xfixes_subtract_region
1533  **
1534  ** @param xcb_connection_t    *c
1535  ** @param xcb_xfixes_region_t  source1
1536  ** @param xcb_xfixes_region_t  source2
1537  ** @param xcb_xfixes_region_t  destination
1538  ** @returns xcb_void_cookie_t
1539  **
1540  *****************************************************************************/
1541 
1542 xcb_void_cookie_t
1543 xcb_xfixes_subtract_region (xcb_connection_t    *c  /**< */,
1544                             xcb_xfixes_region_t  source1  /**< */,
1545                             xcb_xfixes_region_t  source2  /**< */,
1546                             xcb_xfixes_region_t  destination  /**< */)
1547 {
1548     static const xcb_protocol_request_t xcb_req = {
1549         /* count */ 2,
1550         /* ext */ &xcb_xfixes_id,
1551         /* opcode */ XCB_XFIXES_SUBTRACT_REGION,
1552         /* isvoid */ 1
1553     };
1554 
1555     struct iovec xcb_parts[4];
1556     xcb_void_cookie_t xcb_ret;
1557     xcb_xfixes_subtract_region_request_t xcb_out;
1558 
1559     xcb_out.source1 = source1;
1560     xcb_out.source2 = source2;
1561     xcb_out.destination = destination;
1562 
1563     xcb_parts[2].iov_base = (char *) &xcb_out;
1564     xcb_parts[2].iov_len = sizeof(xcb_out);
1565     xcb_parts[3].iov_base = 0;
1566     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1567 
1568     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1569     return xcb_ret;
1570 }
1571 
1572 
1573 /*****************************************************************************
1574  **
1575  ** xcb_void_cookie_t xcb_xfixes_invert_region_checked
1576  **
1577  ** @param xcb_connection_t    *c
1578  ** @param xcb_xfixes_region_t  source
1579  ** @param xcb_rectangle_t      bounds
1580  ** @param xcb_xfixes_region_t  destination
1581  ** @returns xcb_void_cookie_t
1582  **
1583  *****************************************************************************/
1584 
1585 xcb_void_cookie_t
1586 xcb_xfixes_invert_region_checked (xcb_connection_t    *c  /**< */,
1587                                   xcb_xfixes_region_t  source  /**< */,
1588                                   xcb_rectangle_t      bounds  /**< */,
1589                                   xcb_xfixes_region_t  destination  /**< */)
1590 {
1591     static const xcb_protocol_request_t xcb_req = {
1592         /* count */ 2,
1593         /* ext */ &xcb_xfixes_id,
1594         /* opcode */ XCB_XFIXES_INVERT_REGION,
1595         /* isvoid */ 1
1596     };
1597 
1598     struct iovec xcb_parts[4];
1599     xcb_void_cookie_t xcb_ret;
1600     xcb_xfixes_invert_region_request_t xcb_out;
1601 
1602     xcb_out.source = source;
1603     xcb_out.bounds = bounds;
1604     xcb_out.destination = destination;
1605 
1606     xcb_parts[2].iov_base = (char *) &xcb_out;
1607     xcb_parts[2].iov_len = sizeof(xcb_out);
1608     xcb_parts[3].iov_base = 0;
1609     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1610 
1611     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1612     return xcb_ret;
1613 }
1614 
1615 
1616 /*****************************************************************************
1617  **
1618  ** xcb_void_cookie_t xcb_xfixes_invert_region
1619  **
1620  ** @param xcb_connection_t    *c
1621  ** @param xcb_xfixes_region_t  source
1622  ** @param xcb_rectangle_t      bounds
1623  ** @param xcb_xfixes_region_t  destination
1624  ** @returns xcb_void_cookie_t
1625  **
1626  *****************************************************************************/
1627 
1628 xcb_void_cookie_t
1629 xcb_xfixes_invert_region (xcb_connection_t    *c  /**< */,
1630                           xcb_xfixes_region_t  source  /**< */,
1631                           xcb_rectangle_t      bounds  /**< */,
1632                           xcb_xfixes_region_t  destination  /**< */)
1633 {
1634     static const xcb_protocol_request_t xcb_req = {
1635         /* count */ 2,
1636         /* ext */ &xcb_xfixes_id,
1637         /* opcode */ XCB_XFIXES_INVERT_REGION,
1638         /* isvoid */ 1
1639     };
1640 
1641     struct iovec xcb_parts[4];
1642     xcb_void_cookie_t xcb_ret;
1643     xcb_xfixes_invert_region_request_t xcb_out;
1644 
1645     xcb_out.source = source;
1646     xcb_out.bounds = bounds;
1647     xcb_out.destination = destination;
1648 
1649     xcb_parts[2].iov_base = (char *) &xcb_out;
1650     xcb_parts[2].iov_len = sizeof(xcb_out);
1651     xcb_parts[3].iov_base = 0;
1652     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1653 
1654     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1655     return xcb_ret;
1656 }
1657 
1658 
1659 /*****************************************************************************
1660  **
1661  ** xcb_void_cookie_t xcb_xfixes_translate_region_checked
1662  **
1663  ** @param xcb_connection_t    *c
1664  ** @param xcb_xfixes_region_t  region
1665  ** @param int16_t              dx
1666  ** @param int16_t              dy
1667  ** @returns xcb_void_cookie_t
1668  **
1669  *****************************************************************************/
1670 
1671 xcb_void_cookie_t
1672 xcb_xfixes_translate_region_checked (xcb_connection_t    *c  /**< */,
1673                                      xcb_xfixes_region_t  region  /**< */,
1674                                      int16_t              dx  /**< */,
1675                                      int16_t              dy  /**< */)
1676 {
1677     static const xcb_protocol_request_t xcb_req = {
1678         /* count */ 2,
1679         /* ext */ &xcb_xfixes_id,
1680         /* opcode */ XCB_XFIXES_TRANSLATE_REGION,
1681         /* isvoid */ 1
1682     };
1683 
1684     struct iovec xcb_parts[4];
1685     xcb_void_cookie_t xcb_ret;
1686     xcb_xfixes_translate_region_request_t xcb_out;
1687 
1688     xcb_out.region = region;
1689     xcb_out.dx = dx;
1690     xcb_out.dy = dy;
1691 
1692     xcb_parts[2].iov_base = (char *) &xcb_out;
1693     xcb_parts[2].iov_len = sizeof(xcb_out);
1694     xcb_parts[3].iov_base = 0;
1695     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1696 
1697     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1698     return xcb_ret;
1699 }
1700 
1701 
1702 /*****************************************************************************
1703  **
1704  ** xcb_void_cookie_t xcb_xfixes_translate_region
1705  **
1706  ** @param xcb_connection_t    *c
1707  ** @param xcb_xfixes_region_t  region
1708  ** @param int16_t              dx
1709  ** @param int16_t              dy
1710  ** @returns xcb_void_cookie_t
1711  **
1712  *****************************************************************************/
1713 
1714 xcb_void_cookie_t
1715 xcb_xfixes_translate_region (xcb_connection_t    *c  /**< */,
1716                              xcb_xfixes_region_t  region  /**< */,
1717                              int16_t              dx  /**< */,
1718                              int16_t              dy  /**< */)
1719 {
1720     static const xcb_protocol_request_t xcb_req = {
1721         /* count */ 2,
1722         /* ext */ &xcb_xfixes_id,
1723         /* opcode */ XCB_XFIXES_TRANSLATE_REGION,
1724         /* isvoid */ 1
1725     };
1726 
1727     struct iovec xcb_parts[4];
1728     xcb_void_cookie_t xcb_ret;
1729     xcb_xfixes_translate_region_request_t xcb_out;
1730 
1731     xcb_out.region = region;
1732     xcb_out.dx = dx;
1733     xcb_out.dy = dy;
1734 
1735     xcb_parts[2].iov_base = (char *) &xcb_out;
1736     xcb_parts[2].iov_len = sizeof(xcb_out);
1737     xcb_parts[3].iov_base = 0;
1738     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1739 
1740     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1741     return xcb_ret;
1742 }
1743 
1744 
1745 /*****************************************************************************
1746  **
1747  ** xcb_void_cookie_t xcb_xfixes_region_extents_checked
1748  **
1749  ** @param xcb_connection_t    *c
1750  ** @param xcb_xfixes_region_t  source
1751  ** @param xcb_xfixes_region_t  destination
1752  ** @returns xcb_void_cookie_t
1753  **
1754  *****************************************************************************/
1755 
1756 xcb_void_cookie_t
1757 xcb_xfixes_region_extents_checked (xcb_connection_t    *c  /**< */,
1758                                    xcb_xfixes_region_t  source  /**< */,
1759                                    xcb_xfixes_region_t  destination  /**< */)
1760 {
1761     static const xcb_protocol_request_t xcb_req = {
1762         /* count */ 2,
1763         /* ext */ &xcb_xfixes_id,
1764         /* opcode */ XCB_XFIXES_REGION_EXTENTS,
1765         /* isvoid */ 1
1766     };
1767 
1768     struct iovec xcb_parts[4];
1769     xcb_void_cookie_t xcb_ret;
1770     xcb_xfixes_region_extents_request_t xcb_out;
1771 
1772     xcb_out.source = source;
1773     xcb_out.destination = destination;
1774 
1775     xcb_parts[2].iov_base = (char *) &xcb_out;
1776     xcb_parts[2].iov_len = sizeof(xcb_out);
1777     xcb_parts[3].iov_base = 0;
1778     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1779 
1780     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1781     return xcb_ret;
1782 }
1783 
1784 
1785 /*****************************************************************************
1786  **
1787  ** xcb_void_cookie_t xcb_xfixes_region_extents
1788  **
1789  ** @param xcb_connection_t    *c
1790  ** @param xcb_xfixes_region_t  source
1791  ** @param xcb_xfixes_region_t  destination
1792  ** @returns xcb_void_cookie_t
1793  **
1794  *****************************************************************************/
1795 
1796 xcb_void_cookie_t
1797 xcb_xfixes_region_extents (xcb_connection_t    *c  /**< */,
1798                            xcb_xfixes_region_t  source  /**< */,
1799                            xcb_xfixes_region_t  destination  /**< */)
1800 {
1801     static const xcb_protocol_request_t xcb_req = {
1802         /* count */ 2,
1803         /* ext */ &xcb_xfixes_id,
1804         /* opcode */ XCB_XFIXES_REGION_EXTENTS,
1805         /* isvoid */ 1
1806     };
1807 
1808     struct iovec xcb_parts[4];
1809     xcb_void_cookie_t xcb_ret;
1810     xcb_xfixes_region_extents_request_t xcb_out;
1811 
1812     xcb_out.source = source;
1813     xcb_out.destination = destination;
1814 
1815     xcb_parts[2].iov_base = (char *) &xcb_out;
1816     xcb_parts[2].iov_len = sizeof(xcb_out);
1817     xcb_parts[3].iov_base = 0;
1818     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1819 
1820     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1821     return xcb_ret;
1822 }
1823 
1824 int
1825 xcb_xfixes_fetch_region_sizeof (const void  *_buffer  /**< */)
1826 {
1827     char *xcb_tmp = (char *)_buffer;
1828     const xcb_xfixes_fetch_region_reply_t *_aux = (xcb_xfixes_fetch_region_reply_t *)_buffer;
1829     unsigned int xcb_buffer_len = 0;
1830     unsigned int xcb_block_len = 0;
1831     unsigned int xcb_pad = 0;
1832     unsigned int xcb_align_to;
1833 
1834 
1835     xcb_block_len += sizeof(xcb_xfixes_fetch_region_reply_t);
1836     xcb_tmp += xcb_block_len;
1837     /* rectangles */
1838     xcb_block_len += (_aux->length / 2) * sizeof(xcb_rectangle_t);
1839     xcb_tmp += xcb_block_len;
1840     xcb_align_to = ALIGNOF(xcb_rectangle_t);
1841     /* insert padding */
1842     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1843     xcb_buffer_len += xcb_block_len + xcb_pad;
1844     if (0 != xcb_pad) {
1845         xcb_tmp += xcb_pad;
1846         xcb_pad = 0;
1847     }
1848     xcb_block_len = 0;
1849 
1850     return xcb_buffer_len;
1851 }
1852 
1853 
1854 /*****************************************************************************
1855  **
1856  ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region
1857  **
1858  ** @param xcb_connection_t    *c
1859  ** @param xcb_xfixes_region_t  region
1860  ** @returns xcb_xfixes_fetch_region_cookie_t
1861  **
1862  *****************************************************************************/
1863 
1864 xcb_xfixes_fetch_region_cookie_t
1865 xcb_xfixes_fetch_region (xcb_connection_t    *c  /**< */,
1866                          xcb_xfixes_region_t  region  /**< */)
1867 {
1868     static const xcb_protocol_request_t xcb_req = {
1869         /* count */ 2,
1870         /* ext */ &xcb_xfixes_id,
1871         /* opcode */ XCB_XFIXES_FETCH_REGION,
1872         /* isvoid */ 0
1873     };
1874 
1875     struct iovec xcb_parts[4];
1876     xcb_xfixes_fetch_region_cookie_t xcb_ret;
1877     xcb_xfixes_fetch_region_request_t xcb_out;
1878 
1879     xcb_out.region = region;
1880 
1881     xcb_parts[2].iov_base = (char *) &xcb_out;
1882     xcb_parts[2].iov_len = sizeof(xcb_out);
1883     xcb_parts[3].iov_base = 0;
1884     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1885 
1886     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1887     return xcb_ret;
1888 }
1889 
1890 
1891 /*****************************************************************************
1892  **
1893  ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region_unchecked
1894  **
1895  ** @param xcb_connection_t    *c
1896  ** @param xcb_xfixes_region_t  region
1897  ** @returns xcb_xfixes_fetch_region_cookie_t
1898  **
1899  *****************************************************************************/
1900 
1901 xcb_xfixes_fetch_region_cookie_t
1902 xcb_xfixes_fetch_region_unchecked (xcb_connection_t    *c  /**< */,
1903                                    xcb_xfixes_region_t  region  /**< */)
1904 {
1905     static const xcb_protocol_request_t xcb_req = {
1906         /* count */ 2,
1907         /* ext */ &xcb_xfixes_id,
1908         /* opcode */ XCB_XFIXES_FETCH_REGION,
1909         /* isvoid */ 0
1910     };
1911 
1912     struct iovec xcb_parts[4];
1913     xcb_xfixes_fetch_region_cookie_t xcb_ret;
1914     xcb_xfixes_fetch_region_request_t xcb_out;
1915 
1916     xcb_out.region = region;
1917 
1918     xcb_parts[2].iov_base = (char *) &xcb_out;
1919     xcb_parts[2].iov_len = sizeof(xcb_out);
1920     xcb_parts[3].iov_base = 0;
1921     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1922 
1923     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1924     return xcb_ret;
1925 }
1926 
1927 
1928 /*****************************************************************************
1929  **
1930  ** xcb_rectangle_t * xcb_xfixes_fetch_region_rectangles
1931  **
1932  ** @param const xcb_xfixes_fetch_region_reply_t *R
1933  ** @returns xcb_rectangle_t *
1934  **
1935  *****************************************************************************/
1936 
1937 xcb_rectangle_t *
1938 xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R  /**< */)
1939 {
1940     return (xcb_rectangle_t *) (R + 1);
1941 }
1942 
1943 
1944 /*****************************************************************************
1945  **
1946  ** int xcb_xfixes_fetch_region_rectangles_length
1947  **
1948  ** @param const xcb_xfixes_fetch_region_reply_t *R
1949  ** @returns int
1950  **
1951  *****************************************************************************/
1952 
1953 int
1954 xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R  /**< */)
1955 {
1956     return (R->length / 2);
1957 }
1958 
1959 
1960 /*****************************************************************************
1961  **
1962  ** xcb_rectangle_iterator_t xcb_xfixes_fetch_region_rectangles_iterator
1963  **
1964  ** @param const xcb_xfixes_fetch_region_reply_t *R
1965  ** @returns xcb_rectangle_iterator_t
1966  **
1967  *****************************************************************************/
1968 
1969 xcb_rectangle_iterator_t
1970 xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R  /**< */)
1971 {
1972     xcb_rectangle_iterator_t i;
1973     i.data = (xcb_rectangle_t *) (R + 1);
1974     i.rem = (R->length / 2);
1975     i.index = (char *) i.data - (char *) R;
1976     return i;
1977 }
1978 
1979 
1980 /*****************************************************************************
1981  **
1982  ** xcb_xfixes_fetch_region_reply_t * xcb_xfixes_fetch_region_reply
1983  **
1984  ** @param xcb_connection_t                  *c
1985  ** @param xcb_xfixes_fetch_region_cookie_t   cookie
1986  ** @param xcb_generic_error_t              **e
1987  ** @returns xcb_xfixes_fetch_region_reply_t *
1988  **
1989  *****************************************************************************/
1990 
1991 xcb_xfixes_fetch_region_reply_t *
1992 xcb_xfixes_fetch_region_reply (xcb_connection_t                  *c  /**< */,
1993                                xcb_xfixes_fetch_region_cookie_t   cookie  /**< */,
1994                                xcb_generic_error_t              **e  /**< */)
1995 {
1996     return (xcb_xfixes_fetch_region_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1997 }
1998 
1999 
2000 /*****************************************************************************
2001  **
2002  ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region_checked
2003  **
2004  ** @param xcb_connection_t    *c
2005  ** @param xcb_gcontext_t       gc
2006  ** @param xcb_xfixes_region_t  region
2007  ** @param int16_t              x_origin
2008  ** @param int16_t              y_origin
2009  ** @returns xcb_void_cookie_t
2010  **
2011  *****************************************************************************/
2012 
2013 xcb_void_cookie_t
2014 xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t    *c  /**< */,
2015                                        xcb_gcontext_t       gc  /**< */,
2016                                        xcb_xfixes_region_t  region  /**< */,
2017                                        int16_t              x_origin  /**< */,
2018                                        int16_t              y_origin  /**< */)
2019 {
2020     static const xcb_protocol_request_t xcb_req = {
2021         /* count */ 2,
2022         /* ext */ &xcb_xfixes_id,
2023         /* opcode */ XCB_XFIXES_SET_GC_CLIP_REGION,
2024         /* isvoid */ 1
2025     };
2026 
2027     struct iovec xcb_parts[4];
2028     xcb_void_cookie_t xcb_ret;
2029     xcb_xfixes_set_gc_clip_region_request_t xcb_out;
2030 
2031     xcb_out.gc = gc;
2032     xcb_out.region = region;
2033     xcb_out.x_origin = x_origin;
2034     xcb_out.y_origin = y_origin;
2035 
2036     xcb_parts[2].iov_base = (char *) &xcb_out;
2037     xcb_parts[2].iov_len = sizeof(xcb_out);
2038     xcb_parts[3].iov_base = 0;
2039     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2040 
2041     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2042     return xcb_ret;
2043 }
2044 
2045 
2046 /*****************************************************************************
2047  **
2048  ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region
2049  **
2050  ** @param xcb_connection_t    *c
2051  ** @param xcb_gcontext_t       gc
2052  ** @param xcb_xfixes_region_t  region
2053  ** @param int16_t              x_origin
2054  ** @param int16_t              y_origin
2055  ** @returns xcb_void_cookie_t
2056  **
2057  *****************************************************************************/
2058 
2059 xcb_void_cookie_t
2060 xcb_xfixes_set_gc_clip_region (xcb_connection_t    *c  /**< */,
2061                                xcb_gcontext_t       gc  /**< */,
2062                                xcb_xfixes_region_t  region  /**< */,
2063                                int16_t              x_origin  /**< */,
2064                                int16_t              y_origin  /**< */)
2065 {
2066     static const xcb_protocol_request_t xcb_req = {
2067         /* count */ 2,
2068         /* ext */ &xcb_xfixes_id,
2069         /* opcode */ XCB_XFIXES_SET_GC_CLIP_REGION,
2070         /* isvoid */ 1
2071     };
2072 
2073     struct iovec xcb_parts[4];
2074     xcb_void_cookie_t xcb_ret;
2075     xcb_xfixes_set_gc_clip_region_request_t xcb_out;
2076 
2077     xcb_out.gc = gc;
2078     xcb_out.region = region;
2079     xcb_out.x_origin = x_origin;
2080     xcb_out.y_origin = y_origin;
2081 
2082     xcb_parts[2].iov_base = (char *) &xcb_out;
2083     xcb_parts[2].iov_len = sizeof(xcb_out);
2084     xcb_parts[3].iov_base = 0;
2085     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2086 
2087     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2088     return xcb_ret;
2089 }
2090 
2091 
2092 /*****************************************************************************
2093  **
2094  ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region_checked
2095  **
2096  ** @param xcb_connection_t    *c
2097  ** @param xcb_window_t         dest
2098  ** @param xcb_shape_kind_t     dest_kind
2099  ** @param int16_t              x_offset
2100  ** @param int16_t              y_offset
2101  ** @param xcb_xfixes_region_t  region
2102  ** @returns xcb_void_cookie_t
2103  **
2104  *****************************************************************************/
2105 
2106 xcb_void_cookie_t
2107 xcb_xfixes_set_window_shape_region_checked (xcb_connection_t    *c  /**< */,
2108                                             xcb_window_t         dest  /**< */,
2109                                             xcb_shape_kind_t     dest_kind  /**< */,
2110                                             int16_t              x_offset  /**< */,
2111                                             int16_t              y_offset  /**< */,
2112                                             xcb_xfixes_region_t  region  /**< */)
2113 {
2114     static const xcb_protocol_request_t xcb_req = {
2115         /* count */ 2,
2116         /* ext */ &xcb_xfixes_id,
2117         /* opcode */ XCB_XFIXES_SET_WINDOW_SHAPE_REGION,
2118         /* isvoid */ 1
2119     };
2120 
2121     struct iovec xcb_parts[4];
2122     xcb_void_cookie_t xcb_ret;
2123     xcb_xfixes_set_window_shape_region_request_t xcb_out;
2124 
2125     xcb_out.dest = dest;
2126     xcb_out.dest_kind = dest_kind;
2127     memset(xcb_out.pad0, 0, 3);
2128     xcb_out.x_offset = x_offset;
2129     xcb_out.y_offset = y_offset;
2130     xcb_out.region = region;
2131 
2132     xcb_parts[2].iov_base = (char *) &xcb_out;
2133     xcb_parts[2].iov_len = sizeof(xcb_out);
2134     xcb_parts[3].iov_base = 0;
2135     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2136 
2137     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2138     return xcb_ret;
2139 }
2140 
2141 
2142 /*****************************************************************************
2143  **
2144  ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region
2145  **
2146  ** @param xcb_connection_t    *c
2147  ** @param xcb_window_t         dest
2148  ** @param xcb_shape_kind_t     dest_kind
2149  ** @param int16_t              x_offset
2150  ** @param int16_t              y_offset
2151  ** @param xcb_xfixes_region_t  region
2152  ** @returns xcb_void_cookie_t
2153  **
2154  *****************************************************************************/
2155 
2156 xcb_void_cookie_t
2157 xcb_xfixes_set_window_shape_region (xcb_connection_t    *c  /**< */,
2158                                     xcb_window_t         dest  /**< */,
2159                                     xcb_shape_kind_t     dest_kind  /**< */,
2160                                     int16_t              x_offset  /**< */,
2161                                     int16_t              y_offset  /**< */,
2162                                     xcb_xfixes_region_t  region  /**< */)
2163 {
2164     static const xcb_protocol_request_t xcb_req = {
2165         /* count */ 2,
2166         /* ext */ &xcb_xfixes_id,
2167         /* opcode */ XCB_XFIXES_SET_WINDOW_SHAPE_REGION,
2168         /* isvoid */ 1
2169     };
2170 
2171     struct iovec xcb_parts[4];
2172     xcb_void_cookie_t xcb_ret;
2173     xcb_xfixes_set_window_shape_region_request_t xcb_out;
2174 
2175     xcb_out.dest = dest;
2176     xcb_out.dest_kind = dest_kind;
2177     memset(xcb_out.pad0, 0, 3);
2178     xcb_out.x_offset = x_offset;
2179     xcb_out.y_offset = y_offset;
2180     xcb_out.region = region;
2181 
2182     xcb_parts[2].iov_base = (char *) &xcb_out;
2183     xcb_parts[2].iov_len = sizeof(xcb_out);
2184     xcb_parts[3].iov_base = 0;
2185     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2186 
2187     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2188     return xcb_ret;
2189 }
2190 
2191 
2192 /*****************************************************************************
2193  **
2194  ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region_checked
2195  **
2196  ** @param xcb_connection_t     *c
2197  ** @param xcb_render_picture_t  picture
2198  ** @param xcb_xfixes_region_t   region
2199  ** @param int16_t               x_origin
2200  ** @param int16_t               y_origin
2201  ** @returns xcb_void_cookie_t
2202  **
2203  *****************************************************************************/
2204 
2205 xcb_void_cookie_t
2206 xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t     *c  /**< */,
2207                                             xcb_render_picture_t  picture  /**< */,
2208                                             xcb_xfixes_region_t   region  /**< */,
2209                                             int16_t               x_origin  /**< */,
2210                                             int16_t               y_origin  /**< */)
2211 {
2212     static const xcb_protocol_request_t xcb_req = {
2213         /* count */ 2,
2214         /* ext */ &xcb_xfixes_id,
2215         /* opcode */ XCB_XFIXES_SET_PICTURE_CLIP_REGION,
2216         /* isvoid */ 1
2217     };
2218 
2219     struct iovec xcb_parts[4];
2220     xcb_void_cookie_t xcb_ret;
2221     xcb_xfixes_set_picture_clip_region_request_t xcb_out;
2222 
2223     xcb_out.picture = picture;
2224     xcb_out.region = region;
2225     xcb_out.x_origin = x_origin;
2226     xcb_out.y_origin = y_origin;
2227 
2228     xcb_parts[2].iov_base = (char *) &xcb_out;
2229     xcb_parts[2].iov_len = sizeof(xcb_out);
2230     xcb_parts[3].iov_base = 0;
2231     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2232 
2233     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2234     return xcb_ret;
2235 }
2236 
2237 
2238 /*****************************************************************************
2239  **
2240  ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region
2241  **
2242  ** @param xcb_connection_t     *c
2243  ** @param xcb_render_picture_t  picture
2244  ** @param xcb_xfixes_region_t   region
2245  ** @param int16_t               x_origin
2246  ** @param int16_t               y_origin
2247  ** @returns xcb_void_cookie_t
2248  **
2249  *****************************************************************************/
2250 
2251 xcb_void_cookie_t
2252 xcb_xfixes_set_picture_clip_region (xcb_connection_t     *c  /**< */,
2253                                     xcb_render_picture_t  picture  /**< */,
2254                                     xcb_xfixes_region_t   region  /**< */,
2255                                     int16_t               x_origin  /**< */,
2256                                     int16_t               y_origin  /**< */)
2257 {
2258     static const xcb_protocol_request_t xcb_req = {
2259         /* count */ 2,
2260         /* ext */ &xcb_xfixes_id,
2261         /* opcode */ XCB_XFIXES_SET_PICTURE_CLIP_REGION,
2262         /* isvoid */ 1
2263     };
2264 
2265     struct iovec xcb_parts[4];
2266     xcb_void_cookie_t xcb_ret;
2267     xcb_xfixes_set_picture_clip_region_request_t xcb_out;
2268 
2269     xcb_out.picture = picture;
2270     xcb_out.region = region;
2271     xcb_out.x_origin = x_origin;
2272     xcb_out.y_origin = y_origin;
2273 
2274     xcb_parts[2].iov_base = (char *) &xcb_out;
2275     xcb_parts[2].iov_len = sizeof(xcb_out);
2276     xcb_parts[3].iov_base = 0;
2277     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2278 
2279     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2280     return xcb_ret;
2281 }
2282 
2283 int
2284 xcb_xfixes_set_cursor_name_sizeof (const void  *_buffer  /**< */)
2285 {
2286     char *xcb_tmp = (char *)_buffer;
2287     const xcb_xfixes_set_cursor_name_request_t *_aux = (xcb_xfixes_set_cursor_name_request_t *)_buffer;
2288     unsigned int xcb_buffer_len = 0;
2289     unsigned int xcb_block_len = 0;
2290     unsigned int xcb_pad = 0;
2291     unsigned int xcb_align_to;
2292 
2293 
2294     xcb_block_len += sizeof(xcb_xfixes_set_cursor_name_request_t);
2295     xcb_tmp += xcb_block_len;
2296     /* name */
2297     xcb_block_len += _aux->nbytes * sizeof(char);
2298     xcb_tmp += xcb_block_len;
2299     xcb_align_to = ALIGNOF(char);
2300     /* insert padding */
2301     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2302     xcb_buffer_len += xcb_block_len + xcb_pad;
2303     if (0 != xcb_pad) {
2304         xcb_tmp += xcb_pad;
2305         xcb_pad = 0;
2306     }
2307     xcb_block_len = 0;
2308 
2309     return xcb_buffer_len;
2310 }
2311 
2312 
2313 /*****************************************************************************
2314  **
2315  ** xcb_void_cookie_t xcb_xfixes_set_cursor_name_checked
2316  **
2317  ** @param xcb_connection_t *c
2318  ** @param xcb_cursor_t      cursor
2319  ** @param uint16_t          nbytes
2320  ** @param const char       *name
2321  ** @returns xcb_void_cookie_t
2322  **
2323  *****************************************************************************/
2324 
2325 xcb_void_cookie_t
2326 xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c  /**< */,
2327                                     xcb_cursor_t      cursor  /**< */,
2328                                     uint16_t          nbytes  /**< */,
2329                                     const char       *name  /**< */)
2330 {
2331     static const xcb_protocol_request_t xcb_req = {
2332         /* count */ 4,
2333         /* ext */ &xcb_xfixes_id,
2334         /* opcode */ XCB_XFIXES_SET_CURSOR_NAME,
2335         /* isvoid */ 1
2336     };
2337 
2338     struct iovec xcb_parts[6];
2339     xcb_void_cookie_t xcb_ret;
2340     xcb_xfixes_set_cursor_name_request_t xcb_out;
2341 
2342     xcb_out.cursor = cursor;
2343     xcb_out.nbytes = nbytes;
2344     memset(xcb_out.pad0, 0, 2);
2345 
2346     xcb_parts[2].iov_base = (char *) &xcb_out;
2347     xcb_parts[2].iov_len = sizeof(xcb_out);
2348     xcb_parts[3].iov_base = 0;
2349     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2350     /* char name */
2351     xcb_parts[4].iov_base = (char *) name;
2352     xcb_parts[4].iov_len = nbytes * sizeof(char);
2353     xcb_parts[5].iov_base = 0;
2354     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2355 
2356     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2357     return xcb_ret;
2358 }
2359 
2360 
2361 /*****************************************************************************
2362  **
2363  ** xcb_void_cookie_t xcb_xfixes_set_cursor_name
2364  **
2365  ** @param xcb_connection_t *c
2366  ** @param xcb_cursor_t      cursor
2367  ** @param uint16_t          nbytes
2368  ** @param const char       *name
2369  ** @returns xcb_void_cookie_t
2370  **
2371  *****************************************************************************/
2372 
2373 xcb_void_cookie_t
2374 xcb_xfixes_set_cursor_name (xcb_connection_t *c  /**< */,
2375                             xcb_cursor_t      cursor  /**< */,
2376                             uint16_t          nbytes  /**< */,
2377                             const char       *name  /**< */)
2378 {
2379     static const xcb_protocol_request_t xcb_req = {
2380         /* count */ 4,
2381         /* ext */ &xcb_xfixes_id,
2382         /* opcode */ XCB_XFIXES_SET_CURSOR_NAME,
2383         /* isvoid */ 1
2384     };
2385 
2386     struct iovec xcb_parts[6];
2387     xcb_void_cookie_t xcb_ret;
2388     xcb_xfixes_set_cursor_name_request_t xcb_out;
2389 
2390     xcb_out.cursor = cursor;
2391     xcb_out.nbytes = nbytes;
2392     memset(xcb_out.pad0, 0, 2);
2393 
2394     xcb_parts[2].iov_base = (char *) &xcb_out;
2395     xcb_parts[2].iov_len = sizeof(xcb_out);
2396     xcb_parts[3].iov_base = 0;
2397     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2398     /* char name */
2399     xcb_parts[4].iov_base = (char *) name;
2400     xcb_parts[4].iov_len = nbytes * sizeof(char);
2401     xcb_parts[5].iov_base = 0;
2402     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2403 
2404     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2405     return xcb_ret;
2406 }
2407 
2408 int
2409 xcb_xfixes_get_cursor_name_sizeof (const void  *_buffer  /**< */)
2410 {
2411     char *xcb_tmp = (char *)_buffer;
2412     const xcb_xfixes_get_cursor_name_reply_t *_aux = (xcb_xfixes_get_cursor_name_reply_t *)_buffer;
2413     unsigned int xcb_buffer_len = 0;
2414     unsigned int xcb_block_len = 0;
2415     unsigned int xcb_pad = 0;
2416     unsigned int xcb_align_to;
2417 
2418 
2419     xcb_block_len += sizeof(xcb_xfixes_get_cursor_name_reply_t);
2420     xcb_tmp += xcb_block_len;
2421     /* name */
2422     xcb_block_len += _aux->nbytes * sizeof(char);
2423     xcb_tmp += xcb_block_len;
2424     xcb_align_to = ALIGNOF(char);
2425     /* insert padding */
2426     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2427     xcb_buffer_len += xcb_block_len + xcb_pad;
2428     if (0 != xcb_pad) {
2429         xcb_tmp += xcb_pad;
2430         xcb_pad = 0;
2431     }
2432     xcb_block_len = 0;
2433 
2434     return xcb_buffer_len;
2435 }
2436 
2437 
2438 /*****************************************************************************
2439  **
2440  ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name
2441  **
2442  ** @param xcb_connection_t *c
2443  ** @param xcb_cursor_t      cursor
2444  ** @returns xcb_xfixes_get_cursor_name_cookie_t
2445  **
2446  *****************************************************************************/
2447 
2448 xcb_xfixes_get_cursor_name_cookie_t
2449 xcb_xfixes_get_cursor_name (xcb_connection_t *c  /**< */,
2450                             xcb_cursor_t      cursor  /**< */)
2451 {
2452     static const xcb_protocol_request_t xcb_req = {
2453         /* count */ 2,
2454         /* ext */ &xcb_xfixes_id,
2455         /* opcode */ XCB_XFIXES_GET_CURSOR_NAME,
2456         /* isvoid */ 0
2457     };
2458 
2459     struct iovec xcb_parts[4];
2460     xcb_xfixes_get_cursor_name_cookie_t xcb_ret;
2461     xcb_xfixes_get_cursor_name_request_t xcb_out;
2462 
2463     xcb_out.cursor = cursor;
2464 
2465     xcb_parts[2].iov_base = (char *) &xcb_out;
2466     xcb_parts[2].iov_len = sizeof(xcb_out);
2467     xcb_parts[3].iov_base = 0;
2468     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2469 
2470     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2471     return xcb_ret;
2472 }
2473 
2474 
2475 /*****************************************************************************
2476  **
2477  ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name_unchecked
2478  **
2479  ** @param xcb_connection_t *c
2480  ** @param xcb_cursor_t      cursor
2481  ** @returns xcb_xfixes_get_cursor_name_cookie_t
2482  **
2483  *****************************************************************************/
2484 
2485 xcb_xfixes_get_cursor_name_cookie_t
2486 xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c  /**< */,
2487                                       xcb_cursor_t      cursor  /**< */)
2488 {
2489     static const xcb_protocol_request_t xcb_req = {
2490         /* count */ 2,
2491         /* ext */ &xcb_xfixes_id,
2492         /* opcode */ XCB_XFIXES_GET_CURSOR_NAME,
2493         /* isvoid */ 0
2494     };
2495 
2496     struct iovec xcb_parts[4];
2497     xcb_xfixes_get_cursor_name_cookie_t xcb_ret;
2498     xcb_xfixes_get_cursor_name_request_t xcb_out;
2499 
2500     xcb_out.cursor = cursor;
2501 
2502     xcb_parts[2].iov_base = (char *) &xcb_out;
2503     xcb_parts[2].iov_len = sizeof(xcb_out);
2504     xcb_parts[3].iov_base = 0;
2505     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2506 
2507     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2508     return xcb_ret;
2509 }
2510 
2511 
2512 /*****************************************************************************
2513  **
2514  ** char * xcb_xfixes_get_cursor_name_name
2515  **
2516  ** @param const xcb_xfixes_get_cursor_name_reply_t *R
2517  ** @returns char *
2518  **
2519  *****************************************************************************/
2520 
2521 char *
2522 xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R  /**< */)
2523 {
2524     return (char *) (R + 1);
2525 }
2526 
2527 
2528 /*****************************************************************************
2529  **
2530  ** int xcb_xfixes_get_cursor_name_name_length
2531  **
2532  ** @param const xcb_xfixes_get_cursor_name_reply_t *R
2533  ** @returns int
2534  **
2535  *****************************************************************************/
2536 
2537 int
2538 xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R  /**< */)
2539 {
2540     return R->nbytes;
2541 }
2542 
2543 
2544 /*****************************************************************************
2545  **
2546  ** xcb_generic_iterator_t xcb_xfixes_get_cursor_name_name_end
2547  **
2548  ** @param const xcb_xfixes_get_cursor_name_reply_t *R
2549  ** @returns xcb_generic_iterator_t
2550  **
2551  *****************************************************************************/
2552 
2553 xcb_generic_iterator_t
2554 xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R  /**< */)
2555 {
2556     xcb_generic_iterator_t i;
2557     i.data = ((char *) (R + 1)) + (R->nbytes);
2558     i.rem = 0;
2559     i.index = (char *) i.data - (char *) R;
2560     return i;
2561 }
2562 
2563 
2564 /*****************************************************************************
2565  **
2566  ** xcb_xfixes_get_cursor_name_reply_t * xcb_xfixes_get_cursor_name_reply
2567  **
2568  ** @param xcb_connection_t                     *c
2569  ** @param xcb_xfixes_get_cursor_name_cookie_t   cookie
2570  ** @param xcb_generic_error_t                 **e
2571  ** @returns xcb_xfixes_get_cursor_name_reply_t *
2572  **
2573  *****************************************************************************/
2574 
2575 xcb_xfixes_get_cursor_name_reply_t *
2576 xcb_xfixes_get_cursor_name_reply (xcb_connection_t                     *c  /**< */,
2577                                   xcb_xfixes_get_cursor_name_cookie_t   cookie  /**< */,
2578                                   xcb_generic_error_t                 **e  /**< */)
2579 {
2580     return (xcb_xfixes_get_cursor_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2581 }
2582 
2583 int
2584 xcb_xfixes_get_cursor_image_and_name_sizeof (const void  *_buffer  /**< */)
2585 {
2586     char *xcb_tmp = (char *)_buffer;
2587     const xcb_xfixes_get_cursor_image_and_name_reply_t *_aux = (xcb_xfixes_get_cursor_image_and_name_reply_t *)_buffer;
2588     unsigned int xcb_buffer_len = 0;
2589     unsigned int xcb_block_len = 0;
2590     unsigned int xcb_pad = 0;
2591     unsigned int xcb_align_to;
2592 
2593 
2594     xcb_block_len += sizeof(xcb_xfixes_get_cursor_image_and_name_reply_t);
2595     xcb_tmp += xcb_block_len;
2596     /* name */
2597     xcb_block_len += _aux->nbytes * sizeof(char);
2598     xcb_tmp += xcb_block_len;
2599     xcb_align_to = ALIGNOF(char);
2600     /* insert padding */
2601     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2602     xcb_buffer_len += xcb_block_len + xcb_pad;
2603     if (0 != xcb_pad) {
2604         xcb_tmp += xcb_pad;
2605         xcb_pad = 0;
2606     }
2607     xcb_block_len = 0;
2608     /* cursor_image */
2609     xcb_block_len += (_aux->width * _aux->height) * sizeof(uint32_t);
2610     xcb_tmp += xcb_block_len;
2611     xcb_align_to = ALIGNOF(uint32_t);
2612     /* insert padding */
2613     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2614     xcb_buffer_len += xcb_block_len + xcb_pad;
2615     if (0 != xcb_pad) {
2616         xcb_tmp += xcb_pad;
2617         xcb_pad = 0;
2618     }
2619     xcb_block_len = 0;
2620 
2621     return xcb_buffer_len;
2622 }
2623 
2624 
2625 /*****************************************************************************
2626  **
2627  ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name
2628  **
2629  ** @param xcb_connection_t *c
2630  ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t
2631  **
2632  *****************************************************************************/
2633 
2634 xcb_xfixes_get_cursor_image_and_name_cookie_t
2635 xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c  /**< */)
2636 {
2637     static const xcb_protocol_request_t xcb_req = {
2638         /* count */ 2,
2639         /* ext */ &xcb_xfixes_id,
2640         /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME,
2641         /* isvoid */ 0
2642     };
2643 
2644     struct iovec xcb_parts[4];
2645     xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_ret;
2646     xcb_xfixes_get_cursor_image_and_name_request_t xcb_out;
2647 
2648 
2649     xcb_parts[2].iov_base = (char *) &xcb_out;
2650     xcb_parts[2].iov_len = sizeof(xcb_out);
2651     xcb_parts[3].iov_base = 0;
2652     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2653 
2654     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2655     return xcb_ret;
2656 }
2657 
2658 
2659 /*****************************************************************************
2660  **
2661  ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name_unchecked
2662  **
2663  ** @param xcb_connection_t *c
2664  ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t
2665  **
2666  *****************************************************************************/
2667 
2668 xcb_xfixes_get_cursor_image_and_name_cookie_t
2669 xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c  /**< */)
2670 {
2671     static const xcb_protocol_request_t xcb_req = {
2672         /* count */ 2,
2673         /* ext */ &xcb_xfixes_id,
2674         /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME,
2675         /* isvoid */ 0
2676     };
2677 
2678     struct iovec xcb_parts[4];
2679     xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_ret;
2680     xcb_xfixes_get_cursor_image_and_name_request_t xcb_out;
2681 
2682 
2683     xcb_parts[2].iov_base = (char *) &xcb_out;
2684     xcb_parts[2].iov_len = sizeof(xcb_out);
2685     xcb_parts[3].iov_base = 0;
2686     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2687 
2688     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2689     return xcb_ret;
2690 }
2691 
2692 
2693 /*****************************************************************************
2694  **
2695  ** char * xcb_xfixes_get_cursor_image_and_name_name
2696  **
2697  ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
2698  ** @returns char *
2699  **
2700  *****************************************************************************/
2701 
2702 char *
2703 xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R  /**< */)
2704 {
2705     return (char *) (R + 1);
2706 }
2707 
2708 
2709 /*****************************************************************************
2710  **
2711  ** int xcb_xfixes_get_cursor_image_and_name_name_length
2712  **
2713  ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
2714  ** @returns int
2715  **
2716  *****************************************************************************/
2717 
2718 int
2719 xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R  /**< */)
2720 {
2721     return R->nbytes;
2722 }
2723 
2724 
2725 /*****************************************************************************
2726  **
2727  ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_name_end
2728  **
2729  ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
2730  ** @returns xcb_generic_iterator_t
2731  **
2732  *****************************************************************************/
2733 
2734 xcb_generic_iterator_t
2735 xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R  /**< */)
2736 {
2737     xcb_generic_iterator_t i;
2738     i.data = ((char *) (R + 1)) + (R->nbytes);
2739     i.rem = 0;
2740     i.index = (char *) i.data - (char *) R;
2741     return i;
2742 }
2743 
2744 
2745 /*****************************************************************************
2746  **
2747  ** uint32_t * xcb_xfixes_get_cursor_image_and_name_cursor_image
2748  **
2749  ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
2750  ** @returns uint32_t *
2751  **
2752  *****************************************************************************/
2753 
2754 uint32_t *
2755 xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R  /**< */)
2756 {
2757     xcb_generic_iterator_t prev = xcb_xfixes_get_cursor_image_and_name_name_end(R);
2758     return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
2759 }
2760 
2761 
2762 /*****************************************************************************
2763  **
2764  ** int xcb_xfixes_get_cursor_image_and_name_cursor_image_length
2765  **
2766  ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
2767  ** @returns int
2768  **
2769  *****************************************************************************/
2770 
2771 int
2772 xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R  /**< */)
2773 {
2774     return (R->width * R->height);
2775 }
2776 
2777 
2778 /*****************************************************************************
2779  **
2780  ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_cursor_image_end
2781  **
2782  ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R
2783  ** @returns xcb_generic_iterator_t
2784  **
2785  *****************************************************************************/
2786 
2787 xcb_generic_iterator_t
2788 xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R  /**< */)
2789 {
2790     xcb_generic_iterator_t i;
2791     xcb_generic_iterator_t child = xcb_xfixes_get_cursor_image_and_name_name_end(R);
2792     i.data = ((uint32_t *) child.data) + ((R->width * R->height));
2793     i.rem = 0;
2794     i.index = (char *) i.data - (char *) R;
2795     return i;
2796 }
2797 
2798 
2799 /*****************************************************************************
2800  **
2801  ** xcb_xfixes_get_cursor_image_and_name_reply_t * xcb_xfixes_get_cursor_image_and_name_reply
2802  **
2803  ** @param xcb_connection_t                               *c
2804  ** @param xcb_xfixes_get_cursor_image_and_name_cookie_t   cookie
2805  ** @param xcb_generic_error_t                           **e
2806  ** @returns xcb_xfixes_get_cursor_image_and_name_reply_t *
2807  **
2808  *****************************************************************************/
2809 
2810 xcb_xfixes_get_cursor_image_and_name_reply_t *
2811 xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t                               *c  /**< */,
2812                                             xcb_xfixes_get_cursor_image_and_name_cookie_t   cookie  /**< */,
2813                                             xcb_generic_error_t                           **e  /**< */)
2814 {
2815     return (xcb_xfixes_get_cursor_image_and_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2816 }
2817 
2818 
2819 /*****************************************************************************
2820  **
2821  ** xcb_void_cookie_t xcb_xfixes_change_cursor_checked
2822  **
2823  ** @param xcb_connection_t *c
2824  ** @param xcb_cursor_t      source
2825  ** @param xcb_cursor_t      destination
2826  ** @returns xcb_void_cookie_t
2827  **
2828  *****************************************************************************/
2829 
2830 xcb_void_cookie_t
2831 xcb_xfixes_change_cursor_checked (xcb_connection_t *c  /**< */,
2832                                   xcb_cursor_t      source  /**< */,
2833                                   xcb_cursor_t      destination  /**< */)
2834 {
2835     static const xcb_protocol_request_t xcb_req = {
2836         /* count */ 2,
2837         /* ext */ &xcb_xfixes_id,
2838         /* opcode */ XCB_XFIXES_CHANGE_CURSOR,
2839         /* isvoid */ 1
2840     };
2841 
2842     struct iovec xcb_parts[4];
2843     xcb_void_cookie_t xcb_ret;
2844     xcb_xfixes_change_cursor_request_t xcb_out;
2845 
2846     xcb_out.source = source;
2847     xcb_out.destination = destination;
2848 
2849     xcb_parts[2].iov_base = (char *) &xcb_out;
2850     xcb_parts[2].iov_len = sizeof(xcb_out);
2851     xcb_parts[3].iov_base = 0;
2852     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2853 
2854     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2855     return xcb_ret;
2856 }
2857 
2858 
2859 /*****************************************************************************
2860  **
2861  ** xcb_void_cookie_t xcb_xfixes_change_cursor
2862  **
2863  ** @param xcb_connection_t *c
2864  ** @param xcb_cursor_t      source
2865  ** @param xcb_cursor_t      destination
2866  ** @returns xcb_void_cookie_t
2867  **
2868  *****************************************************************************/
2869 
2870 xcb_void_cookie_t
2871 xcb_xfixes_change_cursor (xcb_connection_t *c  /**< */,
2872                           xcb_cursor_t      source  /**< */,
2873                           xcb_cursor_t      destination  /**< */)
2874 {
2875     static const xcb_protocol_request_t xcb_req = {
2876         /* count */ 2,
2877         /* ext */ &xcb_xfixes_id,
2878         /* opcode */ XCB_XFIXES_CHANGE_CURSOR,
2879         /* isvoid */ 1
2880     };
2881 
2882     struct iovec xcb_parts[4];
2883     xcb_void_cookie_t xcb_ret;
2884     xcb_xfixes_change_cursor_request_t xcb_out;
2885 
2886     xcb_out.source = source;
2887     xcb_out.destination = destination;
2888 
2889     xcb_parts[2].iov_base = (char *) &xcb_out;
2890     xcb_parts[2].iov_len = sizeof(xcb_out);
2891     xcb_parts[3].iov_base = 0;
2892     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2893 
2894     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2895     return xcb_ret;
2896 }
2897 
2898 int
2899 xcb_xfixes_change_cursor_by_name_sizeof (const void  *_buffer  /**< */)
2900 {
2901     char *xcb_tmp = (char *)_buffer;
2902     const xcb_xfixes_change_cursor_by_name_request_t *_aux = (xcb_xfixes_change_cursor_by_name_request_t *)_buffer;
2903     unsigned int xcb_buffer_len = 0;
2904     unsigned int xcb_block_len = 0;
2905     unsigned int xcb_pad = 0;
2906     unsigned int xcb_align_to;
2907 
2908 
2909     xcb_block_len += sizeof(xcb_xfixes_change_cursor_by_name_request_t);
2910     xcb_tmp += xcb_block_len;
2911     /* name */
2912     xcb_block_len += _aux->nbytes * sizeof(char);
2913     xcb_tmp += xcb_block_len;
2914     xcb_align_to = ALIGNOF(char);
2915     /* insert padding */
2916     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2917     xcb_buffer_len += xcb_block_len + xcb_pad;
2918     if (0 != xcb_pad) {
2919         xcb_tmp += xcb_pad;
2920         xcb_pad = 0;
2921     }
2922     xcb_block_len = 0;
2923 
2924     return xcb_buffer_len;
2925 }
2926 
2927 
2928 /*****************************************************************************
2929  **
2930  ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name_checked
2931  **
2932  ** @param xcb_connection_t *c
2933  ** @param xcb_cursor_t      src
2934  ** @param uint16_t          nbytes
2935  ** @param const char       *name
2936  ** @returns xcb_void_cookie_t
2937  **
2938  *****************************************************************************/
2939 
2940 xcb_void_cookie_t
2941 xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c  /**< */,
2942                                           xcb_cursor_t      src  /**< */,
2943                                           uint16_t          nbytes  /**< */,
2944                                           const char       *name  /**< */)
2945 {
2946     static const xcb_protocol_request_t xcb_req = {
2947         /* count */ 4,
2948         /* ext */ &xcb_xfixes_id,
2949         /* opcode */ XCB_XFIXES_CHANGE_CURSOR_BY_NAME,
2950         /* isvoid */ 1
2951     };
2952 
2953     struct iovec xcb_parts[6];
2954     xcb_void_cookie_t xcb_ret;
2955     xcb_xfixes_change_cursor_by_name_request_t xcb_out;
2956 
2957     xcb_out.src = src;
2958     xcb_out.nbytes = nbytes;
2959     memset(xcb_out.pad0, 0, 2);
2960 
2961     xcb_parts[2].iov_base = (char *) &xcb_out;
2962     xcb_parts[2].iov_len = sizeof(xcb_out);
2963     xcb_parts[3].iov_base = 0;
2964     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2965     /* char name */
2966     xcb_parts[4].iov_base = (char *) name;
2967     xcb_parts[4].iov_len = nbytes * sizeof(char);
2968     xcb_parts[5].iov_base = 0;
2969     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2970 
2971     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2972     return xcb_ret;
2973 }
2974 
2975 
2976 /*****************************************************************************
2977  **
2978  ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name
2979  **
2980  ** @param xcb_connection_t *c
2981  ** @param xcb_cursor_t      src
2982  ** @param uint16_t          nbytes
2983  ** @param const char       *name
2984  ** @returns xcb_void_cookie_t
2985  **
2986  *****************************************************************************/
2987 
2988 xcb_void_cookie_t
2989 xcb_xfixes_change_cursor_by_name (xcb_connection_t *c  /**< */,
2990                                   xcb_cursor_t      src  /**< */,
2991                                   uint16_t          nbytes  /**< */,
2992                                   const char       *name  /**< */)
2993 {
2994     static const xcb_protocol_request_t xcb_req = {
2995         /* count */ 4,
2996         /* ext */ &xcb_xfixes_id,
2997         /* opcode */ XCB_XFIXES_CHANGE_CURSOR_BY_NAME,
2998         /* isvoid */ 1
2999     };
3000 
3001     struct iovec xcb_parts[6];
3002     xcb_void_cookie_t xcb_ret;
3003     xcb_xfixes_change_cursor_by_name_request_t xcb_out;
3004 
3005     xcb_out.src = src;
3006     xcb_out.nbytes = nbytes;
3007     memset(xcb_out.pad0, 0, 2);
3008 
3009     xcb_parts[2].iov_base = (char *) &xcb_out;
3010     xcb_parts[2].iov_len = sizeof(xcb_out);
3011     xcb_parts[3].iov_base = 0;
3012     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3013     /* char name */
3014     xcb_parts[4].iov_base = (char *) name;
3015     xcb_parts[4].iov_len = nbytes * sizeof(char);
3016     xcb_parts[5].iov_base = 0;
3017     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
3018 
3019     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3020     return xcb_ret;
3021 }
3022 
3023 
3024 /*****************************************************************************
3025  **
3026  ** xcb_void_cookie_t xcb_xfixes_expand_region_checked
3027  **
3028  ** @param xcb_connection_t    *c
3029  ** @param xcb_xfixes_region_t  source
3030  ** @param xcb_xfixes_region_t  destination
3031  ** @param uint16_t             left
3032  ** @param uint16_t             right
3033  ** @param uint16_t             top
3034  ** @param uint16_t             bottom
3035  ** @returns xcb_void_cookie_t
3036  **
3037  *****************************************************************************/
3038 
3039 xcb_void_cookie_t
3040 xcb_xfixes_expand_region_checked (xcb_connection_t    *c  /**< */,
3041                                   xcb_xfixes_region_t  source  /**< */,
3042                                   xcb_xfixes_region_t  destination  /**< */,
3043                                   uint16_t             left  /**< */,
3044                                   uint16_t             right  /**< */,
3045                                   uint16_t             top  /**< */,
3046                                   uint16_t             bottom  /**< */)
3047 {
3048     static const xcb_protocol_request_t xcb_req = {
3049         /* count */ 2,
3050         /* ext */ &xcb_xfixes_id,
3051         /* opcode */ XCB_XFIXES_EXPAND_REGION,
3052         /* isvoid */ 1
3053     };
3054 
3055     struct iovec xcb_parts[4];
3056     xcb_void_cookie_t xcb_ret;
3057     xcb_xfixes_expand_region_request_t xcb_out;
3058 
3059     xcb_out.source = source;
3060     xcb_out.destination = destination;
3061     xcb_out.left = left;
3062     xcb_out.right = right;
3063     xcb_out.top = top;
3064     xcb_out.bottom = bottom;
3065 
3066     xcb_parts[2].iov_base = (char *) &xcb_out;
3067     xcb_parts[2].iov_len = sizeof(xcb_out);
3068     xcb_parts[3].iov_base = 0;
3069     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3070 
3071     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3072     return xcb_ret;
3073 }
3074 
3075 
3076 /*****************************************************************************
3077  **
3078  ** xcb_void_cookie_t xcb_xfixes_expand_region
3079  **
3080  ** @param xcb_connection_t    *c
3081  ** @param xcb_xfixes_region_t  source
3082  ** @param xcb_xfixes_region_t  destination
3083  ** @param uint16_t             left
3084  ** @param uint16_t             right
3085  ** @param uint16_t             top
3086  ** @param uint16_t             bottom
3087  ** @returns xcb_void_cookie_t
3088  **
3089  *****************************************************************************/
3090 
3091 xcb_void_cookie_t
3092 xcb_xfixes_expand_region (xcb_connection_t    *c  /**< */,
3093                           xcb_xfixes_region_t  source  /**< */,
3094                           xcb_xfixes_region_t  destination  /**< */,
3095                           uint16_t             left  /**< */,
3096                           uint16_t             right  /**< */,
3097                           uint16_t             top  /**< */,
3098                           uint16_t             bottom  /**< */)
3099 {
3100     static const xcb_protocol_request_t xcb_req = {
3101         /* count */ 2,
3102         /* ext */ &xcb_xfixes_id,
3103         /* opcode */ XCB_XFIXES_EXPAND_REGION,
3104         /* isvoid */ 1
3105     };
3106 
3107     struct iovec xcb_parts[4];
3108     xcb_void_cookie_t xcb_ret;
3109     xcb_xfixes_expand_region_request_t xcb_out;
3110 
3111     xcb_out.source = source;
3112     xcb_out.destination = destination;
3113     xcb_out.left = left;
3114     xcb_out.right = right;
3115     xcb_out.top = top;
3116     xcb_out.bottom = bottom;
3117 
3118     xcb_parts[2].iov_base = (char *) &xcb_out;
3119     xcb_parts[2].iov_len = sizeof(xcb_out);
3120     xcb_parts[3].iov_base = 0;
3121     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3122 
3123     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3124     return xcb_ret;
3125 }
3126 
3127 
3128 /*****************************************************************************
3129  **
3130  ** xcb_void_cookie_t xcb_xfixes_hide_cursor_checked
3131  **
3132  ** @param xcb_connection_t *c
3133  ** @param xcb_window_t      window
3134  ** @returns xcb_void_cookie_t
3135  **
3136  *****************************************************************************/
3137 
3138 xcb_void_cookie_t
3139 xcb_xfixes_hide_cursor_checked (xcb_connection_t *c  /**< */,
3140                                 xcb_window_t      window  /**< */)
3141 {
3142     static const xcb_protocol_request_t xcb_req = {
3143         /* count */ 2,
3144         /* ext */ &xcb_xfixes_id,
3145         /* opcode */ XCB_XFIXES_HIDE_CURSOR,
3146         /* isvoid */ 1
3147     };
3148 
3149     struct iovec xcb_parts[4];
3150     xcb_void_cookie_t xcb_ret;
3151     xcb_xfixes_hide_cursor_request_t xcb_out;
3152 
3153     xcb_out.window = window;
3154 
3155     xcb_parts[2].iov_base = (char *) &xcb_out;
3156     xcb_parts[2].iov_len = sizeof(xcb_out);
3157     xcb_parts[3].iov_base = 0;
3158     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3159 
3160     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3161     return xcb_ret;
3162 }
3163 
3164 
3165 /*****************************************************************************
3166  **
3167  ** xcb_void_cookie_t xcb_xfixes_hide_cursor
3168  **
3169  ** @param xcb_connection_t *c
3170  ** @param xcb_window_t      window
3171  ** @returns xcb_void_cookie_t
3172  **
3173  *****************************************************************************/
3174 
3175 xcb_void_cookie_t
3176 xcb_xfixes_hide_cursor (xcb_connection_t *c  /**< */,
3177                         xcb_window_t      window  /**< */)
3178 {
3179     static const xcb_protocol_request_t xcb_req = {
3180         /* count */ 2,
3181         /* ext */ &xcb_xfixes_id,
3182         /* opcode */ XCB_XFIXES_HIDE_CURSOR,
3183         /* isvoid */ 1
3184     };
3185 
3186     struct iovec xcb_parts[4];
3187     xcb_void_cookie_t xcb_ret;
3188     xcb_xfixes_hide_cursor_request_t xcb_out;
3189 
3190     xcb_out.window = window;
3191 
3192     xcb_parts[2].iov_base = (char *) &xcb_out;
3193     xcb_parts[2].iov_len = sizeof(xcb_out);
3194     xcb_parts[3].iov_base = 0;
3195     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3196 
3197     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3198     return xcb_ret;
3199 }
3200 
3201 
3202 /*****************************************************************************
3203  **
3204  ** xcb_void_cookie_t xcb_xfixes_show_cursor_checked
3205  **
3206  ** @param xcb_connection_t *c
3207  ** @param xcb_window_t      window
3208  ** @returns xcb_void_cookie_t
3209  **
3210  *****************************************************************************/
3211 
3212 xcb_void_cookie_t
3213 xcb_xfixes_show_cursor_checked (xcb_connection_t *c  /**< */,
3214                                 xcb_window_t      window  /**< */)
3215 {
3216     static const xcb_protocol_request_t xcb_req = {
3217         /* count */ 2,
3218         /* ext */ &xcb_xfixes_id,
3219         /* opcode */ XCB_XFIXES_SHOW_CURSOR,
3220         /* isvoid */ 1
3221     };
3222 
3223     struct iovec xcb_parts[4];
3224     xcb_void_cookie_t xcb_ret;
3225     xcb_xfixes_show_cursor_request_t xcb_out;
3226 
3227     xcb_out.window = window;
3228 
3229     xcb_parts[2].iov_base = (char *) &xcb_out;
3230     xcb_parts[2].iov_len = sizeof(xcb_out);
3231     xcb_parts[3].iov_base = 0;
3232     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3233 
3234     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3235     return xcb_ret;
3236 }
3237 
3238 
3239 /*****************************************************************************
3240  **
3241  ** xcb_void_cookie_t xcb_xfixes_show_cursor
3242  **
3243  ** @param xcb_connection_t *c
3244  ** @param xcb_window_t      window
3245  ** @returns xcb_void_cookie_t
3246  **
3247  *****************************************************************************/
3248 
3249 xcb_void_cookie_t
3250 xcb_xfixes_show_cursor (xcb_connection_t *c  /**< */,
3251                         xcb_window_t      window  /**< */)
3252 {
3253     static const xcb_protocol_request_t xcb_req = {
3254         /* count */ 2,
3255         /* ext */ &xcb_xfixes_id,
3256         /* opcode */ XCB_XFIXES_SHOW_CURSOR,
3257         /* isvoid */ 1
3258     };
3259 
3260     struct iovec xcb_parts[4];
3261     xcb_void_cookie_t xcb_ret;
3262     xcb_xfixes_show_cursor_request_t xcb_out;
3263 
3264     xcb_out.window = window;
3265 
3266     xcb_parts[2].iov_base = (char *) &xcb_out;
3267     xcb_parts[2].iov_len = sizeof(xcb_out);
3268     xcb_parts[3].iov_base = 0;
3269     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3270 
3271     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3272     return xcb_ret;
3273 }
3274 
3275