1 /*
2 * This file generated automatically from composite.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 "composite.h"
15
16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 #include "xproto.h"
18 #include "xfixes.h"
19
20 xcb_extension_t xcb_composite_id = { "Composite", 0 };
21
22 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 xcb_composite_query_version (xcb_connection_t *c,
24 uint32_t client_major_version,
25 uint32_t client_minor_version)
26 {
27 static const xcb_protocol_request_t xcb_req = {
28 .count = 2,
29 .ext = &xcb_composite_id,
30 .opcode = XCB_COMPOSITE_QUERY_VERSION,
31 .isvoid = 0
32 };
33
34 struct iovec xcb_parts[4];
35 xcb_composite_query_version_cookie_t xcb_ret;
36 xcb_composite_query_version_request_t xcb_out;
37
38 xcb_out.client_major_version = client_major_version;
39 xcb_out.client_minor_version = client_minor_version;
40
41 xcb_parts[2].iov_base = (char *) &xcb_out;
42 xcb_parts[2].iov_len = sizeof(xcb_out);
43 xcb_parts[3].iov_base = 0;
44 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
45
46 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
47 return xcb_ret;
48 }
49
50 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 xcb_composite_query_version_unchecked (xcb_connection_t *c,
52 uint32_t client_major_version,
53 uint32_t client_minor_version)
54 {
55 static const xcb_protocol_request_t xcb_req = {
56 .count = 2,
57 .ext = &xcb_composite_id,
58 .opcode = XCB_COMPOSITE_QUERY_VERSION,
59 .isvoid = 0
60 };
61
62 struct iovec xcb_parts[4];
63 xcb_composite_query_version_cookie_t xcb_ret;
64 xcb_composite_query_version_request_t xcb_out;
65
66 xcb_out.client_major_version = client_major_version;
67 xcb_out.client_minor_version = client_minor_version;
68
69 xcb_parts[2].iov_base = (char *) &xcb_out;
70 xcb_parts[2].iov_len = sizeof(xcb_out);
71 xcb_parts[3].iov_base = 0;
72 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
73
74 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
75 return xcb_ret;
76 }
77
78 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 xcb_composite_query_version_reply (xcb_connection_t *c,
80 xcb_composite_query_version_cookie_t cookie /**< */,
81 xcb_generic_error_t **e)
82 {
83 return (xcb_composite_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
84 }
85
86 xcb_void_cookie_t
xcb_composite_redirect_window_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)87 xcb_composite_redirect_window_checked (xcb_connection_t *c,
88 xcb_window_t window,
89 uint8_t update)
90 {
91 static const xcb_protocol_request_t xcb_req = {
92 .count = 2,
93 .ext = &xcb_composite_id,
94 .opcode = XCB_COMPOSITE_REDIRECT_WINDOW,
95 .isvoid = 1
96 };
97
98 struct iovec xcb_parts[4];
99 xcb_void_cookie_t xcb_ret;
100 xcb_composite_redirect_window_request_t xcb_out;
101
102 xcb_out.window = window;
103 xcb_out.update = update;
104 memset(xcb_out.pad0, 0, 3);
105
106 xcb_parts[2].iov_base = (char *) &xcb_out;
107 xcb_parts[2].iov_len = sizeof(xcb_out);
108 xcb_parts[3].iov_base = 0;
109 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
110
111 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
112 return xcb_ret;
113 }
114
115 xcb_void_cookie_t
xcb_composite_redirect_window(xcb_connection_t * c,xcb_window_t window,uint8_t update)116 xcb_composite_redirect_window (xcb_connection_t *c,
117 xcb_window_t window,
118 uint8_t update)
119 {
120 static const xcb_protocol_request_t xcb_req = {
121 .count = 2,
122 .ext = &xcb_composite_id,
123 .opcode = XCB_COMPOSITE_REDIRECT_WINDOW,
124 .isvoid = 1
125 };
126
127 struct iovec xcb_parts[4];
128 xcb_void_cookie_t xcb_ret;
129 xcb_composite_redirect_window_request_t xcb_out;
130
131 xcb_out.window = window;
132 xcb_out.update = update;
133 memset(xcb_out.pad0, 0, 3);
134
135 xcb_parts[2].iov_base = (char *) &xcb_out;
136 xcb_parts[2].iov_len = sizeof(xcb_out);
137 xcb_parts[3].iov_base = 0;
138 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
139
140 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
141 return xcb_ret;
142 }
143
144 xcb_void_cookie_t
xcb_composite_redirect_subwindows_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)145 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c,
146 xcb_window_t window,
147 uint8_t update)
148 {
149 static const xcb_protocol_request_t xcb_req = {
150 .count = 2,
151 .ext = &xcb_composite_id,
152 .opcode = XCB_COMPOSITE_REDIRECT_SUBWINDOWS,
153 .isvoid = 1
154 };
155
156 struct iovec xcb_parts[4];
157 xcb_void_cookie_t xcb_ret;
158 xcb_composite_redirect_subwindows_request_t xcb_out;
159
160 xcb_out.window = window;
161 xcb_out.update = update;
162 memset(xcb_out.pad0, 0, 3);
163
164 xcb_parts[2].iov_base = (char *) &xcb_out;
165 xcb_parts[2].iov_len = sizeof(xcb_out);
166 xcb_parts[3].iov_base = 0;
167 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
168
169 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
170 return xcb_ret;
171 }
172
173 xcb_void_cookie_t
xcb_composite_redirect_subwindows(xcb_connection_t * c,xcb_window_t window,uint8_t update)174 xcb_composite_redirect_subwindows (xcb_connection_t *c,
175 xcb_window_t window,
176 uint8_t update)
177 {
178 static const xcb_protocol_request_t xcb_req = {
179 .count = 2,
180 .ext = &xcb_composite_id,
181 .opcode = XCB_COMPOSITE_REDIRECT_SUBWINDOWS,
182 .isvoid = 1
183 };
184
185 struct iovec xcb_parts[4];
186 xcb_void_cookie_t xcb_ret;
187 xcb_composite_redirect_subwindows_request_t xcb_out;
188
189 xcb_out.window = window;
190 xcb_out.update = update;
191 memset(xcb_out.pad0, 0, 3);
192
193 xcb_parts[2].iov_base = (char *) &xcb_out;
194 xcb_parts[2].iov_len = sizeof(xcb_out);
195 xcb_parts[3].iov_base = 0;
196 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
197
198 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
199 return xcb_ret;
200 }
201
202 xcb_void_cookie_t
xcb_composite_unredirect_window_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)203 xcb_composite_unredirect_window_checked (xcb_connection_t *c,
204 xcb_window_t window,
205 uint8_t update)
206 {
207 static const xcb_protocol_request_t xcb_req = {
208 .count = 2,
209 .ext = &xcb_composite_id,
210 .opcode = XCB_COMPOSITE_UNREDIRECT_WINDOW,
211 .isvoid = 1
212 };
213
214 struct iovec xcb_parts[4];
215 xcb_void_cookie_t xcb_ret;
216 xcb_composite_unredirect_window_request_t xcb_out;
217
218 xcb_out.window = window;
219 xcb_out.update = update;
220 memset(xcb_out.pad0, 0, 3);
221
222 xcb_parts[2].iov_base = (char *) &xcb_out;
223 xcb_parts[2].iov_len = sizeof(xcb_out);
224 xcb_parts[3].iov_base = 0;
225 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
226
227 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
228 return xcb_ret;
229 }
230
231 xcb_void_cookie_t
xcb_composite_unredirect_window(xcb_connection_t * c,xcb_window_t window,uint8_t update)232 xcb_composite_unredirect_window (xcb_connection_t *c,
233 xcb_window_t window,
234 uint8_t update)
235 {
236 static const xcb_protocol_request_t xcb_req = {
237 .count = 2,
238 .ext = &xcb_composite_id,
239 .opcode = XCB_COMPOSITE_UNREDIRECT_WINDOW,
240 .isvoid = 1
241 };
242
243 struct iovec xcb_parts[4];
244 xcb_void_cookie_t xcb_ret;
245 xcb_composite_unredirect_window_request_t xcb_out;
246
247 xcb_out.window = window;
248 xcb_out.update = update;
249 memset(xcb_out.pad0, 0, 3);
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, 0, xcb_parts + 2, &xcb_req);
257 return xcb_ret;
258 }
259
260 xcb_void_cookie_t
xcb_composite_unredirect_subwindows_checked(xcb_connection_t * c,xcb_window_t window,uint8_t update)261 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c,
262 xcb_window_t window,
263 uint8_t update)
264 {
265 static const xcb_protocol_request_t xcb_req = {
266 .count = 2,
267 .ext = &xcb_composite_id,
268 .opcode = XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS,
269 .isvoid = 1
270 };
271
272 struct iovec xcb_parts[4];
273 xcb_void_cookie_t xcb_ret;
274 xcb_composite_unredirect_subwindows_request_t xcb_out;
275
276 xcb_out.window = window;
277 xcb_out.update = update;
278 memset(xcb_out.pad0, 0, 3);
279
280 xcb_parts[2].iov_base = (char *) &xcb_out;
281 xcb_parts[2].iov_len = sizeof(xcb_out);
282 xcb_parts[3].iov_base = 0;
283 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
284
285 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
286 return xcb_ret;
287 }
288
289 xcb_void_cookie_t
xcb_composite_unredirect_subwindows(xcb_connection_t * c,xcb_window_t window,uint8_t update)290 xcb_composite_unredirect_subwindows (xcb_connection_t *c,
291 xcb_window_t window,
292 uint8_t update)
293 {
294 static const xcb_protocol_request_t xcb_req = {
295 .count = 2,
296 .ext = &xcb_composite_id,
297 .opcode = XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS,
298 .isvoid = 1
299 };
300
301 struct iovec xcb_parts[4];
302 xcb_void_cookie_t xcb_ret;
303 xcb_composite_unredirect_subwindows_request_t xcb_out;
304
305 xcb_out.window = window;
306 xcb_out.update = update;
307 memset(xcb_out.pad0, 0, 3);
308
309 xcb_parts[2].iov_base = (char *) &xcb_out;
310 xcb_parts[2].iov_len = sizeof(xcb_out);
311 xcb_parts[3].iov_base = 0;
312 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
313
314 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
315 return xcb_ret;
316 }
317
318 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 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c,
320 xcb_xfixes_region_t region,
321 xcb_window_t window)
322 {
323 static const xcb_protocol_request_t xcb_req = {
324 .count = 2,
325 .ext = &xcb_composite_id,
326 .opcode = XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP,
327 .isvoid = 1
328 };
329
330 struct iovec xcb_parts[4];
331 xcb_void_cookie_t xcb_ret;
332 xcb_composite_create_region_from_border_clip_request_t xcb_out;
333
334 xcb_out.region = region;
335 xcb_out.window = window;
336
337 xcb_parts[2].iov_base = (char *) &xcb_out;
338 xcb_parts[2].iov_len = sizeof(xcb_out);
339 xcb_parts[3].iov_base = 0;
340 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
341
342 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
343 return xcb_ret;
344 }
345
346 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 xcb_composite_create_region_from_border_clip (xcb_connection_t *c,
348 xcb_xfixes_region_t region,
349 xcb_window_t window)
350 {
351 static const xcb_protocol_request_t xcb_req = {
352 .count = 2,
353 .ext = &xcb_composite_id,
354 .opcode = XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP,
355 .isvoid = 1
356 };
357
358 struct iovec xcb_parts[4];
359 xcb_void_cookie_t xcb_ret;
360 xcb_composite_create_region_from_border_clip_request_t xcb_out;
361
362 xcb_out.region = region;
363 xcb_out.window = window;
364
365 xcb_parts[2].iov_base = (char *) &xcb_out;
366 xcb_parts[2].iov_len = sizeof(xcb_out);
367 xcb_parts[3].iov_base = 0;
368 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
369
370 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
371 return xcb_ret;
372 }
373
374 xcb_void_cookie_t
xcb_composite_name_window_pixmap_checked(xcb_connection_t * c,xcb_window_t window,xcb_pixmap_t pixmap)375 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c,
376 xcb_window_t window,
377 xcb_pixmap_t pixmap)
378 {
379 static const xcb_protocol_request_t xcb_req = {
380 .count = 2,
381 .ext = &xcb_composite_id,
382 .opcode = XCB_COMPOSITE_NAME_WINDOW_PIXMAP,
383 .isvoid = 1
384 };
385
386 struct iovec xcb_parts[4];
387 xcb_void_cookie_t xcb_ret;
388 xcb_composite_name_window_pixmap_request_t xcb_out;
389
390 xcb_out.window = window;
391 xcb_out.pixmap = pixmap;
392
393 xcb_parts[2].iov_base = (char *) &xcb_out;
394 xcb_parts[2].iov_len = sizeof(xcb_out);
395 xcb_parts[3].iov_base = 0;
396 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
397
398 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
399 return xcb_ret;
400 }
401
402 xcb_void_cookie_t
xcb_composite_name_window_pixmap(xcb_connection_t * c,xcb_window_t window,xcb_pixmap_t pixmap)403 xcb_composite_name_window_pixmap (xcb_connection_t *c,
404 xcb_window_t window,
405 xcb_pixmap_t pixmap)
406 {
407 static const xcb_protocol_request_t xcb_req = {
408 .count = 2,
409 .ext = &xcb_composite_id,
410 .opcode = XCB_COMPOSITE_NAME_WINDOW_PIXMAP,
411 .isvoid = 1
412 };
413
414 struct iovec xcb_parts[4];
415 xcb_void_cookie_t xcb_ret;
416 xcb_composite_name_window_pixmap_request_t xcb_out;
417
418 xcb_out.window = window;
419 xcb_out.pixmap = pixmap;
420
421 xcb_parts[2].iov_base = (char *) &xcb_out;
422 xcb_parts[2].iov_len = sizeof(xcb_out);
423 xcb_parts[3].iov_base = 0;
424 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
425
426 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
427 return xcb_ret;
428 }
429
430 xcb_composite_get_overlay_window_cookie_t
xcb_composite_get_overlay_window(xcb_connection_t * c,xcb_window_t window)431 xcb_composite_get_overlay_window (xcb_connection_t *c,
432 xcb_window_t window)
433 {
434 static const xcb_protocol_request_t xcb_req = {
435 .count = 2,
436 .ext = &xcb_composite_id,
437 .opcode = XCB_COMPOSITE_GET_OVERLAY_WINDOW,
438 .isvoid = 0
439 };
440
441 struct iovec xcb_parts[4];
442 xcb_composite_get_overlay_window_cookie_t xcb_ret;
443 xcb_composite_get_overlay_window_request_t xcb_out;
444
445 xcb_out.window = window;
446
447 xcb_parts[2].iov_base = (char *) &xcb_out;
448 xcb_parts[2].iov_len = sizeof(xcb_out);
449 xcb_parts[3].iov_base = 0;
450 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
451
452 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
453 return xcb_ret;
454 }
455
456 xcb_composite_get_overlay_window_cookie_t
xcb_composite_get_overlay_window_unchecked(xcb_connection_t * c,xcb_window_t window)457 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c,
458 xcb_window_t window)
459 {
460 static const xcb_protocol_request_t xcb_req = {
461 .count = 2,
462 .ext = &xcb_composite_id,
463 .opcode = XCB_COMPOSITE_GET_OVERLAY_WINDOW,
464 .isvoid = 0
465 };
466
467 struct iovec xcb_parts[4];
468 xcb_composite_get_overlay_window_cookie_t xcb_ret;
469 xcb_composite_get_overlay_window_request_t xcb_out;
470
471 xcb_out.window = window;
472
473 xcb_parts[2].iov_base = (char *) &xcb_out;
474 xcb_parts[2].iov_len = sizeof(xcb_out);
475 xcb_parts[3].iov_base = 0;
476 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
477
478 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
479 return xcb_ret;
480 }
481
482 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 xcb_composite_get_overlay_window_reply (xcb_connection_t *c,
484 xcb_composite_get_overlay_window_cookie_t cookie /**< */,
485 xcb_generic_error_t **e)
486 {
487 return (xcb_composite_get_overlay_window_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
488 }
489
490 xcb_void_cookie_t
xcb_composite_release_overlay_window_checked(xcb_connection_t * c,xcb_window_t window)491 xcb_composite_release_overlay_window_checked (xcb_connection_t *c,
492 xcb_window_t window)
493 {
494 static const xcb_protocol_request_t xcb_req = {
495 .count = 2,
496 .ext = &xcb_composite_id,
497 .opcode = XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW,
498 .isvoid = 1
499 };
500
501 struct iovec xcb_parts[4];
502 xcb_void_cookie_t xcb_ret;
503 xcb_composite_release_overlay_window_request_t xcb_out;
504
505 xcb_out.window = window;
506
507 xcb_parts[2].iov_base = (char *) &xcb_out;
508 xcb_parts[2].iov_len = sizeof(xcb_out);
509 xcb_parts[3].iov_base = 0;
510 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
511
512 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
513 return xcb_ret;
514 }
515
516 xcb_void_cookie_t
xcb_composite_release_overlay_window(xcb_connection_t * c,xcb_window_t window)517 xcb_composite_release_overlay_window (xcb_connection_t *c,
518 xcb_window_t window)
519 {
520 static const xcb_protocol_request_t xcb_req = {
521 .count = 2,
522 .ext = &xcb_composite_id,
523 .opcode = XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW,
524 .isvoid = 1
525 };
526
527 struct iovec xcb_parts[4];
528 xcb_void_cookie_t xcb_ret;
529 xcb_composite_release_overlay_window_request_t xcb_out;
530
531 xcb_out.window = window;
532
533 xcb_parts[2].iov_base = (char *) &xcb_out;
534 xcb_parts[2].iov_len = sizeof(xcb_out);
535 xcb_parts[3].iov_base = 0;
536 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
537
538 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
539 return xcb_ret;
540 }
541
542