1 /* 2 * This file generated automatically from sync.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 "sync.h" 10 #include "xproto.h" 11 12 xcb_extension_t xcb_sync_id = { "SYNC", 0 }; 13 14 15 /***************************************************************************** 16 ** 17 ** void xcb_sync_alarm_next 18 ** 19 ** @param xcb_sync_alarm_iterator_t *i 20 ** @returns void 21 ** 22 *****************************************************************************/ 23 24 void 25 xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i /**< */) 26 { 27 --i->rem; 28 ++i->data; 29 i->index += sizeof(xcb_sync_alarm_t); 30 } 31 32 33 /***************************************************************************** 34 ** 35 ** xcb_generic_iterator_t xcb_sync_alarm_end 36 ** 37 ** @param xcb_sync_alarm_iterator_t i 38 ** @returns xcb_generic_iterator_t 39 ** 40 *****************************************************************************/ 41 42 xcb_generic_iterator_t 43 xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i /**< */) 44 { 45 xcb_generic_iterator_t ret; 46 ret.data = i.data + i.rem; 47 ret.index = i.index + ((char *) ret.data - (char *) i.data); 48 ret.rem = 0; 49 return ret; 50 } 51 52 53 /***************************************************************************** 54 ** 55 ** void xcb_sync_counter_next 56 ** 57 ** @param xcb_sync_counter_iterator_t *i 58 ** @returns void 59 ** 60 *****************************************************************************/ 61 62 void 63 xcb_sync_counter_next (xcb_sync_counter_iterator_t *i /**< */) 64 { 65 --i->rem; 66 ++i->data; 67 i->index += sizeof(xcb_sync_counter_t); 68 } 69 70 71 /***************************************************************************** 72 ** 73 ** xcb_generic_iterator_t xcb_sync_counter_end 74 ** 75 ** @param xcb_sync_counter_iterator_t i 76 ** @returns xcb_generic_iterator_t 77 ** 78 *****************************************************************************/ 79 80 xcb_generic_iterator_t 81 xcb_sync_counter_end (xcb_sync_counter_iterator_t i /**< */) 82 { 83 xcb_generic_iterator_t ret; 84 ret.data = i.data + i.rem; 85 ret.index = i.index + ((char *) ret.data - (char *) i.data); 86 ret.rem = 0; 87 return ret; 88 } 89 90 91 /***************************************************************************** 92 ** 93 ** void xcb_sync_int64_next 94 ** 95 ** @param xcb_sync_int64_iterator_t *i 96 ** @returns void 97 ** 98 *****************************************************************************/ 99 100 void 101 xcb_sync_int64_next (xcb_sync_int64_iterator_t *i /**< */) 102 { 103 --i->rem; 104 ++i->data; 105 i->index += sizeof(xcb_sync_int64_t); 106 } 107 108 109 /***************************************************************************** 110 ** 111 ** xcb_generic_iterator_t xcb_sync_int64_end 112 ** 113 ** @param xcb_sync_int64_iterator_t i 114 ** @returns xcb_generic_iterator_t 115 ** 116 *****************************************************************************/ 117 118 xcb_generic_iterator_t 119 xcb_sync_int64_end (xcb_sync_int64_iterator_t i /**< */) 120 { 121 xcb_generic_iterator_t ret; 122 ret.data = i.data + i.rem; 123 ret.index = i.index + ((char *) ret.data - (char *) i.data); 124 ret.rem = 0; 125 return ret; 126 } 127 128 129 /***************************************************************************** 130 ** 131 ** char * xcb_sync_systemcounter_name 132 ** 133 ** @param const xcb_sync_systemcounter_t *R 134 ** @returns char * 135 ** 136 *****************************************************************************/ 137 138 char * 139 xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R /**< */) 140 { 141 return (char *) (R + 1); 142 } 143 144 145 /***************************************************************************** 146 ** 147 ** int xcb_sync_systemcounter_name_length 148 ** 149 ** @param const xcb_sync_systemcounter_t *R 150 ** @returns int 151 ** 152 *****************************************************************************/ 153 154 int 155 xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R /**< */) 156 { 157 return R->name_len; 158 } 159 160 161 /***************************************************************************** 162 ** 163 ** xcb_generic_iterator_t xcb_sync_systemcounter_name_end 164 ** 165 ** @param const xcb_sync_systemcounter_t *R 166 ** @returns xcb_generic_iterator_t 167 ** 168 *****************************************************************************/ 169 170 xcb_generic_iterator_t 171 xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R /**< */) 172 { 173 xcb_generic_iterator_t i; 174 i.data = ((char *) (R + 1)) + (R->name_len); 175 i.rem = 0; 176 i.index = (char *) i.data - (char *) R; 177 return i; 178 } 179 180 181 /***************************************************************************** 182 ** 183 ** void xcb_sync_systemcounter_next 184 ** 185 ** @param xcb_sync_systemcounter_iterator_t *i 186 ** @returns void 187 ** 188 *****************************************************************************/ 189 190 void 191 xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i /**< */) 192 { 193 xcb_sync_systemcounter_t *R = i->data; 194 xcb_generic_iterator_t child = xcb_sync_systemcounter_name_end(R); 195 --i->rem; 196 i->data = (xcb_sync_systemcounter_t *) child.data; 197 i->index = child.index; 198 } 199 200 201 /***************************************************************************** 202 ** 203 ** xcb_generic_iterator_t xcb_sync_systemcounter_end 204 ** 205 ** @param xcb_sync_systemcounter_iterator_t i 206 ** @returns xcb_generic_iterator_t 207 ** 208 *****************************************************************************/ 209 210 xcb_generic_iterator_t 211 xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i /**< */) 212 { 213 xcb_generic_iterator_t ret; 214 while(i.rem > 0) 215 xcb_sync_systemcounter_next(&i); 216 ret.data = i.data; 217 ret.rem = i.rem; 218 ret.index = i.index; 219 return ret; 220 } 221 222 223 /***************************************************************************** 224 ** 225 ** void xcb_sync_trigger_next 226 ** 227 ** @param xcb_sync_trigger_iterator_t *i 228 ** @returns void 229 ** 230 *****************************************************************************/ 231 232 void 233 xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i /**< */) 234 { 235 --i->rem; 236 ++i->data; 237 i->index += sizeof(xcb_sync_trigger_t); 238 } 239 240 241 /***************************************************************************** 242 ** 243 ** xcb_generic_iterator_t xcb_sync_trigger_end 244 ** 245 ** @param xcb_sync_trigger_iterator_t i 246 ** @returns xcb_generic_iterator_t 247 ** 248 *****************************************************************************/ 249 250 xcb_generic_iterator_t 251 xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i /**< */) 252 { 253 xcb_generic_iterator_t ret; 254 ret.data = i.data + i.rem; 255 ret.index = i.index + ((char *) ret.data - (char *) i.data); 256 ret.rem = 0; 257 return ret; 258 } 259 260 261 /***************************************************************************** 262 ** 263 ** void xcb_sync_waitcondition_next 264 ** 265 ** @param xcb_sync_waitcondition_iterator_t *i 266 ** @returns void 267 ** 268 *****************************************************************************/ 269 270 void 271 xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i /**< */) 272 { 273 --i->rem; 274 ++i->data; 275 i->index += sizeof(xcb_sync_waitcondition_t); 276 } 277 278 279 /***************************************************************************** 280 ** 281 ** xcb_generic_iterator_t xcb_sync_waitcondition_end 282 ** 283 ** @param xcb_sync_waitcondition_iterator_t i 284 ** @returns xcb_generic_iterator_t 285 ** 286 *****************************************************************************/ 287 288 xcb_generic_iterator_t 289 xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i /**< */) 290 { 291 xcb_generic_iterator_t ret; 292 ret.data = i.data + i.rem; 293 ret.index = i.index + ((char *) ret.data - (char *) i.data); 294 ret.rem = 0; 295 return ret; 296 } 297 298 299 /***************************************************************************** 300 ** 301 ** xcb_sync_initialize_cookie_t xcb_sync_initialize 302 ** 303 ** @param xcb_connection_t *c 304 ** @param uint8_t desired_major_version 305 ** @param uint8_t desired_minor_version 306 ** @returns xcb_sync_initialize_cookie_t 307 ** 308 *****************************************************************************/ 309 310 xcb_sync_initialize_cookie_t 311 xcb_sync_initialize (xcb_connection_t *c /**< */, 312 uint8_t desired_major_version /**< */, 313 uint8_t desired_minor_version /**< */) 314 { 315 static const xcb_protocol_request_t xcb_req = { 316 /* count */ 2, 317 /* ext */ &xcb_sync_id, 318 /* opcode */ XCB_SYNC_INITIALIZE, 319 /* isvoid */ 0 320 }; 321 322 struct iovec xcb_parts[4]; 323 xcb_sync_initialize_cookie_t xcb_ret; 324 xcb_sync_initialize_request_t xcb_out; 325 326 xcb_out.desired_major_version = desired_major_version; 327 xcb_out.desired_minor_version = desired_minor_version; 328 329 xcb_parts[2].iov_base = (char *) &xcb_out; 330 xcb_parts[2].iov_len = sizeof(xcb_out); 331 xcb_parts[3].iov_base = 0; 332 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 333 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 334 return xcb_ret; 335 } 336 337 338 /***************************************************************************** 339 ** 340 ** xcb_sync_initialize_cookie_t xcb_sync_initialize_unchecked 341 ** 342 ** @param xcb_connection_t *c 343 ** @param uint8_t desired_major_version 344 ** @param uint8_t desired_minor_version 345 ** @returns xcb_sync_initialize_cookie_t 346 ** 347 *****************************************************************************/ 348 349 xcb_sync_initialize_cookie_t 350 xcb_sync_initialize_unchecked (xcb_connection_t *c /**< */, 351 uint8_t desired_major_version /**< */, 352 uint8_t desired_minor_version /**< */) 353 { 354 static const xcb_protocol_request_t xcb_req = { 355 /* count */ 2, 356 /* ext */ &xcb_sync_id, 357 /* opcode */ XCB_SYNC_INITIALIZE, 358 /* isvoid */ 0 359 }; 360 361 struct iovec xcb_parts[4]; 362 xcb_sync_initialize_cookie_t xcb_ret; 363 xcb_sync_initialize_request_t xcb_out; 364 365 xcb_out.desired_major_version = desired_major_version; 366 xcb_out.desired_minor_version = desired_minor_version; 367 368 xcb_parts[2].iov_base = (char *) &xcb_out; 369 xcb_parts[2].iov_len = sizeof(xcb_out); 370 xcb_parts[3].iov_base = 0; 371 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 372 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 373 return xcb_ret; 374 } 375 376 377 /***************************************************************************** 378 ** 379 ** xcb_sync_initialize_reply_t * xcb_sync_initialize_reply 380 ** 381 ** @param xcb_connection_t *c 382 ** @param xcb_sync_initialize_cookie_t cookie 383 ** @param xcb_generic_error_t **e 384 ** @returns xcb_sync_initialize_reply_t * 385 ** 386 *****************************************************************************/ 387 388 xcb_sync_initialize_reply_t * 389 xcb_sync_initialize_reply (xcb_connection_t *c /**< */, 390 xcb_sync_initialize_cookie_t cookie /**< */, 391 xcb_generic_error_t **e /**< */) 392 { 393 return (xcb_sync_initialize_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 394 } 395 396 397 /***************************************************************************** 398 ** 399 ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters 400 ** 401 ** @param xcb_connection_t *c 402 ** @returns xcb_sync_list_system_counters_cookie_t 403 ** 404 *****************************************************************************/ 405 406 xcb_sync_list_system_counters_cookie_t 407 xcb_sync_list_system_counters (xcb_connection_t *c /**< */) 408 { 409 static const xcb_protocol_request_t xcb_req = { 410 /* count */ 2, 411 /* ext */ &xcb_sync_id, 412 /* opcode */ XCB_SYNC_LIST_SYSTEM_COUNTERS, 413 /* isvoid */ 0 414 }; 415 416 struct iovec xcb_parts[4]; 417 xcb_sync_list_system_counters_cookie_t xcb_ret; 418 xcb_sync_list_system_counters_request_t xcb_out; 419 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 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 426 return xcb_ret; 427 } 428 429 430 /***************************************************************************** 431 ** 432 ** xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters_unchecked 433 ** 434 ** @param xcb_connection_t *c 435 ** @returns xcb_sync_list_system_counters_cookie_t 436 ** 437 *****************************************************************************/ 438 439 xcb_sync_list_system_counters_cookie_t 440 xcb_sync_list_system_counters_unchecked (xcb_connection_t *c /**< */) 441 { 442 static const xcb_protocol_request_t xcb_req = { 443 /* count */ 2, 444 /* ext */ &xcb_sync_id, 445 /* opcode */ XCB_SYNC_LIST_SYSTEM_COUNTERS, 446 /* isvoid */ 0 447 }; 448 449 struct iovec xcb_parts[4]; 450 xcb_sync_list_system_counters_cookie_t xcb_ret; 451 xcb_sync_list_system_counters_request_t xcb_out; 452 453 454 xcb_parts[2].iov_base = (char *) &xcb_out; 455 xcb_parts[2].iov_len = sizeof(xcb_out); 456 xcb_parts[3].iov_base = 0; 457 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 458 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 459 return xcb_ret; 460 } 461 462 463 /***************************************************************************** 464 ** 465 ** int xcb_sync_list_system_counters_counters_length 466 ** 467 ** @param const xcb_sync_list_system_counters_reply_t *R 468 ** @returns int 469 ** 470 *****************************************************************************/ 471 472 int 473 xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R /**< */) 474 { 475 return R->counters_len; 476 } 477 478 479 /***************************************************************************** 480 ** 481 ** xcb_sync_systemcounter_iterator_t xcb_sync_list_system_counters_counters_iterator 482 ** 483 ** @param const xcb_sync_list_system_counters_reply_t *R 484 ** @returns xcb_sync_systemcounter_iterator_t 485 ** 486 *****************************************************************************/ 487 488 xcb_sync_systemcounter_iterator_t 489 xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R /**< */) 490 { 491 xcb_sync_systemcounter_iterator_t i; 492 i.data = (xcb_sync_systemcounter_t *) (R + 1); 493 i.rem = R->counters_len; 494 i.index = (char *) i.data - (char *) R; 495 return i; 496 } 497 498 499 /***************************************************************************** 500 ** 501 ** xcb_sync_list_system_counters_reply_t * xcb_sync_list_system_counters_reply 502 ** 503 ** @param xcb_connection_t *c 504 ** @param xcb_sync_list_system_counters_cookie_t cookie 505 ** @param xcb_generic_error_t **e 506 ** @returns xcb_sync_list_system_counters_reply_t * 507 ** 508 *****************************************************************************/ 509 510 xcb_sync_list_system_counters_reply_t * 511 xcb_sync_list_system_counters_reply (xcb_connection_t *c /**< */, 512 xcb_sync_list_system_counters_cookie_t cookie /**< */, 513 xcb_generic_error_t **e /**< */) 514 { 515 return (xcb_sync_list_system_counters_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 516 } 517 518 519 /***************************************************************************** 520 ** 521 ** xcb_void_cookie_t xcb_sync_create_counter_checked 522 ** 523 ** @param xcb_connection_t *c 524 ** @param xcb_sync_counter_t id 525 ** @param xcb_sync_int64_t initial_value 526 ** @returns xcb_void_cookie_t 527 ** 528 *****************************************************************************/ 529 530 xcb_void_cookie_t 531 xcb_sync_create_counter_checked (xcb_connection_t *c /**< */, 532 xcb_sync_counter_t id /**< */, 533 xcb_sync_int64_t initial_value /**< */) 534 { 535 static const xcb_protocol_request_t xcb_req = { 536 /* count */ 2, 537 /* ext */ &xcb_sync_id, 538 /* opcode */ XCB_SYNC_CREATE_COUNTER, 539 /* isvoid */ 1 540 }; 541 542 struct iovec xcb_parts[4]; 543 xcb_void_cookie_t xcb_ret; 544 xcb_sync_create_counter_request_t xcb_out; 545 546 xcb_out.id = id; 547 xcb_out.initial_value = initial_value; 548 549 xcb_parts[2].iov_base = (char *) &xcb_out; 550 xcb_parts[2].iov_len = sizeof(xcb_out); 551 xcb_parts[3].iov_base = 0; 552 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 553 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 554 return xcb_ret; 555 } 556 557 558 /***************************************************************************** 559 ** 560 ** xcb_void_cookie_t xcb_sync_create_counter 561 ** 562 ** @param xcb_connection_t *c 563 ** @param xcb_sync_counter_t id 564 ** @param xcb_sync_int64_t initial_value 565 ** @returns xcb_void_cookie_t 566 ** 567 *****************************************************************************/ 568 569 xcb_void_cookie_t 570 xcb_sync_create_counter (xcb_connection_t *c /**< */, 571 xcb_sync_counter_t id /**< */, 572 xcb_sync_int64_t initial_value /**< */) 573 { 574 static const xcb_protocol_request_t xcb_req = { 575 /* count */ 2, 576 /* ext */ &xcb_sync_id, 577 /* opcode */ XCB_SYNC_CREATE_COUNTER, 578 /* isvoid */ 1 579 }; 580 581 struct iovec xcb_parts[4]; 582 xcb_void_cookie_t xcb_ret; 583 xcb_sync_create_counter_request_t xcb_out; 584 585 xcb_out.id = id; 586 xcb_out.initial_value = initial_value; 587 588 xcb_parts[2].iov_base = (char *) &xcb_out; 589 xcb_parts[2].iov_len = sizeof(xcb_out); 590 xcb_parts[3].iov_base = 0; 591 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 592 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 593 return xcb_ret; 594 } 595 596 597 /***************************************************************************** 598 ** 599 ** xcb_void_cookie_t xcb_sync_destroy_counter_checked 600 ** 601 ** @param xcb_connection_t *c 602 ** @param xcb_sync_counter_t counter 603 ** @returns xcb_void_cookie_t 604 ** 605 *****************************************************************************/ 606 607 xcb_void_cookie_t 608 xcb_sync_destroy_counter_checked (xcb_connection_t *c /**< */, 609 xcb_sync_counter_t counter /**< */) 610 { 611 static const xcb_protocol_request_t xcb_req = { 612 /* count */ 2, 613 /* ext */ &xcb_sync_id, 614 /* opcode */ XCB_SYNC_DESTROY_COUNTER, 615 /* isvoid */ 1 616 }; 617 618 struct iovec xcb_parts[4]; 619 xcb_void_cookie_t xcb_ret; 620 xcb_sync_destroy_counter_request_t xcb_out; 621 622 xcb_out.counter = counter; 623 624 xcb_parts[2].iov_base = (char *) &xcb_out; 625 xcb_parts[2].iov_len = sizeof(xcb_out); 626 xcb_parts[3].iov_base = 0; 627 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 628 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 629 return xcb_ret; 630 } 631 632 633 /***************************************************************************** 634 ** 635 ** xcb_void_cookie_t xcb_sync_destroy_counter 636 ** 637 ** @param xcb_connection_t *c 638 ** @param xcb_sync_counter_t counter 639 ** @returns xcb_void_cookie_t 640 ** 641 *****************************************************************************/ 642 643 xcb_void_cookie_t 644 xcb_sync_destroy_counter (xcb_connection_t *c /**< */, 645 xcb_sync_counter_t counter /**< */) 646 { 647 static const xcb_protocol_request_t xcb_req = { 648 /* count */ 2, 649 /* ext */ &xcb_sync_id, 650 /* opcode */ XCB_SYNC_DESTROY_COUNTER, 651 /* isvoid */ 1 652 }; 653 654 struct iovec xcb_parts[4]; 655 xcb_void_cookie_t xcb_ret; 656 xcb_sync_destroy_counter_request_t xcb_out; 657 658 xcb_out.counter = counter; 659 660 xcb_parts[2].iov_base = (char *) &xcb_out; 661 xcb_parts[2].iov_len = sizeof(xcb_out); 662 xcb_parts[3].iov_base = 0; 663 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 664 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 665 return xcb_ret; 666 } 667 668 669 /***************************************************************************** 670 ** 671 ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter 672 ** 673 ** @param xcb_connection_t *c 674 ** @param xcb_sync_counter_t counter 675 ** @returns xcb_sync_query_counter_cookie_t 676 ** 677 *****************************************************************************/ 678 679 xcb_sync_query_counter_cookie_t 680 xcb_sync_query_counter (xcb_connection_t *c /**< */, 681 xcb_sync_counter_t counter /**< */) 682 { 683 static const xcb_protocol_request_t xcb_req = { 684 /* count */ 2, 685 /* ext */ &xcb_sync_id, 686 /* opcode */ XCB_SYNC_QUERY_COUNTER, 687 /* isvoid */ 0 688 }; 689 690 struct iovec xcb_parts[4]; 691 xcb_sync_query_counter_cookie_t xcb_ret; 692 xcb_sync_query_counter_request_t xcb_out; 693 694 xcb_out.counter = counter; 695 696 xcb_parts[2].iov_base = (char *) &xcb_out; 697 xcb_parts[2].iov_len = sizeof(xcb_out); 698 xcb_parts[3].iov_base = 0; 699 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 700 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 701 return xcb_ret; 702 } 703 704 705 /***************************************************************************** 706 ** 707 ** xcb_sync_query_counter_cookie_t xcb_sync_query_counter_unchecked 708 ** 709 ** @param xcb_connection_t *c 710 ** @param xcb_sync_counter_t counter 711 ** @returns xcb_sync_query_counter_cookie_t 712 ** 713 *****************************************************************************/ 714 715 xcb_sync_query_counter_cookie_t 716 xcb_sync_query_counter_unchecked (xcb_connection_t *c /**< */, 717 xcb_sync_counter_t counter /**< */) 718 { 719 static const xcb_protocol_request_t xcb_req = { 720 /* count */ 2, 721 /* ext */ &xcb_sync_id, 722 /* opcode */ XCB_SYNC_QUERY_COUNTER, 723 /* isvoid */ 0 724 }; 725 726 struct iovec xcb_parts[4]; 727 xcb_sync_query_counter_cookie_t xcb_ret; 728 xcb_sync_query_counter_request_t xcb_out; 729 730 xcb_out.counter = counter; 731 732 xcb_parts[2].iov_base = (char *) &xcb_out; 733 xcb_parts[2].iov_len = sizeof(xcb_out); 734 xcb_parts[3].iov_base = 0; 735 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 736 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 737 return xcb_ret; 738 } 739 740 741 /***************************************************************************** 742 ** 743 ** xcb_sync_query_counter_reply_t * xcb_sync_query_counter_reply 744 ** 745 ** @param xcb_connection_t *c 746 ** @param xcb_sync_query_counter_cookie_t cookie 747 ** @param xcb_generic_error_t **e 748 ** @returns xcb_sync_query_counter_reply_t * 749 ** 750 *****************************************************************************/ 751 752 xcb_sync_query_counter_reply_t * 753 xcb_sync_query_counter_reply (xcb_connection_t *c /**< */, 754 xcb_sync_query_counter_cookie_t cookie /**< */, 755 xcb_generic_error_t **e /**< */) 756 { 757 return (xcb_sync_query_counter_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 758 } 759 760 761 /***************************************************************************** 762 ** 763 ** xcb_void_cookie_t xcb_sync_await_checked 764 ** 765 ** @param xcb_connection_t *c 766 ** @param uint32_t wait_list_len 767 ** @param const xcb_sync_waitcondition_t *wait_list 768 ** @returns xcb_void_cookie_t 769 ** 770 *****************************************************************************/ 771 772 xcb_void_cookie_t 773 xcb_sync_await_checked (xcb_connection_t *c /**< */, 774 uint32_t wait_list_len /**< */, 775 const xcb_sync_waitcondition_t *wait_list /**< */) 776 { 777 static const xcb_protocol_request_t xcb_req = { 778 /* count */ 4, 779 /* ext */ &xcb_sync_id, 780 /* opcode */ XCB_SYNC_AWAIT, 781 /* isvoid */ 1 782 }; 783 784 struct iovec xcb_parts[6]; 785 xcb_void_cookie_t xcb_ret; 786 xcb_sync_await_request_t xcb_out; 787 788 789 xcb_parts[2].iov_base = (char *) &xcb_out; 790 xcb_parts[2].iov_len = sizeof(xcb_out); 791 xcb_parts[3].iov_base = 0; 792 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 793 xcb_parts[4].iov_base = (char *) wait_list; 794 xcb_parts[4].iov_len = wait_list_len * sizeof(xcb_sync_waitcondition_t); 795 xcb_parts[5].iov_base = 0; 796 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 797 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 798 return xcb_ret; 799 } 800 801 802 /***************************************************************************** 803 ** 804 ** xcb_void_cookie_t xcb_sync_await 805 ** 806 ** @param xcb_connection_t *c 807 ** @param uint32_t wait_list_len 808 ** @param const xcb_sync_waitcondition_t *wait_list 809 ** @returns xcb_void_cookie_t 810 ** 811 *****************************************************************************/ 812 813 xcb_void_cookie_t 814 xcb_sync_await (xcb_connection_t *c /**< */, 815 uint32_t wait_list_len /**< */, 816 const xcb_sync_waitcondition_t *wait_list /**< */) 817 { 818 static const xcb_protocol_request_t xcb_req = { 819 /* count */ 4, 820 /* ext */ &xcb_sync_id, 821 /* opcode */ XCB_SYNC_AWAIT, 822 /* isvoid */ 1 823 }; 824 825 struct iovec xcb_parts[6]; 826 xcb_void_cookie_t xcb_ret; 827 xcb_sync_await_request_t xcb_out; 828 829 830 xcb_parts[2].iov_base = (char *) &xcb_out; 831 xcb_parts[2].iov_len = sizeof(xcb_out); 832 xcb_parts[3].iov_base = 0; 833 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 834 xcb_parts[4].iov_base = (char *) wait_list; 835 xcb_parts[4].iov_len = wait_list_len * sizeof(xcb_sync_waitcondition_t); 836 xcb_parts[5].iov_base = 0; 837 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 838 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 839 return xcb_ret; 840 } 841 842 843 /***************************************************************************** 844 ** 845 ** xcb_void_cookie_t xcb_sync_change_counter_checked 846 ** 847 ** @param xcb_connection_t *c 848 ** @param xcb_sync_counter_t counter 849 ** @param xcb_sync_int64_t amount 850 ** @returns xcb_void_cookie_t 851 ** 852 *****************************************************************************/ 853 854 xcb_void_cookie_t 855 xcb_sync_change_counter_checked (xcb_connection_t *c /**< */, 856 xcb_sync_counter_t counter /**< */, 857 xcb_sync_int64_t amount /**< */) 858 { 859 static const xcb_protocol_request_t xcb_req = { 860 /* count */ 2, 861 /* ext */ &xcb_sync_id, 862 /* opcode */ XCB_SYNC_CHANGE_COUNTER, 863 /* isvoid */ 1 864 }; 865 866 struct iovec xcb_parts[4]; 867 xcb_void_cookie_t xcb_ret; 868 xcb_sync_change_counter_request_t xcb_out; 869 870 xcb_out.counter = counter; 871 xcb_out.amount = amount; 872 873 xcb_parts[2].iov_base = (char *) &xcb_out; 874 xcb_parts[2].iov_len = sizeof(xcb_out); 875 xcb_parts[3].iov_base = 0; 876 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 877 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 878 return xcb_ret; 879 } 880 881 882 /***************************************************************************** 883 ** 884 ** xcb_void_cookie_t xcb_sync_change_counter 885 ** 886 ** @param xcb_connection_t *c 887 ** @param xcb_sync_counter_t counter 888 ** @param xcb_sync_int64_t amount 889 ** @returns xcb_void_cookie_t 890 ** 891 *****************************************************************************/ 892 893 xcb_void_cookie_t 894 xcb_sync_change_counter (xcb_connection_t *c /**< */, 895 xcb_sync_counter_t counter /**< */, 896 xcb_sync_int64_t amount /**< */) 897 { 898 static const xcb_protocol_request_t xcb_req = { 899 /* count */ 2, 900 /* ext */ &xcb_sync_id, 901 /* opcode */ XCB_SYNC_CHANGE_COUNTER, 902 /* isvoid */ 1 903 }; 904 905 struct iovec xcb_parts[4]; 906 xcb_void_cookie_t xcb_ret; 907 xcb_sync_change_counter_request_t xcb_out; 908 909 xcb_out.counter = counter; 910 xcb_out.amount = amount; 911 912 xcb_parts[2].iov_base = (char *) &xcb_out; 913 xcb_parts[2].iov_len = sizeof(xcb_out); 914 xcb_parts[3].iov_base = 0; 915 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 916 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 917 return xcb_ret; 918 } 919 920 921 /***************************************************************************** 922 ** 923 ** xcb_void_cookie_t xcb_sync_set_counter_checked 924 ** 925 ** @param xcb_connection_t *c 926 ** @param xcb_sync_counter_t counter 927 ** @param xcb_sync_int64_t value 928 ** @returns xcb_void_cookie_t 929 ** 930 *****************************************************************************/ 931 932 xcb_void_cookie_t 933 xcb_sync_set_counter_checked (xcb_connection_t *c /**< */, 934 xcb_sync_counter_t counter /**< */, 935 xcb_sync_int64_t value /**< */) 936 { 937 static const xcb_protocol_request_t xcb_req = { 938 /* count */ 2, 939 /* ext */ &xcb_sync_id, 940 /* opcode */ XCB_SYNC_SET_COUNTER, 941 /* isvoid */ 1 942 }; 943 944 struct iovec xcb_parts[4]; 945 xcb_void_cookie_t xcb_ret; 946 xcb_sync_set_counter_request_t xcb_out; 947 948 xcb_out.counter = counter; 949 xcb_out.value = value; 950 951 xcb_parts[2].iov_base = (char *) &xcb_out; 952 xcb_parts[2].iov_len = sizeof(xcb_out); 953 xcb_parts[3].iov_base = 0; 954 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 955 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 956 return xcb_ret; 957 } 958 959 960 /***************************************************************************** 961 ** 962 ** xcb_void_cookie_t xcb_sync_set_counter 963 ** 964 ** @param xcb_connection_t *c 965 ** @param xcb_sync_counter_t counter 966 ** @param xcb_sync_int64_t value 967 ** @returns xcb_void_cookie_t 968 ** 969 *****************************************************************************/ 970 971 xcb_void_cookie_t 972 xcb_sync_set_counter (xcb_connection_t *c /**< */, 973 xcb_sync_counter_t counter /**< */, 974 xcb_sync_int64_t value /**< */) 975 { 976 static const xcb_protocol_request_t xcb_req = { 977 /* count */ 2, 978 /* ext */ &xcb_sync_id, 979 /* opcode */ XCB_SYNC_SET_COUNTER, 980 /* isvoid */ 1 981 }; 982 983 struct iovec xcb_parts[4]; 984 xcb_void_cookie_t xcb_ret; 985 xcb_sync_set_counter_request_t xcb_out; 986 987 xcb_out.counter = counter; 988 xcb_out.value = value; 989 990 xcb_parts[2].iov_base = (char *) &xcb_out; 991 xcb_parts[2].iov_len = sizeof(xcb_out); 992 xcb_parts[3].iov_base = 0; 993 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 994 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 995 return xcb_ret; 996 } 997 998 999 /***************************************************************************** 1000 ** 1001 ** xcb_void_cookie_t xcb_sync_create_alarm_checked 1002 ** 1003 ** @param xcb_connection_t *c 1004 ** @param xcb_sync_alarm_t id 1005 ** @param uint32_t value_mask 1006 ** @param const uint32_t *value_list 1007 ** @returns xcb_void_cookie_t 1008 ** 1009 *****************************************************************************/ 1010 1011 xcb_void_cookie_t 1012 xcb_sync_create_alarm_checked (xcb_connection_t *c /**< */, 1013 xcb_sync_alarm_t id /**< */, 1014 uint32_t value_mask /**< */, 1015 const uint32_t *value_list /**< */) 1016 { 1017 static const xcb_protocol_request_t xcb_req = { 1018 /* count */ 4, 1019 /* ext */ &xcb_sync_id, 1020 /* opcode */ XCB_SYNC_CREATE_ALARM, 1021 /* isvoid */ 1 1022 }; 1023 1024 struct iovec xcb_parts[6]; 1025 xcb_void_cookie_t xcb_ret; 1026 xcb_sync_create_alarm_request_t xcb_out; 1027 1028 xcb_out.id = id; 1029 xcb_out.value_mask = value_mask; 1030 1031 xcb_parts[2].iov_base = (char *) &xcb_out; 1032 xcb_parts[2].iov_len = sizeof(xcb_out); 1033 xcb_parts[3].iov_base = 0; 1034 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1035 xcb_parts[4].iov_base = (char *) value_list; 1036 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 1037 xcb_parts[5].iov_base = 0; 1038 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1039 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1040 return xcb_ret; 1041 } 1042 1043 1044 /***************************************************************************** 1045 ** 1046 ** xcb_void_cookie_t xcb_sync_create_alarm 1047 ** 1048 ** @param xcb_connection_t *c 1049 ** @param xcb_sync_alarm_t id 1050 ** @param uint32_t value_mask 1051 ** @param const uint32_t *value_list 1052 ** @returns xcb_void_cookie_t 1053 ** 1054 *****************************************************************************/ 1055 1056 xcb_void_cookie_t 1057 xcb_sync_create_alarm (xcb_connection_t *c /**< */, 1058 xcb_sync_alarm_t id /**< */, 1059 uint32_t value_mask /**< */, 1060 const uint32_t *value_list /**< */) 1061 { 1062 static const xcb_protocol_request_t xcb_req = { 1063 /* count */ 4, 1064 /* ext */ &xcb_sync_id, 1065 /* opcode */ XCB_SYNC_CREATE_ALARM, 1066 /* isvoid */ 1 1067 }; 1068 1069 struct iovec xcb_parts[6]; 1070 xcb_void_cookie_t xcb_ret; 1071 xcb_sync_create_alarm_request_t xcb_out; 1072 1073 xcb_out.id = id; 1074 xcb_out.value_mask = value_mask; 1075 1076 xcb_parts[2].iov_base = (char *) &xcb_out; 1077 xcb_parts[2].iov_len = sizeof(xcb_out); 1078 xcb_parts[3].iov_base = 0; 1079 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1080 xcb_parts[4].iov_base = (char *) value_list; 1081 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 1082 xcb_parts[5].iov_base = 0; 1083 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1084 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1085 return xcb_ret; 1086 } 1087 1088 1089 /***************************************************************************** 1090 ** 1091 ** xcb_void_cookie_t xcb_sync_change_alarm_checked 1092 ** 1093 ** @param xcb_connection_t *c 1094 ** @param xcb_sync_alarm_t id 1095 ** @param uint32_t value_mask 1096 ** @param const uint32_t *value_list 1097 ** @returns xcb_void_cookie_t 1098 ** 1099 *****************************************************************************/ 1100 1101 xcb_void_cookie_t 1102 xcb_sync_change_alarm_checked (xcb_connection_t *c /**< */, 1103 xcb_sync_alarm_t id /**< */, 1104 uint32_t value_mask /**< */, 1105 const uint32_t *value_list /**< */) 1106 { 1107 static const xcb_protocol_request_t xcb_req = { 1108 /* count */ 4, 1109 /* ext */ &xcb_sync_id, 1110 /* opcode */ XCB_SYNC_CHANGE_ALARM, 1111 /* isvoid */ 1 1112 }; 1113 1114 struct iovec xcb_parts[6]; 1115 xcb_void_cookie_t xcb_ret; 1116 xcb_sync_change_alarm_request_t xcb_out; 1117 1118 xcb_out.id = id; 1119 xcb_out.value_mask = value_mask; 1120 1121 xcb_parts[2].iov_base = (char *) &xcb_out; 1122 xcb_parts[2].iov_len = sizeof(xcb_out); 1123 xcb_parts[3].iov_base = 0; 1124 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1125 xcb_parts[4].iov_base = (char *) value_list; 1126 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 1127 xcb_parts[5].iov_base = 0; 1128 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1129 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1130 return xcb_ret; 1131 } 1132 1133 1134 /***************************************************************************** 1135 ** 1136 ** xcb_void_cookie_t xcb_sync_change_alarm 1137 ** 1138 ** @param xcb_connection_t *c 1139 ** @param xcb_sync_alarm_t id 1140 ** @param uint32_t value_mask 1141 ** @param const uint32_t *value_list 1142 ** @returns xcb_void_cookie_t 1143 ** 1144 *****************************************************************************/ 1145 1146 xcb_void_cookie_t 1147 xcb_sync_change_alarm (xcb_connection_t *c /**< */, 1148 xcb_sync_alarm_t id /**< */, 1149 uint32_t value_mask /**< */, 1150 const uint32_t *value_list /**< */) 1151 { 1152 static const xcb_protocol_request_t xcb_req = { 1153 /* count */ 4, 1154 /* ext */ &xcb_sync_id, 1155 /* opcode */ XCB_SYNC_CHANGE_ALARM, 1156 /* isvoid */ 1 1157 }; 1158 1159 struct iovec xcb_parts[6]; 1160 xcb_void_cookie_t xcb_ret; 1161 xcb_sync_change_alarm_request_t xcb_out; 1162 1163 xcb_out.id = id; 1164 xcb_out.value_mask = value_mask; 1165 1166 xcb_parts[2].iov_base = (char *) &xcb_out; 1167 xcb_parts[2].iov_len = sizeof(xcb_out); 1168 xcb_parts[3].iov_base = 0; 1169 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1170 xcb_parts[4].iov_base = (char *) value_list; 1171 xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t); 1172 xcb_parts[5].iov_base = 0; 1173 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1174 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1175 return xcb_ret; 1176 } 1177 1178 1179 /***************************************************************************** 1180 ** 1181 ** xcb_void_cookie_t xcb_sync_destroy_alarm_checked 1182 ** 1183 ** @param xcb_connection_t *c 1184 ** @param xcb_sync_alarm_t alarm 1185 ** @returns xcb_void_cookie_t 1186 ** 1187 *****************************************************************************/ 1188 1189 xcb_void_cookie_t 1190 xcb_sync_destroy_alarm_checked (xcb_connection_t *c /**< */, 1191 xcb_sync_alarm_t alarm /**< */) 1192 { 1193 static const xcb_protocol_request_t xcb_req = { 1194 /* count */ 2, 1195 /* ext */ &xcb_sync_id, 1196 /* opcode */ XCB_SYNC_DESTROY_ALARM, 1197 /* isvoid */ 1 1198 }; 1199 1200 struct iovec xcb_parts[4]; 1201 xcb_void_cookie_t xcb_ret; 1202 xcb_sync_destroy_alarm_request_t xcb_out; 1203 1204 xcb_out.alarm = alarm; 1205 1206 xcb_parts[2].iov_base = (char *) &xcb_out; 1207 xcb_parts[2].iov_len = sizeof(xcb_out); 1208 xcb_parts[3].iov_base = 0; 1209 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1210 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1211 return xcb_ret; 1212 } 1213 1214 1215 /***************************************************************************** 1216 ** 1217 ** xcb_void_cookie_t xcb_sync_destroy_alarm 1218 ** 1219 ** @param xcb_connection_t *c 1220 ** @param xcb_sync_alarm_t alarm 1221 ** @returns xcb_void_cookie_t 1222 ** 1223 *****************************************************************************/ 1224 1225 xcb_void_cookie_t 1226 xcb_sync_destroy_alarm (xcb_connection_t *c /**< */, 1227 xcb_sync_alarm_t alarm /**< */) 1228 { 1229 static const xcb_protocol_request_t xcb_req = { 1230 /* count */ 2, 1231 /* ext */ &xcb_sync_id, 1232 /* opcode */ XCB_SYNC_DESTROY_ALARM, 1233 /* isvoid */ 1 1234 }; 1235 1236 struct iovec xcb_parts[4]; 1237 xcb_void_cookie_t xcb_ret; 1238 xcb_sync_destroy_alarm_request_t xcb_out; 1239 1240 xcb_out.alarm = alarm; 1241 1242 xcb_parts[2].iov_base = (char *) &xcb_out; 1243 xcb_parts[2].iov_len = sizeof(xcb_out); 1244 xcb_parts[3].iov_base = 0; 1245 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1246 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1247 return xcb_ret; 1248 } 1249 1250 1251 /***************************************************************************** 1252 ** 1253 ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm 1254 ** 1255 ** @param xcb_connection_t *c 1256 ** @param xcb_sync_alarm_t alarm 1257 ** @returns xcb_sync_query_alarm_cookie_t 1258 ** 1259 *****************************************************************************/ 1260 1261 xcb_sync_query_alarm_cookie_t 1262 xcb_sync_query_alarm (xcb_connection_t *c /**< */, 1263 xcb_sync_alarm_t alarm /**< */) 1264 { 1265 static const xcb_protocol_request_t xcb_req = { 1266 /* count */ 2, 1267 /* ext */ &xcb_sync_id, 1268 /* opcode */ XCB_SYNC_QUERY_ALARM, 1269 /* isvoid */ 0 1270 }; 1271 1272 struct iovec xcb_parts[4]; 1273 xcb_sync_query_alarm_cookie_t xcb_ret; 1274 xcb_sync_query_alarm_request_t xcb_out; 1275 1276 xcb_out.alarm = alarm; 1277 1278 xcb_parts[2].iov_base = (char *) &xcb_out; 1279 xcb_parts[2].iov_len = sizeof(xcb_out); 1280 xcb_parts[3].iov_base = 0; 1281 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1282 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1283 return xcb_ret; 1284 } 1285 1286 1287 /***************************************************************************** 1288 ** 1289 ** xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm_unchecked 1290 ** 1291 ** @param xcb_connection_t *c 1292 ** @param xcb_sync_alarm_t alarm 1293 ** @returns xcb_sync_query_alarm_cookie_t 1294 ** 1295 *****************************************************************************/ 1296 1297 xcb_sync_query_alarm_cookie_t 1298 xcb_sync_query_alarm_unchecked (xcb_connection_t *c /**< */, 1299 xcb_sync_alarm_t alarm /**< */) 1300 { 1301 static const xcb_protocol_request_t xcb_req = { 1302 /* count */ 2, 1303 /* ext */ &xcb_sync_id, 1304 /* opcode */ XCB_SYNC_QUERY_ALARM, 1305 /* isvoid */ 0 1306 }; 1307 1308 struct iovec xcb_parts[4]; 1309 xcb_sync_query_alarm_cookie_t xcb_ret; 1310 xcb_sync_query_alarm_request_t xcb_out; 1311 1312 xcb_out.alarm = alarm; 1313 1314 xcb_parts[2].iov_base = (char *) &xcb_out; 1315 xcb_parts[2].iov_len = sizeof(xcb_out); 1316 xcb_parts[3].iov_base = 0; 1317 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1318 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1319 return xcb_ret; 1320 } 1321 1322 1323 /***************************************************************************** 1324 ** 1325 ** xcb_sync_query_alarm_reply_t * xcb_sync_query_alarm_reply 1326 ** 1327 ** @param xcb_connection_t *c 1328 ** @param xcb_sync_query_alarm_cookie_t cookie 1329 ** @param xcb_generic_error_t **e 1330 ** @returns xcb_sync_query_alarm_reply_t * 1331 ** 1332 *****************************************************************************/ 1333 1334 xcb_sync_query_alarm_reply_t * 1335 xcb_sync_query_alarm_reply (xcb_connection_t *c /**< */, 1336 xcb_sync_query_alarm_cookie_t cookie /**< */, 1337 xcb_generic_error_t **e /**< */) 1338 { 1339 return (xcb_sync_query_alarm_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1340 } 1341 1342 1343 /***************************************************************************** 1344 ** 1345 ** xcb_void_cookie_t xcb_sync_set_priority_checked 1346 ** 1347 ** @param xcb_connection_t *c 1348 ** @param uint32_t id 1349 ** @param int32_t priority 1350 ** @returns xcb_void_cookie_t 1351 ** 1352 *****************************************************************************/ 1353 1354 xcb_void_cookie_t 1355 xcb_sync_set_priority_checked (xcb_connection_t *c /**< */, 1356 uint32_t id /**< */, 1357 int32_t priority /**< */) 1358 { 1359 static const xcb_protocol_request_t xcb_req = { 1360 /* count */ 2, 1361 /* ext */ &xcb_sync_id, 1362 /* opcode */ XCB_SYNC_SET_PRIORITY, 1363 /* isvoid */ 1 1364 }; 1365 1366 struct iovec xcb_parts[4]; 1367 xcb_void_cookie_t xcb_ret; 1368 xcb_sync_set_priority_request_t xcb_out; 1369 1370 xcb_out.id = id; 1371 xcb_out.priority = priority; 1372 1373 xcb_parts[2].iov_base = (char *) &xcb_out; 1374 xcb_parts[2].iov_len = sizeof(xcb_out); 1375 xcb_parts[3].iov_base = 0; 1376 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1377 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1378 return xcb_ret; 1379 } 1380 1381 1382 /***************************************************************************** 1383 ** 1384 ** xcb_void_cookie_t xcb_sync_set_priority 1385 ** 1386 ** @param xcb_connection_t *c 1387 ** @param uint32_t id 1388 ** @param int32_t priority 1389 ** @returns xcb_void_cookie_t 1390 ** 1391 *****************************************************************************/ 1392 1393 xcb_void_cookie_t 1394 xcb_sync_set_priority (xcb_connection_t *c /**< */, 1395 uint32_t id /**< */, 1396 int32_t priority /**< */) 1397 { 1398 static const xcb_protocol_request_t xcb_req = { 1399 /* count */ 2, 1400 /* ext */ &xcb_sync_id, 1401 /* opcode */ XCB_SYNC_SET_PRIORITY, 1402 /* isvoid */ 1 1403 }; 1404 1405 struct iovec xcb_parts[4]; 1406 xcb_void_cookie_t xcb_ret; 1407 xcb_sync_set_priority_request_t xcb_out; 1408 1409 xcb_out.id = id; 1410 xcb_out.priority = priority; 1411 1412 xcb_parts[2].iov_base = (char *) &xcb_out; 1413 xcb_parts[2].iov_len = sizeof(xcb_out); 1414 xcb_parts[3].iov_base = 0; 1415 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1416 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1417 return xcb_ret; 1418 } 1419 1420 1421 /***************************************************************************** 1422 ** 1423 ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority 1424 ** 1425 ** @param xcb_connection_t *c 1426 ** @param uint32_t id 1427 ** @returns xcb_sync_get_priority_cookie_t 1428 ** 1429 *****************************************************************************/ 1430 1431 xcb_sync_get_priority_cookie_t 1432 xcb_sync_get_priority (xcb_connection_t *c /**< */, 1433 uint32_t id /**< */) 1434 { 1435 static const xcb_protocol_request_t xcb_req = { 1436 /* count */ 2, 1437 /* ext */ &xcb_sync_id, 1438 /* opcode */ XCB_SYNC_GET_PRIORITY, 1439 /* isvoid */ 0 1440 }; 1441 1442 struct iovec xcb_parts[4]; 1443 xcb_sync_get_priority_cookie_t xcb_ret; 1444 xcb_sync_get_priority_request_t xcb_out; 1445 1446 xcb_out.id = id; 1447 1448 xcb_parts[2].iov_base = (char *) &xcb_out; 1449 xcb_parts[2].iov_len = sizeof(xcb_out); 1450 xcb_parts[3].iov_base = 0; 1451 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1452 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1453 return xcb_ret; 1454 } 1455 1456 1457 /***************************************************************************** 1458 ** 1459 ** xcb_sync_get_priority_cookie_t xcb_sync_get_priority_unchecked 1460 ** 1461 ** @param xcb_connection_t *c 1462 ** @param uint32_t id 1463 ** @returns xcb_sync_get_priority_cookie_t 1464 ** 1465 *****************************************************************************/ 1466 1467 xcb_sync_get_priority_cookie_t 1468 xcb_sync_get_priority_unchecked (xcb_connection_t *c /**< */, 1469 uint32_t id /**< */) 1470 { 1471 static const xcb_protocol_request_t xcb_req = { 1472 /* count */ 2, 1473 /* ext */ &xcb_sync_id, 1474 /* opcode */ XCB_SYNC_GET_PRIORITY, 1475 /* isvoid */ 0 1476 }; 1477 1478 struct iovec xcb_parts[4]; 1479 xcb_sync_get_priority_cookie_t xcb_ret; 1480 xcb_sync_get_priority_request_t xcb_out; 1481 1482 xcb_out.id = id; 1483 1484 xcb_parts[2].iov_base = (char *) &xcb_out; 1485 xcb_parts[2].iov_len = sizeof(xcb_out); 1486 xcb_parts[3].iov_base = 0; 1487 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1488 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1489 return xcb_ret; 1490 } 1491 1492 1493 /***************************************************************************** 1494 ** 1495 ** xcb_sync_get_priority_reply_t * xcb_sync_get_priority_reply 1496 ** 1497 ** @param xcb_connection_t *c 1498 ** @param xcb_sync_get_priority_cookie_t cookie 1499 ** @param xcb_generic_error_t **e 1500 ** @returns xcb_sync_get_priority_reply_t * 1501 ** 1502 *****************************************************************************/ 1503 1504 xcb_sync_get_priority_reply_t * 1505 xcb_sync_get_priority_reply (xcb_connection_t *c /**< */, 1506 xcb_sync_get_priority_cookie_t cookie /**< */, 1507 xcb_generic_error_t **e /**< */) 1508 { 1509 return (xcb_sync_get_priority_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1510 } 1511 1512