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