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