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