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