10d429e5bSmrg /*
20d429e5bSmrg * This file generated automatically from composite.xml by c_client.py.
30d429e5bSmrg * Edit at your peril.
40d429e5bSmrg */
50d429e5bSmrg
6ed2038faSmrg #ifdef HAVE_CONFIG_H
7ed2038faSmrg #include "config.h"
8ed2038faSmrg #endif
9ed2038faSmrg #include <stdlib.h>
100d429e5bSmrg #include <string.h>
110d429e5bSmrg #include <assert.h>
12ed2038faSmrg #include <stddef.h> /* for offsetof() */
130d429e5bSmrg #include "xcbext.h"
140d429e5bSmrg #include "composite.h"
15ed2038faSmrg
16ed2038faSmrg #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
170d429e5bSmrg #include "xproto.h"
180d429e5bSmrg #include "xfixes.h"
190d429e5bSmrg
200d429e5bSmrg xcb_extension_t xcb_composite_id = { "Composite", 0 };
210d429e5bSmrg
220d429e5bSmrg xcb_composite_query_version_cookie_t
xcb_composite_query_version(xcb_connection_t * c,uint32_t client_major_version,uint32_t client_minor_version)23*ba6321feSmrg xcb_composite_query_version (xcb_connection_t *c,
24*ba6321feSmrg uint32_t client_major_version,
25*ba6321feSmrg uint32_t client_minor_version)
260d429e5bSmrg {
270d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
28*ba6321feSmrg .count = 2,
29*ba6321feSmrg .ext = &xcb_composite_id,
30*ba6321feSmrg .opcode = XCB_COMPOSITE_QUERY_VERSION,
31*ba6321feSmrg .isvoid = 0
320d429e5bSmrg };
330d429e5bSmrg
340d429e5bSmrg struct iovec xcb_parts[4];
350d429e5bSmrg xcb_composite_query_version_cookie_t xcb_ret;
360d429e5bSmrg xcb_composite_query_version_request_t xcb_out;
370d429e5bSmrg
380d429e5bSmrg xcb_out.client_major_version = client_major_version;
390d429e5bSmrg xcb_out.client_minor_version = client_minor_version;
400d429e5bSmrg
410d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
420d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
430d429e5bSmrg xcb_parts[3].iov_base = 0;
440d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
45ed2038faSmrg
460d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
470d429e5bSmrg return xcb_ret;
480d429e5bSmrg }
490d429e5bSmrg
500d429e5bSmrg xcb_composite_query_version_cookie_t
xcb_composite_query_version_unchecked(xcb_connection_t * c,uint32_t client_major_version,uint32_t client_minor_version)51*ba6321feSmrg xcb_composite_query_version_unchecked (xcb_connection_t *c,
52*ba6321feSmrg uint32_t client_major_version,
53*ba6321feSmrg uint32_t client_minor_version)
540d429e5bSmrg {
550d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
56*ba6321feSmrg .count = 2,
57*ba6321feSmrg .ext = &xcb_composite_id,
58*ba6321feSmrg .opcode = XCB_COMPOSITE_QUERY_VERSION,
59*ba6321feSmrg .isvoid = 0
600d429e5bSmrg };
610d429e5bSmrg
620d429e5bSmrg struct iovec xcb_parts[4];
630d429e5bSmrg xcb_composite_query_version_cookie_t xcb_ret;
640d429e5bSmrg xcb_composite_query_version_request_t xcb_out;
650d429e5bSmrg
660d429e5bSmrg xcb_out.client_major_version = client_major_version;
670d429e5bSmrg xcb_out.client_minor_version = client_minor_version;
680d429e5bSmrg
690d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
700d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
710d429e5bSmrg xcb_parts[3].iov_base = 0;
720d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
73ed2038faSmrg
740d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
750d429e5bSmrg return xcb_ret;
760d429e5bSmrg }
770d429e5bSmrg
780d429e5bSmrg xcb_composite_query_version_reply_t *
xcb_composite_query_version_reply(xcb_connection_t * c,xcb_composite_query_version_cookie_t cookie,xcb_generic_error_t ** e)79*ba6321feSmrg xcb_composite_query_version_reply (xcb_connection_t *c,
800d429e5bSmrg xcb_composite_query_version_cookie_t cookie /**< */,
81*ba6321feSmrg xcb_generic_error_t **e)
820d429e5bSmrg {
830d429e5bSmrg return (xcb_composite_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
840d429e5bSmrg }
850d429e5bSmrg
860d429e5bSmrg xcb_void_cookie_t
xcb_composite_redirect_window_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)87*ba6321feSmrg xcb_composite_redirect_window_checked (xcb_connection_t *c,
88*ba6321feSmrg xcb_window_t window,
89*ba6321feSmrg uint8_t update)
900d429e5bSmrg {
910d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
92*ba6321feSmrg .count = 2,
93*ba6321feSmrg .ext = &xcb_composite_id,
94*ba6321feSmrg .opcode = XCB_COMPOSITE_REDIRECT_WINDOW,
95*ba6321feSmrg .isvoid = 1
960d429e5bSmrg };
970d429e5bSmrg
980d429e5bSmrg struct iovec xcb_parts[4];
990d429e5bSmrg xcb_void_cookie_t xcb_ret;
1000d429e5bSmrg xcb_composite_redirect_window_request_t xcb_out;
1010d429e5bSmrg
1020d429e5bSmrg xcb_out.window = window;
1030d429e5bSmrg xcb_out.update = update;
1040d429e5bSmrg memset(xcb_out.pad0, 0, 3);
1050d429e5bSmrg
1060d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
1070d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
1080d429e5bSmrg xcb_parts[3].iov_base = 0;
1090d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
110ed2038faSmrg
1110d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1120d429e5bSmrg return xcb_ret;
1130d429e5bSmrg }
1140d429e5bSmrg
1150d429e5bSmrg xcb_void_cookie_t
xcb_composite_redirect_window(xcb_connection_t * c,xcb_window_t window,uint8_t update)116*ba6321feSmrg xcb_composite_redirect_window (xcb_connection_t *c,
117*ba6321feSmrg xcb_window_t window,
118*ba6321feSmrg uint8_t update)
1190d429e5bSmrg {
1200d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
121*ba6321feSmrg .count = 2,
122*ba6321feSmrg .ext = &xcb_composite_id,
123*ba6321feSmrg .opcode = XCB_COMPOSITE_REDIRECT_WINDOW,
124*ba6321feSmrg .isvoid = 1
1250d429e5bSmrg };
1260d429e5bSmrg
1270d429e5bSmrg struct iovec xcb_parts[4];
1280d429e5bSmrg xcb_void_cookie_t xcb_ret;
1290d429e5bSmrg xcb_composite_redirect_window_request_t xcb_out;
1300d429e5bSmrg
1310d429e5bSmrg xcb_out.window = window;
1320d429e5bSmrg xcb_out.update = update;
1330d429e5bSmrg memset(xcb_out.pad0, 0, 3);
1340d429e5bSmrg
1350d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
1360d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
1370d429e5bSmrg xcb_parts[3].iov_base = 0;
1380d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
139ed2038faSmrg
1400d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1410d429e5bSmrg return xcb_ret;
1420d429e5bSmrg }
1430d429e5bSmrg
1440d429e5bSmrg xcb_void_cookie_t
xcb_composite_redirect_subwindows_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)145*ba6321feSmrg xcb_composite_redirect_subwindows_checked (xcb_connection_t *c,
146*ba6321feSmrg xcb_window_t window,
147*ba6321feSmrg uint8_t update)
1480d429e5bSmrg {
1490d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
150*ba6321feSmrg .count = 2,
151*ba6321feSmrg .ext = &xcb_composite_id,
152*ba6321feSmrg .opcode = XCB_COMPOSITE_REDIRECT_SUBWINDOWS,
153*ba6321feSmrg .isvoid = 1
1540d429e5bSmrg };
1550d429e5bSmrg
1560d429e5bSmrg struct iovec xcb_parts[4];
1570d429e5bSmrg xcb_void_cookie_t xcb_ret;
1580d429e5bSmrg xcb_composite_redirect_subwindows_request_t xcb_out;
1590d429e5bSmrg
1600d429e5bSmrg xcb_out.window = window;
1610d429e5bSmrg xcb_out.update = update;
1620d429e5bSmrg memset(xcb_out.pad0, 0, 3);
1630d429e5bSmrg
1640d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
1650d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
1660d429e5bSmrg xcb_parts[3].iov_base = 0;
1670d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
168ed2038faSmrg
1690d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1700d429e5bSmrg return xcb_ret;
1710d429e5bSmrg }
1720d429e5bSmrg
1730d429e5bSmrg xcb_void_cookie_t
xcb_composite_redirect_subwindows(xcb_connection_t * c,xcb_window_t window,uint8_t update)174*ba6321feSmrg xcb_composite_redirect_subwindows (xcb_connection_t *c,
175*ba6321feSmrg xcb_window_t window,
176*ba6321feSmrg uint8_t update)
1770d429e5bSmrg {
1780d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
179*ba6321feSmrg .count = 2,
180*ba6321feSmrg .ext = &xcb_composite_id,
181*ba6321feSmrg .opcode = XCB_COMPOSITE_REDIRECT_SUBWINDOWS,
182*ba6321feSmrg .isvoid = 1
1830d429e5bSmrg };
1840d429e5bSmrg
1850d429e5bSmrg struct iovec xcb_parts[4];
1860d429e5bSmrg xcb_void_cookie_t xcb_ret;
1870d429e5bSmrg xcb_composite_redirect_subwindows_request_t xcb_out;
1880d429e5bSmrg
1890d429e5bSmrg xcb_out.window = window;
1900d429e5bSmrg xcb_out.update = update;
1910d429e5bSmrg memset(xcb_out.pad0, 0, 3);
1920d429e5bSmrg
1930d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
1940d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
1950d429e5bSmrg xcb_parts[3].iov_base = 0;
1960d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
197ed2038faSmrg
1980d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1990d429e5bSmrg return xcb_ret;
2000d429e5bSmrg }
2010d429e5bSmrg
2020d429e5bSmrg xcb_void_cookie_t
xcb_composite_unredirect_window_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)203*ba6321feSmrg xcb_composite_unredirect_window_checked (xcb_connection_t *c,
204*ba6321feSmrg xcb_window_t window,
205*ba6321feSmrg uint8_t update)
2060d429e5bSmrg {
2070d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
208*ba6321feSmrg .count = 2,
209*ba6321feSmrg .ext = &xcb_composite_id,
210*ba6321feSmrg .opcode = XCB_COMPOSITE_UNREDIRECT_WINDOW,
211*ba6321feSmrg .isvoid = 1
2120d429e5bSmrg };
2130d429e5bSmrg
2140d429e5bSmrg struct iovec xcb_parts[4];
2150d429e5bSmrg xcb_void_cookie_t xcb_ret;
2160d429e5bSmrg xcb_composite_unredirect_window_request_t xcb_out;
2170d429e5bSmrg
2180d429e5bSmrg xcb_out.window = window;
2190d429e5bSmrg xcb_out.update = update;
2200d429e5bSmrg memset(xcb_out.pad0, 0, 3);
2210d429e5bSmrg
2220d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
2230d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
2240d429e5bSmrg xcb_parts[3].iov_base = 0;
2250d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
226ed2038faSmrg
2270d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2280d429e5bSmrg return xcb_ret;
2290d429e5bSmrg }
2300d429e5bSmrg
2310d429e5bSmrg xcb_void_cookie_t
xcb_composite_unredirect_window(xcb_connection_t * c,xcb_window_t window,uint8_t update)232*ba6321feSmrg xcb_composite_unredirect_window (xcb_connection_t *c,
233*ba6321feSmrg xcb_window_t window,
234*ba6321feSmrg uint8_t update)
2350d429e5bSmrg {
2360d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
237*ba6321feSmrg .count = 2,
238*ba6321feSmrg .ext = &xcb_composite_id,
239*ba6321feSmrg .opcode = XCB_COMPOSITE_UNREDIRECT_WINDOW,
240*ba6321feSmrg .isvoid = 1
2410d429e5bSmrg };
2420d429e5bSmrg
2430d429e5bSmrg struct iovec xcb_parts[4];
2440d429e5bSmrg xcb_void_cookie_t xcb_ret;
2450d429e5bSmrg xcb_composite_unredirect_window_request_t xcb_out;
2460d429e5bSmrg
2470d429e5bSmrg xcb_out.window = window;
2480d429e5bSmrg xcb_out.update = update;
2490d429e5bSmrg memset(xcb_out.pad0, 0, 3);
2500d429e5bSmrg
2510d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
2520d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
2530d429e5bSmrg xcb_parts[3].iov_base = 0;
2540d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
255ed2038faSmrg
2560d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2570d429e5bSmrg return xcb_ret;
2580d429e5bSmrg }
2590d429e5bSmrg
2600d429e5bSmrg xcb_void_cookie_t
xcb_composite_unredirect_subwindows_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)261*ba6321feSmrg xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c,
262*ba6321feSmrg xcb_window_t window,
263*ba6321feSmrg uint8_t update)
2640d429e5bSmrg {
2650d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
266*ba6321feSmrg .count = 2,
267*ba6321feSmrg .ext = &xcb_composite_id,
268*ba6321feSmrg .opcode = XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS,
269*ba6321feSmrg .isvoid = 1
2700d429e5bSmrg };
2710d429e5bSmrg
2720d429e5bSmrg struct iovec xcb_parts[4];
2730d429e5bSmrg xcb_void_cookie_t xcb_ret;
2740d429e5bSmrg xcb_composite_unredirect_subwindows_request_t xcb_out;
2750d429e5bSmrg
2760d429e5bSmrg xcb_out.window = window;
2770d429e5bSmrg xcb_out.update = update;
2780d429e5bSmrg memset(xcb_out.pad0, 0, 3);
2790d429e5bSmrg
2800d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
2810d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
2820d429e5bSmrg xcb_parts[3].iov_base = 0;
2830d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
284ed2038faSmrg
2850d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2860d429e5bSmrg return xcb_ret;
2870d429e5bSmrg }
2880d429e5bSmrg
2890d429e5bSmrg xcb_void_cookie_t
xcb_composite_unredirect_subwindows(xcb_connection_t * c,xcb_window_t window,uint8_t update)290*ba6321feSmrg xcb_composite_unredirect_subwindows (xcb_connection_t *c,
291*ba6321feSmrg xcb_window_t window,
292*ba6321feSmrg uint8_t update)
2930d429e5bSmrg {
2940d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
295*ba6321feSmrg .count = 2,
296*ba6321feSmrg .ext = &xcb_composite_id,
297*ba6321feSmrg .opcode = XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS,
298*ba6321feSmrg .isvoid = 1
2990d429e5bSmrg };
3000d429e5bSmrg
3010d429e5bSmrg struct iovec xcb_parts[4];
3020d429e5bSmrg xcb_void_cookie_t xcb_ret;
3030d429e5bSmrg xcb_composite_unredirect_subwindows_request_t xcb_out;
3040d429e5bSmrg
3050d429e5bSmrg xcb_out.window = window;
3060d429e5bSmrg xcb_out.update = update;
3070d429e5bSmrg memset(xcb_out.pad0, 0, 3);
3080d429e5bSmrg
3090d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
3100d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
3110d429e5bSmrg xcb_parts[3].iov_base = 0;
3120d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
313ed2038faSmrg
3140d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3150d429e5bSmrg return xcb_ret;
3160d429e5bSmrg }
3170d429e5bSmrg
3180d429e5bSmrg xcb_void_cookie_t
xcb_composite_create_region_from_border_clip_checked(xcb_connection_t * c,xcb_xfixes_region_t region,xcb_window_t window)319*ba6321feSmrg xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c,
320*ba6321feSmrg xcb_xfixes_region_t region,
321*ba6321feSmrg xcb_window_t window)
3220d429e5bSmrg {
3230d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
324*ba6321feSmrg .count = 2,
325*ba6321feSmrg .ext = &xcb_composite_id,
326*ba6321feSmrg .opcode = XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP,
327*ba6321feSmrg .isvoid = 1
3280d429e5bSmrg };
3290d429e5bSmrg
3300d429e5bSmrg struct iovec xcb_parts[4];
3310d429e5bSmrg xcb_void_cookie_t xcb_ret;
3320d429e5bSmrg xcb_composite_create_region_from_border_clip_request_t xcb_out;
3330d429e5bSmrg
3340d429e5bSmrg xcb_out.region = region;
3350d429e5bSmrg xcb_out.window = window;
3360d429e5bSmrg
3370d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
3380d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
3390d429e5bSmrg xcb_parts[3].iov_base = 0;
3400d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
341ed2038faSmrg
3420d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3430d429e5bSmrg return xcb_ret;
3440d429e5bSmrg }
3450d429e5bSmrg
3460d429e5bSmrg xcb_void_cookie_t
xcb_composite_create_region_from_border_clip(xcb_connection_t * c,xcb_xfixes_region_t region,xcb_window_t window)347*ba6321feSmrg xcb_composite_create_region_from_border_clip (xcb_connection_t *c,
348*ba6321feSmrg xcb_xfixes_region_t region,
349*ba6321feSmrg xcb_window_t window)
3500d429e5bSmrg {
3510d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
352*ba6321feSmrg .count = 2,
353*ba6321feSmrg .ext = &xcb_composite_id,
354*ba6321feSmrg .opcode = XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP,
355*ba6321feSmrg .isvoid = 1
3560d429e5bSmrg };
3570d429e5bSmrg
3580d429e5bSmrg struct iovec xcb_parts[4];
3590d429e5bSmrg xcb_void_cookie_t xcb_ret;
3600d429e5bSmrg xcb_composite_create_region_from_border_clip_request_t xcb_out;
3610d429e5bSmrg
3620d429e5bSmrg xcb_out.region = region;
3630d429e5bSmrg xcb_out.window = window;
3640d429e5bSmrg
3650d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
3660d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
3670d429e5bSmrg xcb_parts[3].iov_base = 0;
3680d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
369ed2038faSmrg
3700d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3710d429e5bSmrg return xcb_ret;
3720d429e5bSmrg }
3730d429e5bSmrg
3740d429e5bSmrg xcb_void_cookie_t
xcb_composite_name_window_pixmap_checked(xcb_connection_t * c,xcb_window_t window,xcb_pixmap_t pixmap)375*ba6321feSmrg xcb_composite_name_window_pixmap_checked (xcb_connection_t *c,
376*ba6321feSmrg xcb_window_t window,
377*ba6321feSmrg xcb_pixmap_t pixmap)
3780d429e5bSmrg {
3790d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
380*ba6321feSmrg .count = 2,
381*ba6321feSmrg .ext = &xcb_composite_id,
382*ba6321feSmrg .opcode = XCB_COMPOSITE_NAME_WINDOW_PIXMAP,
383*ba6321feSmrg .isvoid = 1
3840d429e5bSmrg };
3850d429e5bSmrg
3860d429e5bSmrg struct iovec xcb_parts[4];
3870d429e5bSmrg xcb_void_cookie_t xcb_ret;
3880d429e5bSmrg xcb_composite_name_window_pixmap_request_t xcb_out;
3890d429e5bSmrg
3900d429e5bSmrg xcb_out.window = window;
3910d429e5bSmrg xcb_out.pixmap = pixmap;
3920d429e5bSmrg
3930d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
3940d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
3950d429e5bSmrg xcb_parts[3].iov_base = 0;
3960d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
397ed2038faSmrg
3980d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3990d429e5bSmrg return xcb_ret;
4000d429e5bSmrg }
4010d429e5bSmrg
4020d429e5bSmrg xcb_void_cookie_t
xcb_composite_name_window_pixmap(xcb_connection_t * c,xcb_window_t window,xcb_pixmap_t pixmap)403*ba6321feSmrg xcb_composite_name_window_pixmap (xcb_connection_t *c,
404*ba6321feSmrg xcb_window_t window,
405*ba6321feSmrg xcb_pixmap_t pixmap)
4060d429e5bSmrg {
4070d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
408*ba6321feSmrg .count = 2,
409*ba6321feSmrg .ext = &xcb_composite_id,
410*ba6321feSmrg .opcode = XCB_COMPOSITE_NAME_WINDOW_PIXMAP,
411*ba6321feSmrg .isvoid = 1
4120d429e5bSmrg };
4130d429e5bSmrg
4140d429e5bSmrg struct iovec xcb_parts[4];
4150d429e5bSmrg xcb_void_cookie_t xcb_ret;
4160d429e5bSmrg xcb_composite_name_window_pixmap_request_t xcb_out;
4170d429e5bSmrg
4180d429e5bSmrg xcb_out.window = window;
4190d429e5bSmrg xcb_out.pixmap = pixmap;
4200d429e5bSmrg
4210d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
4220d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
4230d429e5bSmrg xcb_parts[3].iov_base = 0;
4240d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
425ed2038faSmrg
4260d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4270d429e5bSmrg return xcb_ret;
4280d429e5bSmrg }
4290d429e5bSmrg
4300d429e5bSmrg xcb_composite_get_overlay_window_cookie_t
xcb_composite_get_overlay_window(xcb_connection_t * c,xcb_window_t window)431*ba6321feSmrg xcb_composite_get_overlay_window (xcb_connection_t *c,
432*ba6321feSmrg xcb_window_t window)
4330d429e5bSmrg {
4340d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
435*ba6321feSmrg .count = 2,
436*ba6321feSmrg .ext = &xcb_composite_id,
437*ba6321feSmrg .opcode = XCB_COMPOSITE_GET_OVERLAY_WINDOW,
438*ba6321feSmrg .isvoid = 0
4390d429e5bSmrg };
4400d429e5bSmrg
4410d429e5bSmrg struct iovec xcb_parts[4];
4420d429e5bSmrg xcb_composite_get_overlay_window_cookie_t xcb_ret;
4430d429e5bSmrg xcb_composite_get_overlay_window_request_t xcb_out;
4440d429e5bSmrg
4450d429e5bSmrg xcb_out.window = window;
4460d429e5bSmrg
4470d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
4480d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
4490d429e5bSmrg xcb_parts[3].iov_base = 0;
4500d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
451ed2038faSmrg
4520d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4530d429e5bSmrg return xcb_ret;
4540d429e5bSmrg }
4550d429e5bSmrg
4560d429e5bSmrg xcb_composite_get_overlay_window_cookie_t
xcb_composite_get_overlay_window_unchecked(xcb_connection_t * c,xcb_window_t window)457*ba6321feSmrg xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c,
458*ba6321feSmrg xcb_window_t window)
4590d429e5bSmrg {
4600d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
461*ba6321feSmrg .count = 2,
462*ba6321feSmrg .ext = &xcb_composite_id,
463*ba6321feSmrg .opcode = XCB_COMPOSITE_GET_OVERLAY_WINDOW,
464*ba6321feSmrg .isvoid = 0
4650d429e5bSmrg };
4660d429e5bSmrg
4670d429e5bSmrg struct iovec xcb_parts[4];
4680d429e5bSmrg xcb_composite_get_overlay_window_cookie_t xcb_ret;
4690d429e5bSmrg xcb_composite_get_overlay_window_request_t xcb_out;
4700d429e5bSmrg
4710d429e5bSmrg xcb_out.window = window;
4720d429e5bSmrg
4730d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
4740d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
4750d429e5bSmrg xcb_parts[3].iov_base = 0;
4760d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
477ed2038faSmrg
4780d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4790d429e5bSmrg return xcb_ret;
4800d429e5bSmrg }
4810d429e5bSmrg
4820d429e5bSmrg xcb_composite_get_overlay_window_reply_t *
xcb_composite_get_overlay_window_reply(xcb_connection_t * c,xcb_composite_get_overlay_window_cookie_t cookie,xcb_generic_error_t ** e)483*ba6321feSmrg xcb_composite_get_overlay_window_reply (xcb_connection_t *c,
4840d429e5bSmrg xcb_composite_get_overlay_window_cookie_t cookie /**< */,
485*ba6321feSmrg xcb_generic_error_t **e)
4860d429e5bSmrg {
4870d429e5bSmrg return (xcb_composite_get_overlay_window_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4880d429e5bSmrg }
4890d429e5bSmrg
4900d429e5bSmrg xcb_void_cookie_t
xcb_composite_release_overlay_window_checked(xcb_connection_t * c,xcb_window_t window)491*ba6321feSmrg xcb_composite_release_overlay_window_checked (xcb_connection_t *c,
492*ba6321feSmrg xcb_window_t window)
4930d429e5bSmrg {
4940d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
495*ba6321feSmrg .count = 2,
496*ba6321feSmrg .ext = &xcb_composite_id,
497*ba6321feSmrg .opcode = XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW,
498*ba6321feSmrg .isvoid = 1
4990d429e5bSmrg };
5000d429e5bSmrg
5010d429e5bSmrg struct iovec xcb_parts[4];
5020d429e5bSmrg xcb_void_cookie_t xcb_ret;
5030d429e5bSmrg xcb_composite_release_overlay_window_request_t xcb_out;
5040d429e5bSmrg
5050d429e5bSmrg xcb_out.window = window;
5060d429e5bSmrg
5070d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
5080d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
5090d429e5bSmrg xcb_parts[3].iov_base = 0;
5100d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
511ed2038faSmrg
5120d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5130d429e5bSmrg return xcb_ret;
5140d429e5bSmrg }
5150d429e5bSmrg
5160d429e5bSmrg xcb_void_cookie_t
xcb_composite_release_overlay_window(xcb_connection_t * c,xcb_window_t window)517*ba6321feSmrg xcb_composite_release_overlay_window (xcb_connection_t *c,
518*ba6321feSmrg xcb_window_t window)
5190d429e5bSmrg {
5200d429e5bSmrg static const xcb_protocol_request_t xcb_req = {
521*ba6321feSmrg .count = 2,
522*ba6321feSmrg .ext = &xcb_composite_id,
523*ba6321feSmrg .opcode = XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW,
524*ba6321feSmrg .isvoid = 1
5250d429e5bSmrg };
5260d429e5bSmrg
5270d429e5bSmrg struct iovec xcb_parts[4];
5280d429e5bSmrg xcb_void_cookie_t xcb_ret;
5290d429e5bSmrg xcb_composite_release_overlay_window_request_t xcb_out;
5300d429e5bSmrg
5310d429e5bSmrg xcb_out.window = window;
5320d429e5bSmrg
5330d429e5bSmrg xcb_parts[2].iov_base = (char *) &xcb_out;
5340d429e5bSmrg xcb_parts[2].iov_len = sizeof(xcb_out);
5350d429e5bSmrg xcb_parts[3].iov_base = 0;
5360d429e5bSmrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
537ed2038faSmrg
5380d429e5bSmrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5390d429e5bSmrg return xcb_ret;
5400d429e5bSmrg }
5410d429e5bSmrg
542