xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/composite.c (revision c2f76ff004a2cb67efe5b12d97bd3ef7fe89e18d)
1 /*
2  * This file generated automatically from composite.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 #include <string.h>
7 #include <assert.h>
8 #include "xcbext.h"
9 #include "composite.h"
10 #include "xproto.h"
11 #include "render.h"
12 #include "shape.h"
13 #include "xfixes.h"
14 
15 xcb_extension_t xcb_composite_id = { "Composite", 0 };
16 
17 
18 /*****************************************************************************
19  **
20  ** xcb_composite_query_version_cookie_t xcb_composite_query_version
21  **
22  ** @param xcb_connection_t *c
23  ** @param uint32_t          client_major_version
24  ** @param uint32_t          client_minor_version
25  ** @returns xcb_composite_query_version_cookie_t
26  **
27  *****************************************************************************/
28 
29 xcb_composite_query_version_cookie_t
30 xcb_composite_query_version (xcb_connection_t *c  /**< */,
31                              uint32_t          client_major_version  /**< */,
32                              uint32_t          client_minor_version  /**< */)
33 {
34     static const xcb_protocol_request_t xcb_req = {
35         /* count */ 2,
36         /* ext */ &xcb_composite_id,
37         /* opcode */ XCB_COMPOSITE_QUERY_VERSION,
38         /* isvoid */ 0
39     };
40 
41     struct iovec xcb_parts[4];
42     xcb_composite_query_version_cookie_t xcb_ret;
43     xcb_composite_query_version_request_t xcb_out;
44 
45     xcb_out.client_major_version = client_major_version;
46     xcb_out.client_minor_version = client_minor_version;
47 
48     xcb_parts[2].iov_base = (char *) &xcb_out;
49     xcb_parts[2].iov_len = sizeof(xcb_out);
50     xcb_parts[3].iov_base = 0;
51     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
52     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
53     return xcb_ret;
54 }
55 
56 
57 /*****************************************************************************
58  **
59  ** xcb_composite_query_version_cookie_t xcb_composite_query_version_unchecked
60  **
61  ** @param xcb_connection_t *c
62  ** @param uint32_t          client_major_version
63  ** @param uint32_t          client_minor_version
64  ** @returns xcb_composite_query_version_cookie_t
65  **
66  *****************************************************************************/
67 
68 xcb_composite_query_version_cookie_t
69 xcb_composite_query_version_unchecked (xcb_connection_t *c  /**< */,
70                                        uint32_t          client_major_version  /**< */,
71                                        uint32_t          client_minor_version  /**< */)
72 {
73     static const xcb_protocol_request_t xcb_req = {
74         /* count */ 2,
75         /* ext */ &xcb_composite_id,
76         /* opcode */ XCB_COMPOSITE_QUERY_VERSION,
77         /* isvoid */ 0
78     };
79 
80     struct iovec xcb_parts[4];
81     xcb_composite_query_version_cookie_t xcb_ret;
82     xcb_composite_query_version_request_t xcb_out;
83 
84     xcb_out.client_major_version = client_major_version;
85     xcb_out.client_minor_version = client_minor_version;
86 
87     xcb_parts[2].iov_base = (char *) &xcb_out;
88     xcb_parts[2].iov_len = sizeof(xcb_out);
89     xcb_parts[3].iov_base = 0;
90     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
91     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
92     return xcb_ret;
93 }
94 
95 
96 /*****************************************************************************
97  **
98  ** xcb_composite_query_version_reply_t * xcb_composite_query_version_reply
99  **
100  ** @param xcb_connection_t                      *c
101  ** @param xcb_composite_query_version_cookie_t   cookie
102  ** @param xcb_generic_error_t                  **e
103  ** @returns xcb_composite_query_version_reply_t *
104  **
105  *****************************************************************************/
106 
107 xcb_composite_query_version_reply_t *
108 xcb_composite_query_version_reply (xcb_connection_t                      *c  /**< */,
109                                    xcb_composite_query_version_cookie_t   cookie  /**< */,
110                                    xcb_generic_error_t                  **e  /**< */)
111 {
112     return (xcb_composite_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
113 }
114 
115 
116 /*****************************************************************************
117  **
118  ** xcb_void_cookie_t xcb_composite_redirect_window_checked
119  **
120  ** @param xcb_connection_t *c
121  ** @param xcb_window_t      window
122  ** @param uint8_t           update
123  ** @returns xcb_void_cookie_t
124  **
125  *****************************************************************************/
126 
127 xcb_void_cookie_t
128 xcb_composite_redirect_window_checked (xcb_connection_t *c  /**< */,
129                                        xcb_window_t      window  /**< */,
130                                        uint8_t           update  /**< */)
131 {
132     static const xcb_protocol_request_t xcb_req = {
133         /* count */ 2,
134         /* ext */ &xcb_composite_id,
135         /* opcode */ XCB_COMPOSITE_REDIRECT_WINDOW,
136         /* isvoid */ 1
137     };
138 
139     struct iovec xcb_parts[4];
140     xcb_void_cookie_t xcb_ret;
141     xcb_composite_redirect_window_request_t xcb_out;
142 
143     xcb_out.window = window;
144     xcb_out.update = update;
145     memset(xcb_out.pad0, 0, 3);
146 
147     xcb_parts[2].iov_base = (char *) &xcb_out;
148     xcb_parts[2].iov_len = sizeof(xcb_out);
149     xcb_parts[3].iov_base = 0;
150     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
151     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
152     return xcb_ret;
153 }
154 
155 
156 /*****************************************************************************
157  **
158  ** xcb_void_cookie_t xcb_composite_redirect_window
159  **
160  ** @param xcb_connection_t *c
161  ** @param xcb_window_t      window
162  ** @param uint8_t           update
163  ** @returns xcb_void_cookie_t
164  **
165  *****************************************************************************/
166 
167 xcb_void_cookie_t
168 xcb_composite_redirect_window (xcb_connection_t *c  /**< */,
169                                xcb_window_t      window  /**< */,
170                                uint8_t           update  /**< */)
171 {
172     static const xcb_protocol_request_t xcb_req = {
173         /* count */ 2,
174         /* ext */ &xcb_composite_id,
175         /* opcode */ XCB_COMPOSITE_REDIRECT_WINDOW,
176         /* isvoid */ 1
177     };
178 
179     struct iovec xcb_parts[4];
180     xcb_void_cookie_t xcb_ret;
181     xcb_composite_redirect_window_request_t xcb_out;
182 
183     xcb_out.window = window;
184     xcb_out.update = update;
185     memset(xcb_out.pad0, 0, 3);
186 
187     xcb_parts[2].iov_base = (char *) &xcb_out;
188     xcb_parts[2].iov_len = sizeof(xcb_out);
189     xcb_parts[3].iov_base = 0;
190     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
191     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
192     return xcb_ret;
193 }
194 
195 
196 /*****************************************************************************
197  **
198  ** xcb_void_cookie_t xcb_composite_redirect_subwindows_checked
199  **
200  ** @param xcb_connection_t *c
201  ** @param xcb_window_t      window
202  ** @param uint8_t           update
203  ** @returns xcb_void_cookie_t
204  **
205  *****************************************************************************/
206 
207 xcb_void_cookie_t
208 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c  /**< */,
209                                            xcb_window_t      window  /**< */,
210                                            uint8_t           update  /**< */)
211 {
212     static const xcb_protocol_request_t xcb_req = {
213         /* count */ 2,
214         /* ext */ &xcb_composite_id,
215         /* opcode */ XCB_COMPOSITE_REDIRECT_SUBWINDOWS,
216         /* isvoid */ 1
217     };
218 
219     struct iovec xcb_parts[4];
220     xcb_void_cookie_t xcb_ret;
221     xcb_composite_redirect_subwindows_request_t xcb_out;
222 
223     xcb_out.window = window;
224     xcb_out.update = update;
225     memset(xcb_out.pad0, 0, 3);
226 
227     xcb_parts[2].iov_base = (char *) &xcb_out;
228     xcb_parts[2].iov_len = sizeof(xcb_out);
229     xcb_parts[3].iov_base = 0;
230     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
231     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
232     return xcb_ret;
233 }
234 
235 
236 /*****************************************************************************
237  **
238  ** xcb_void_cookie_t xcb_composite_redirect_subwindows
239  **
240  ** @param xcb_connection_t *c
241  ** @param xcb_window_t      window
242  ** @param uint8_t           update
243  ** @returns xcb_void_cookie_t
244  **
245  *****************************************************************************/
246 
247 xcb_void_cookie_t
248 xcb_composite_redirect_subwindows (xcb_connection_t *c  /**< */,
249                                    xcb_window_t      window  /**< */,
250                                    uint8_t           update  /**< */)
251 {
252     static const xcb_protocol_request_t xcb_req = {
253         /* count */ 2,
254         /* ext */ &xcb_composite_id,
255         /* opcode */ XCB_COMPOSITE_REDIRECT_SUBWINDOWS,
256         /* isvoid */ 1
257     };
258 
259     struct iovec xcb_parts[4];
260     xcb_void_cookie_t xcb_ret;
261     xcb_composite_redirect_subwindows_request_t xcb_out;
262 
263     xcb_out.window = window;
264     xcb_out.update = update;
265     memset(xcb_out.pad0, 0, 3);
266 
267     xcb_parts[2].iov_base = (char *) &xcb_out;
268     xcb_parts[2].iov_len = sizeof(xcb_out);
269     xcb_parts[3].iov_base = 0;
270     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
271     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
272     return xcb_ret;
273 }
274 
275 
276 /*****************************************************************************
277  **
278  ** xcb_void_cookie_t xcb_composite_unredirect_window_checked
279  **
280  ** @param xcb_connection_t *c
281  ** @param xcb_window_t      window
282  ** @param uint8_t           update
283  ** @returns xcb_void_cookie_t
284  **
285  *****************************************************************************/
286 
287 xcb_void_cookie_t
288 xcb_composite_unredirect_window_checked (xcb_connection_t *c  /**< */,
289                                          xcb_window_t      window  /**< */,
290                                          uint8_t           update  /**< */)
291 {
292     static const xcb_protocol_request_t xcb_req = {
293         /* count */ 2,
294         /* ext */ &xcb_composite_id,
295         /* opcode */ XCB_COMPOSITE_UNREDIRECT_WINDOW,
296         /* isvoid */ 1
297     };
298 
299     struct iovec xcb_parts[4];
300     xcb_void_cookie_t xcb_ret;
301     xcb_composite_unredirect_window_request_t xcb_out;
302 
303     xcb_out.window = window;
304     xcb_out.update = update;
305     memset(xcb_out.pad0, 0, 3);
306 
307     xcb_parts[2].iov_base = (char *) &xcb_out;
308     xcb_parts[2].iov_len = sizeof(xcb_out);
309     xcb_parts[3].iov_base = 0;
310     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
311     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
312     return xcb_ret;
313 }
314 
315 
316 /*****************************************************************************
317  **
318  ** xcb_void_cookie_t xcb_composite_unredirect_window
319  **
320  ** @param xcb_connection_t *c
321  ** @param xcb_window_t      window
322  ** @param uint8_t           update
323  ** @returns xcb_void_cookie_t
324  **
325  *****************************************************************************/
326 
327 xcb_void_cookie_t
328 xcb_composite_unredirect_window (xcb_connection_t *c  /**< */,
329                                  xcb_window_t      window  /**< */,
330                                  uint8_t           update  /**< */)
331 {
332     static const xcb_protocol_request_t xcb_req = {
333         /* count */ 2,
334         /* ext */ &xcb_composite_id,
335         /* opcode */ XCB_COMPOSITE_UNREDIRECT_WINDOW,
336         /* isvoid */ 1
337     };
338 
339     struct iovec xcb_parts[4];
340     xcb_void_cookie_t xcb_ret;
341     xcb_composite_unredirect_window_request_t xcb_out;
342 
343     xcb_out.window = window;
344     xcb_out.update = update;
345     memset(xcb_out.pad0, 0, 3);
346 
347     xcb_parts[2].iov_base = (char *) &xcb_out;
348     xcb_parts[2].iov_len = sizeof(xcb_out);
349     xcb_parts[3].iov_base = 0;
350     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
351     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
352     return xcb_ret;
353 }
354 
355 
356 /*****************************************************************************
357  **
358  ** xcb_void_cookie_t xcb_composite_unredirect_subwindows_checked
359  **
360  ** @param xcb_connection_t *c
361  ** @param xcb_window_t      window
362  ** @param uint8_t           update
363  ** @returns xcb_void_cookie_t
364  **
365  *****************************************************************************/
366 
367 xcb_void_cookie_t
368 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c  /**< */,
369                                              xcb_window_t      window  /**< */,
370                                              uint8_t           update  /**< */)
371 {
372     static const xcb_protocol_request_t xcb_req = {
373         /* count */ 2,
374         /* ext */ &xcb_composite_id,
375         /* opcode */ XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS,
376         /* isvoid */ 1
377     };
378 
379     struct iovec xcb_parts[4];
380     xcb_void_cookie_t xcb_ret;
381     xcb_composite_unredirect_subwindows_request_t xcb_out;
382 
383     xcb_out.window = window;
384     xcb_out.update = update;
385     memset(xcb_out.pad0, 0, 3);
386 
387     xcb_parts[2].iov_base = (char *) &xcb_out;
388     xcb_parts[2].iov_len = sizeof(xcb_out);
389     xcb_parts[3].iov_base = 0;
390     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
391     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
392     return xcb_ret;
393 }
394 
395 
396 /*****************************************************************************
397  **
398  ** xcb_void_cookie_t xcb_composite_unredirect_subwindows
399  **
400  ** @param xcb_connection_t *c
401  ** @param xcb_window_t      window
402  ** @param uint8_t           update
403  ** @returns xcb_void_cookie_t
404  **
405  *****************************************************************************/
406 
407 xcb_void_cookie_t
408 xcb_composite_unredirect_subwindows (xcb_connection_t *c  /**< */,
409                                      xcb_window_t      window  /**< */,
410                                      uint8_t           update  /**< */)
411 {
412     static const xcb_protocol_request_t xcb_req = {
413         /* count */ 2,
414         /* ext */ &xcb_composite_id,
415         /* opcode */ XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS,
416         /* isvoid */ 1
417     };
418 
419     struct iovec xcb_parts[4];
420     xcb_void_cookie_t xcb_ret;
421     xcb_composite_unredirect_subwindows_request_t xcb_out;
422 
423     xcb_out.window = window;
424     xcb_out.update = update;
425     memset(xcb_out.pad0, 0, 3);
426 
427     xcb_parts[2].iov_base = (char *) &xcb_out;
428     xcb_parts[2].iov_len = sizeof(xcb_out);
429     xcb_parts[3].iov_base = 0;
430     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
431     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
432     return xcb_ret;
433 }
434 
435 
436 /*****************************************************************************
437  **
438  ** xcb_void_cookie_t xcb_composite_create_region_from_border_clip_checked
439  **
440  ** @param xcb_connection_t    *c
441  ** @param xcb_xfixes_region_t  region
442  ** @param xcb_window_t         window
443  ** @returns xcb_void_cookie_t
444  **
445  *****************************************************************************/
446 
447 xcb_void_cookie_t
448 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t    *c  /**< */,
449                                                       xcb_xfixes_region_t  region  /**< */,
450                                                       xcb_window_t         window  /**< */)
451 {
452     static const xcb_protocol_request_t xcb_req = {
453         /* count */ 2,
454         /* ext */ &xcb_composite_id,
455         /* opcode */ XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP,
456         /* isvoid */ 1
457     };
458 
459     struct iovec xcb_parts[4];
460     xcb_void_cookie_t xcb_ret;
461     xcb_composite_create_region_from_border_clip_request_t xcb_out;
462 
463     xcb_out.region = region;
464     xcb_out.window = window;
465 
466     xcb_parts[2].iov_base = (char *) &xcb_out;
467     xcb_parts[2].iov_len = sizeof(xcb_out);
468     xcb_parts[3].iov_base = 0;
469     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
470     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
471     return xcb_ret;
472 }
473 
474 
475 /*****************************************************************************
476  **
477  ** xcb_void_cookie_t xcb_composite_create_region_from_border_clip
478  **
479  ** @param xcb_connection_t    *c
480  ** @param xcb_xfixes_region_t  region
481  ** @param xcb_window_t         window
482  ** @returns xcb_void_cookie_t
483  **
484  *****************************************************************************/
485 
486 xcb_void_cookie_t
487 xcb_composite_create_region_from_border_clip (xcb_connection_t    *c  /**< */,
488                                               xcb_xfixes_region_t  region  /**< */,
489                                               xcb_window_t         window  /**< */)
490 {
491     static const xcb_protocol_request_t xcb_req = {
492         /* count */ 2,
493         /* ext */ &xcb_composite_id,
494         /* opcode */ XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP,
495         /* isvoid */ 1
496     };
497 
498     struct iovec xcb_parts[4];
499     xcb_void_cookie_t xcb_ret;
500     xcb_composite_create_region_from_border_clip_request_t xcb_out;
501 
502     xcb_out.region = region;
503     xcb_out.window = window;
504 
505     xcb_parts[2].iov_base = (char *) &xcb_out;
506     xcb_parts[2].iov_len = sizeof(xcb_out);
507     xcb_parts[3].iov_base = 0;
508     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
509     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
510     return xcb_ret;
511 }
512 
513 
514 /*****************************************************************************
515  **
516  ** xcb_void_cookie_t xcb_composite_name_window_pixmap_checked
517  **
518  ** @param xcb_connection_t *c
519  ** @param xcb_window_t      window
520  ** @param xcb_pixmap_t      pixmap
521  ** @returns xcb_void_cookie_t
522  **
523  *****************************************************************************/
524 
525 xcb_void_cookie_t
526 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c  /**< */,
527                                           xcb_window_t      window  /**< */,
528                                           xcb_pixmap_t      pixmap  /**< */)
529 {
530     static const xcb_protocol_request_t xcb_req = {
531         /* count */ 2,
532         /* ext */ &xcb_composite_id,
533         /* opcode */ XCB_COMPOSITE_NAME_WINDOW_PIXMAP,
534         /* isvoid */ 1
535     };
536 
537     struct iovec xcb_parts[4];
538     xcb_void_cookie_t xcb_ret;
539     xcb_composite_name_window_pixmap_request_t xcb_out;
540 
541     xcb_out.window = window;
542     xcb_out.pixmap = pixmap;
543 
544     xcb_parts[2].iov_base = (char *) &xcb_out;
545     xcb_parts[2].iov_len = sizeof(xcb_out);
546     xcb_parts[3].iov_base = 0;
547     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
548     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
549     return xcb_ret;
550 }
551 
552 
553 /*****************************************************************************
554  **
555  ** xcb_void_cookie_t xcb_composite_name_window_pixmap
556  **
557  ** @param xcb_connection_t *c
558  ** @param xcb_window_t      window
559  ** @param xcb_pixmap_t      pixmap
560  ** @returns xcb_void_cookie_t
561  **
562  *****************************************************************************/
563 
564 xcb_void_cookie_t
565 xcb_composite_name_window_pixmap (xcb_connection_t *c  /**< */,
566                                   xcb_window_t      window  /**< */,
567                                   xcb_pixmap_t      pixmap  /**< */)
568 {
569     static const xcb_protocol_request_t xcb_req = {
570         /* count */ 2,
571         /* ext */ &xcb_composite_id,
572         /* opcode */ XCB_COMPOSITE_NAME_WINDOW_PIXMAP,
573         /* isvoid */ 1
574     };
575 
576     struct iovec xcb_parts[4];
577     xcb_void_cookie_t xcb_ret;
578     xcb_composite_name_window_pixmap_request_t xcb_out;
579 
580     xcb_out.window = window;
581     xcb_out.pixmap = pixmap;
582 
583     xcb_parts[2].iov_base = (char *) &xcb_out;
584     xcb_parts[2].iov_len = sizeof(xcb_out);
585     xcb_parts[3].iov_base = 0;
586     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
587     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
588     return xcb_ret;
589 }
590 
591 
592 /*****************************************************************************
593  **
594  ** xcb_composite_get_overlay_window_cookie_t xcb_composite_get_overlay_window
595  **
596  ** @param xcb_connection_t *c
597  ** @param xcb_window_t      window
598  ** @returns xcb_composite_get_overlay_window_cookie_t
599  **
600  *****************************************************************************/
601 
602 xcb_composite_get_overlay_window_cookie_t
603 xcb_composite_get_overlay_window (xcb_connection_t *c  /**< */,
604                                   xcb_window_t      window  /**< */)
605 {
606     static const xcb_protocol_request_t xcb_req = {
607         /* count */ 2,
608         /* ext */ &xcb_composite_id,
609         /* opcode */ XCB_COMPOSITE_GET_OVERLAY_WINDOW,
610         /* isvoid */ 0
611     };
612 
613     struct iovec xcb_parts[4];
614     xcb_composite_get_overlay_window_cookie_t xcb_ret;
615     xcb_composite_get_overlay_window_request_t xcb_out;
616 
617     xcb_out.window = window;
618 
619     xcb_parts[2].iov_base = (char *) &xcb_out;
620     xcb_parts[2].iov_len = sizeof(xcb_out);
621     xcb_parts[3].iov_base = 0;
622     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
623     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
624     return xcb_ret;
625 }
626 
627 
628 /*****************************************************************************
629  **
630  ** xcb_composite_get_overlay_window_cookie_t xcb_composite_get_overlay_window_unchecked
631  **
632  ** @param xcb_connection_t *c
633  ** @param xcb_window_t      window
634  ** @returns xcb_composite_get_overlay_window_cookie_t
635  **
636  *****************************************************************************/
637 
638 xcb_composite_get_overlay_window_cookie_t
639 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c  /**< */,
640                                             xcb_window_t      window  /**< */)
641 {
642     static const xcb_protocol_request_t xcb_req = {
643         /* count */ 2,
644         /* ext */ &xcb_composite_id,
645         /* opcode */ XCB_COMPOSITE_GET_OVERLAY_WINDOW,
646         /* isvoid */ 0
647     };
648 
649     struct iovec xcb_parts[4];
650     xcb_composite_get_overlay_window_cookie_t xcb_ret;
651     xcb_composite_get_overlay_window_request_t xcb_out;
652 
653     xcb_out.window = window;
654 
655     xcb_parts[2].iov_base = (char *) &xcb_out;
656     xcb_parts[2].iov_len = sizeof(xcb_out);
657     xcb_parts[3].iov_base = 0;
658     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
659     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
660     return xcb_ret;
661 }
662 
663 
664 /*****************************************************************************
665  **
666  ** xcb_composite_get_overlay_window_reply_t * xcb_composite_get_overlay_window_reply
667  **
668  ** @param xcb_connection_t                           *c
669  ** @param xcb_composite_get_overlay_window_cookie_t   cookie
670  ** @param xcb_generic_error_t                       **e
671  ** @returns xcb_composite_get_overlay_window_reply_t *
672  **
673  *****************************************************************************/
674 
675 xcb_composite_get_overlay_window_reply_t *
676 xcb_composite_get_overlay_window_reply (xcb_connection_t                           *c  /**< */,
677                                         xcb_composite_get_overlay_window_cookie_t   cookie  /**< */,
678                                         xcb_generic_error_t                       **e  /**< */)
679 {
680     return (xcb_composite_get_overlay_window_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
681 }
682 
683 
684 /*****************************************************************************
685  **
686  ** xcb_void_cookie_t xcb_composite_release_overlay_window_checked
687  **
688  ** @param xcb_connection_t *c
689  ** @param xcb_window_t      window
690  ** @returns xcb_void_cookie_t
691  **
692  *****************************************************************************/
693 
694 xcb_void_cookie_t
695 xcb_composite_release_overlay_window_checked (xcb_connection_t *c  /**< */,
696                                               xcb_window_t      window  /**< */)
697 {
698     static const xcb_protocol_request_t xcb_req = {
699         /* count */ 2,
700         /* ext */ &xcb_composite_id,
701         /* opcode */ XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW,
702         /* isvoid */ 1
703     };
704 
705     struct iovec xcb_parts[4];
706     xcb_void_cookie_t xcb_ret;
707     xcb_composite_release_overlay_window_request_t xcb_out;
708 
709     xcb_out.window = window;
710 
711     xcb_parts[2].iov_base = (char *) &xcb_out;
712     xcb_parts[2].iov_len = sizeof(xcb_out);
713     xcb_parts[3].iov_base = 0;
714     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
715     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
716     return xcb_ret;
717 }
718 
719 
720 /*****************************************************************************
721  **
722  ** xcb_void_cookie_t xcb_composite_release_overlay_window
723  **
724  ** @param xcb_connection_t *c
725  ** @param xcb_window_t      window
726  ** @returns xcb_void_cookie_t
727  **
728  *****************************************************************************/
729 
730 xcb_void_cookie_t
731 xcb_composite_release_overlay_window (xcb_connection_t *c  /**< */,
732                                       xcb_window_t      window  /**< */)
733 {
734     static const xcb_protocol_request_t xcb_req = {
735         /* count */ 2,
736         /* ext */ &xcb_composite_id,
737         /* opcode */ XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW,
738         /* isvoid */ 1
739     };
740 
741     struct iovec xcb_parts[4];
742     xcb_void_cookie_t xcb_ret;
743     xcb_composite_release_overlay_window_request_t xcb_out;
744 
745     xcb_out.window = window;
746 
747     xcb_parts[2].iov_base = (char *) &xcb_out;
748     xcb_parts[2].iov_len = sizeof(xcb_out);
749     xcb_parts[3].iov_base = 0;
750     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
751     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
752     return xcb_ret;
753 }
754 
755