1 /* 2 * This file generated automatically from record.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB_Record_API XCB Record API 8 * @brief Record XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 #ifndef __RECORD_H 13 #define __RECORD_H 14 15 #include "xcb.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 #define XCB_RECORD_MAJOR_VERSION 1 22 #define XCB_RECORD_MINOR_VERSION 13 23 24 extern xcb_extension_t xcb_record_id; 25 26 typedef uint32_t xcb_record_context_t; 27 28 /** 29 * @brief xcb_record_context_iterator_t 30 **/ 31 typedef struct xcb_record_context_iterator_t { 32 xcb_record_context_t *data; 33 int rem; 34 int index; 35 } xcb_record_context_iterator_t; 36 37 /** 38 * @brief xcb_record_range_8_t 39 **/ 40 typedef struct xcb_record_range_8_t { 41 uint8_t first; 42 uint8_t last; 43 } xcb_record_range_8_t; 44 45 /** 46 * @brief xcb_record_range_8_iterator_t 47 **/ 48 typedef struct xcb_record_range_8_iterator_t { 49 xcb_record_range_8_t *data; 50 int rem; 51 int index; 52 } xcb_record_range_8_iterator_t; 53 54 /** 55 * @brief xcb_record_range_16_t 56 **/ 57 typedef struct xcb_record_range_16_t { 58 uint16_t first; 59 uint16_t last; 60 } xcb_record_range_16_t; 61 62 /** 63 * @brief xcb_record_range_16_iterator_t 64 **/ 65 typedef struct xcb_record_range_16_iterator_t { 66 xcb_record_range_16_t *data; 67 int rem; 68 int index; 69 } xcb_record_range_16_iterator_t; 70 71 /** 72 * @brief xcb_record_ext_range_t 73 **/ 74 typedef struct xcb_record_ext_range_t { 75 xcb_record_range_8_t major; 76 xcb_record_range_16_t minor; 77 } xcb_record_ext_range_t; 78 79 /** 80 * @brief xcb_record_ext_range_iterator_t 81 **/ 82 typedef struct xcb_record_ext_range_iterator_t { 83 xcb_record_ext_range_t *data; 84 int rem; 85 int index; 86 } xcb_record_ext_range_iterator_t; 87 88 /** 89 * @brief xcb_record_range_t 90 **/ 91 typedef struct xcb_record_range_t { 92 xcb_record_range_8_t core_requests; 93 xcb_record_range_8_t core_replies; 94 xcb_record_ext_range_t ext_requests; 95 xcb_record_ext_range_t ext_replies; 96 xcb_record_range_8_t delivered_events; 97 xcb_record_range_8_t device_events; 98 xcb_record_range_8_t errors; 99 uint8_t client_started; 100 uint8_t client_died; 101 } xcb_record_range_t; 102 103 /** 104 * @brief xcb_record_range_iterator_t 105 **/ 106 typedef struct xcb_record_range_iterator_t { 107 xcb_record_range_t *data; 108 int rem; 109 int index; 110 } xcb_record_range_iterator_t; 111 112 typedef uint8_t xcb_record_element_header_t; 113 114 /** 115 * @brief xcb_record_element_header_iterator_t 116 **/ 117 typedef struct xcb_record_element_header_iterator_t { 118 xcb_record_element_header_t *data; 119 int rem; 120 int index; 121 } xcb_record_element_header_iterator_t; 122 123 typedef enum xcb_record_h_type_t { 124 XCB_RECORD_H_TYPE_FROM_SERVER_TIME = 1, 125 XCB_RECORD_H_TYPE_FROM_CLIENT_TIME = 2, 126 XCB_RECORD_H_TYPE_FROM_CLIENT_SEQUENCE = 4 127 } xcb_record_h_type_t; 128 129 typedef uint32_t xcb_record_client_spec_t; 130 131 /** 132 * @brief xcb_record_client_spec_iterator_t 133 **/ 134 typedef struct xcb_record_client_spec_iterator_t { 135 xcb_record_client_spec_t *data; 136 int rem; 137 int index; 138 } xcb_record_client_spec_iterator_t; 139 140 typedef enum xcb_record_cs_t { 141 XCB_RECORD_CS_CURRENT_CLIENTS = 1, 142 XCB_RECORD_CS_FUTURE_CLIENTS = 2, 143 XCB_RECORD_CS_ALL_CLIENTS = 3 144 } xcb_record_cs_t; 145 146 /** 147 * @brief xcb_record_client_info_t 148 **/ 149 typedef struct xcb_record_client_info_t { 150 xcb_record_client_spec_t client_resource; 151 uint32_t num_ranges; 152 } xcb_record_client_info_t; 153 154 /** 155 * @brief xcb_record_client_info_iterator_t 156 **/ 157 typedef struct xcb_record_client_info_iterator_t { 158 xcb_record_client_info_t *data; 159 int rem; 160 int index; 161 } xcb_record_client_info_iterator_t; 162 163 /** Opcode for xcb_record_bad_context. */ 164 #define XCB_RECORD_BAD_CONTEXT 0 165 166 /** 167 * @brief xcb_record_bad_context_error_t 168 **/ 169 typedef struct xcb_record_bad_context_error_t { 170 uint8_t response_type; 171 uint8_t error_code; 172 uint16_t sequence; 173 uint32_t invalid_record; 174 uint16_t minor_opcode; 175 uint8_t major_opcode; 176 } xcb_record_bad_context_error_t; 177 178 /** 179 * @brief xcb_record_query_version_cookie_t 180 **/ 181 typedef struct xcb_record_query_version_cookie_t { 182 unsigned int sequence; 183 } xcb_record_query_version_cookie_t; 184 185 /** Opcode for xcb_record_query_version. */ 186 #define XCB_RECORD_QUERY_VERSION 0 187 188 /** 189 * @brief xcb_record_query_version_request_t 190 **/ 191 typedef struct xcb_record_query_version_request_t { 192 uint8_t major_opcode; 193 uint8_t minor_opcode; 194 uint16_t length; 195 uint16_t major_version; 196 uint16_t minor_version; 197 } xcb_record_query_version_request_t; 198 199 /** 200 * @brief xcb_record_query_version_reply_t 201 **/ 202 typedef struct xcb_record_query_version_reply_t { 203 uint8_t response_type; 204 uint8_t pad0; 205 uint16_t sequence; 206 uint32_t length; 207 uint16_t major_version; 208 uint16_t minor_version; 209 } xcb_record_query_version_reply_t; 210 211 /** Opcode for xcb_record_create_context. */ 212 #define XCB_RECORD_CREATE_CONTEXT 1 213 214 /** 215 * @brief xcb_record_create_context_request_t 216 **/ 217 typedef struct xcb_record_create_context_request_t { 218 uint8_t major_opcode; 219 uint8_t minor_opcode; 220 uint16_t length; 221 xcb_record_context_t context; 222 xcb_record_element_header_t element_header; 223 uint8_t pad0[3]; 224 uint32_t num_client_specs; 225 uint32_t num_ranges; 226 } xcb_record_create_context_request_t; 227 228 /** Opcode for xcb_record_register_clients. */ 229 #define XCB_RECORD_REGISTER_CLIENTS 2 230 231 /** 232 * @brief xcb_record_register_clients_request_t 233 **/ 234 typedef struct xcb_record_register_clients_request_t { 235 uint8_t major_opcode; 236 uint8_t minor_opcode; 237 uint16_t length; 238 xcb_record_context_t context; 239 xcb_record_element_header_t element_header; 240 uint8_t pad0[3]; 241 uint32_t num_client_specs; 242 uint32_t num_ranges; 243 } xcb_record_register_clients_request_t; 244 245 /** Opcode for xcb_record_unregister_clients. */ 246 #define XCB_RECORD_UNREGISTER_CLIENTS 3 247 248 /** 249 * @brief xcb_record_unregister_clients_request_t 250 **/ 251 typedef struct xcb_record_unregister_clients_request_t { 252 uint8_t major_opcode; 253 uint8_t minor_opcode; 254 uint16_t length; 255 xcb_record_context_t context; 256 uint32_t num_client_specs; 257 } xcb_record_unregister_clients_request_t; 258 259 /** 260 * @brief xcb_record_get_context_cookie_t 261 **/ 262 typedef struct xcb_record_get_context_cookie_t { 263 unsigned int sequence; 264 } xcb_record_get_context_cookie_t; 265 266 /** Opcode for xcb_record_get_context. */ 267 #define XCB_RECORD_GET_CONTEXT 4 268 269 /** 270 * @brief xcb_record_get_context_request_t 271 **/ 272 typedef struct xcb_record_get_context_request_t { 273 uint8_t major_opcode; 274 uint8_t minor_opcode; 275 uint16_t length; 276 xcb_record_context_t context; 277 } xcb_record_get_context_request_t; 278 279 /** 280 * @brief xcb_record_get_context_reply_t 281 **/ 282 typedef struct xcb_record_get_context_reply_t { 283 uint8_t response_type; 284 uint8_t enabled; 285 uint16_t sequence; 286 uint32_t length; 287 xcb_record_element_header_t element_header; 288 uint8_t pad0[3]; 289 uint32_t num_intercepted_clients; 290 uint8_t pad1[16]; 291 } xcb_record_get_context_reply_t; 292 293 /** 294 * @brief xcb_record_enable_context_cookie_t 295 **/ 296 typedef struct xcb_record_enable_context_cookie_t { 297 unsigned int sequence; 298 } xcb_record_enable_context_cookie_t; 299 300 /** Opcode for xcb_record_enable_context. */ 301 #define XCB_RECORD_ENABLE_CONTEXT 5 302 303 /** 304 * @brief xcb_record_enable_context_request_t 305 **/ 306 typedef struct xcb_record_enable_context_request_t { 307 uint8_t major_opcode; 308 uint8_t minor_opcode; 309 uint16_t length; 310 xcb_record_context_t context; 311 } xcb_record_enable_context_request_t; 312 313 /** 314 * @brief xcb_record_enable_context_reply_t 315 **/ 316 typedef struct xcb_record_enable_context_reply_t { 317 uint8_t response_type; 318 uint8_t category; 319 uint16_t sequence; 320 uint32_t length; 321 xcb_record_element_header_t element_header; 322 uint8_t client_swapped; 323 uint8_t pad0[2]; 324 uint32_t xid_base; 325 uint32_t server_time; 326 uint32_t rec_sequence_num; 327 uint8_t pad1[8]; 328 } xcb_record_enable_context_reply_t; 329 330 /** Opcode for xcb_record_disable_context. */ 331 #define XCB_RECORD_DISABLE_CONTEXT 6 332 333 /** 334 * @brief xcb_record_disable_context_request_t 335 **/ 336 typedef struct xcb_record_disable_context_request_t { 337 uint8_t major_opcode; 338 uint8_t minor_opcode; 339 uint16_t length; 340 xcb_record_context_t context; 341 } xcb_record_disable_context_request_t; 342 343 /** Opcode for xcb_record_free_context. */ 344 #define XCB_RECORD_FREE_CONTEXT 7 345 346 /** 347 * @brief xcb_record_free_context_request_t 348 **/ 349 typedef struct xcb_record_free_context_request_t { 350 uint8_t major_opcode; 351 uint8_t minor_opcode; 352 uint16_t length; 353 xcb_record_context_t context; 354 } xcb_record_free_context_request_t; 355 356 /** 357 * Get the next element of the iterator 358 * @param i Pointer to a xcb_record_context_iterator_t 359 * 360 * Get the next element in the iterator. The member rem is 361 * decreased by one. The member data points to the next 362 * element. The member index is increased by sizeof(xcb_record_context_t) 363 */ 364 void 365 xcb_record_context_next (xcb_record_context_iterator_t *i); 366 367 /** 368 * Return the iterator pointing to the last element 369 * @param i An xcb_record_context_iterator_t 370 * @return The iterator pointing to the last element 371 * 372 * Set the current element in the iterator to the last element. 373 * The member rem is set to 0. The member data points to the 374 * last element. 375 */ 376 xcb_generic_iterator_t 377 xcb_record_context_end (xcb_record_context_iterator_t i); 378 379 /** 380 * Get the next element of the iterator 381 * @param i Pointer to a xcb_record_range_8_iterator_t 382 * 383 * Get the next element in the iterator. The member rem is 384 * decreased by one. The member data points to the next 385 * element. The member index is increased by sizeof(xcb_record_range_8_t) 386 */ 387 void 388 xcb_record_range_8_next (xcb_record_range_8_iterator_t *i); 389 390 /** 391 * Return the iterator pointing to the last element 392 * @param i An xcb_record_range_8_iterator_t 393 * @return The iterator pointing to the last element 394 * 395 * Set the current element in the iterator to the last element. 396 * The member rem is set to 0. The member data points to the 397 * last element. 398 */ 399 xcb_generic_iterator_t 400 xcb_record_range_8_end (xcb_record_range_8_iterator_t i); 401 402 /** 403 * Get the next element of the iterator 404 * @param i Pointer to a xcb_record_range_16_iterator_t 405 * 406 * Get the next element in the iterator. The member rem is 407 * decreased by one. The member data points to the next 408 * element. The member index is increased by sizeof(xcb_record_range_16_t) 409 */ 410 void 411 xcb_record_range_16_next (xcb_record_range_16_iterator_t *i); 412 413 /** 414 * Return the iterator pointing to the last element 415 * @param i An xcb_record_range_16_iterator_t 416 * @return The iterator pointing to the last element 417 * 418 * Set the current element in the iterator to the last element. 419 * The member rem is set to 0. The member data points to the 420 * last element. 421 */ 422 xcb_generic_iterator_t 423 xcb_record_range_16_end (xcb_record_range_16_iterator_t i); 424 425 /** 426 * Get the next element of the iterator 427 * @param i Pointer to a xcb_record_ext_range_iterator_t 428 * 429 * Get the next element in the iterator. The member rem is 430 * decreased by one. The member data points to the next 431 * element. The member index is increased by sizeof(xcb_record_ext_range_t) 432 */ 433 void 434 xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i); 435 436 /** 437 * Return the iterator pointing to the last element 438 * @param i An xcb_record_ext_range_iterator_t 439 * @return The iterator pointing to the last element 440 * 441 * Set the current element in the iterator to the last element. 442 * The member rem is set to 0. The member data points to the 443 * last element. 444 */ 445 xcb_generic_iterator_t 446 xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i); 447 448 /** 449 * Get the next element of the iterator 450 * @param i Pointer to a xcb_record_range_iterator_t 451 * 452 * Get the next element in the iterator. The member rem is 453 * decreased by one. The member data points to the next 454 * element. The member index is increased by sizeof(xcb_record_range_t) 455 */ 456 void 457 xcb_record_range_next (xcb_record_range_iterator_t *i); 458 459 /** 460 * Return the iterator pointing to the last element 461 * @param i An xcb_record_range_iterator_t 462 * @return The iterator pointing to the last element 463 * 464 * Set the current element in the iterator to the last element. 465 * The member rem is set to 0. The member data points to the 466 * last element. 467 */ 468 xcb_generic_iterator_t 469 xcb_record_range_end (xcb_record_range_iterator_t i); 470 471 /** 472 * Get the next element of the iterator 473 * @param i Pointer to a xcb_record_element_header_iterator_t 474 * 475 * Get the next element in the iterator. The member rem is 476 * decreased by one. The member data points to the next 477 * element. The member index is increased by sizeof(xcb_record_element_header_t) 478 */ 479 void 480 xcb_record_element_header_next (xcb_record_element_header_iterator_t *i); 481 482 /** 483 * Return the iterator pointing to the last element 484 * @param i An xcb_record_element_header_iterator_t 485 * @return The iterator pointing to the last element 486 * 487 * Set the current element in the iterator to the last element. 488 * The member rem is set to 0. The member data points to the 489 * last element. 490 */ 491 xcb_generic_iterator_t 492 xcb_record_element_header_end (xcb_record_element_header_iterator_t i); 493 494 /** 495 * Get the next element of the iterator 496 * @param i Pointer to a xcb_record_client_spec_iterator_t 497 * 498 * Get the next element in the iterator. The member rem is 499 * decreased by one. The member data points to the next 500 * element. The member index is increased by sizeof(xcb_record_client_spec_t) 501 */ 502 void 503 xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i); 504 505 /** 506 * Return the iterator pointing to the last element 507 * @param i An xcb_record_client_spec_iterator_t 508 * @return The iterator pointing to the last element 509 * 510 * Set the current element in the iterator to the last element. 511 * The member rem is set to 0. The member data points to the 512 * last element. 513 */ 514 xcb_generic_iterator_t 515 xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i); 516 517 int 518 xcb_record_client_info_sizeof (const void *_buffer); 519 520 xcb_record_range_t * 521 xcb_record_client_info_ranges (const xcb_record_client_info_t *R); 522 523 int 524 xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R); 525 526 xcb_record_range_iterator_t 527 xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R); 528 529 /** 530 * Get the next element of the iterator 531 * @param i Pointer to a xcb_record_client_info_iterator_t 532 * 533 * Get the next element in the iterator. The member rem is 534 * decreased by one. The member data points to the next 535 * element. The member index is increased by sizeof(xcb_record_client_info_t) 536 */ 537 void 538 xcb_record_client_info_next (xcb_record_client_info_iterator_t *i); 539 540 /** 541 * Return the iterator pointing to the last element 542 * @param i An xcb_record_client_info_iterator_t 543 * @return The iterator pointing to the last element 544 * 545 * Set the current element in the iterator to the last element. 546 * The member rem is set to 0. The member data points to the 547 * last element. 548 */ 549 xcb_generic_iterator_t 550 xcb_record_client_info_end (xcb_record_client_info_iterator_t i); 551 552 /** 553 * 554 * @param c The connection 555 * @return A cookie 556 * 557 * Delivers a request to the X server. 558 * 559 */ 560 xcb_record_query_version_cookie_t 561 xcb_record_query_version (xcb_connection_t *c, 562 uint16_t major_version, 563 uint16_t minor_version); 564 565 /** 566 * 567 * @param c The connection 568 * @return A cookie 569 * 570 * Delivers a request to the X server. 571 * 572 * This form can be used only if the request will cause 573 * a reply to be generated. Any returned error will be 574 * placed in the event queue. 575 */ 576 xcb_record_query_version_cookie_t 577 xcb_record_query_version_unchecked (xcb_connection_t *c, 578 uint16_t major_version, 579 uint16_t minor_version); 580 581 /** 582 * Return the reply 583 * @param c The connection 584 * @param cookie The cookie 585 * @param e The xcb_generic_error_t supplied 586 * 587 * Returns the reply of the request asked by 588 * 589 * The parameter @p e supplied to this function must be NULL if 590 * xcb_record_query_version_unchecked(). is used. 591 * Otherwise, it stores the error if any. 592 * 593 * The returned value must be freed by the caller using free(). 594 */ 595 xcb_record_query_version_reply_t * 596 xcb_record_query_version_reply (xcb_connection_t *c, 597 xcb_record_query_version_cookie_t cookie /**< */, 598 xcb_generic_error_t **e); 599 600 int 601 xcb_record_create_context_sizeof (const void *_buffer); 602 603 /** 604 * 605 * @param c The connection 606 * @return A cookie 607 * 608 * Delivers a request to the X server. 609 * 610 * This form can be used only if the request will not cause 611 * a reply to be generated. Any returned error will be 612 * saved for handling by xcb_request_check(). 613 */ 614 xcb_void_cookie_t 615 xcb_record_create_context_checked (xcb_connection_t *c, 616 xcb_record_context_t context, 617 xcb_record_element_header_t element_header, 618 uint32_t num_client_specs, 619 uint32_t num_ranges, 620 const xcb_record_client_spec_t *client_specs, 621 const xcb_record_range_t *ranges); 622 623 /** 624 * 625 * @param c The connection 626 * @return A cookie 627 * 628 * Delivers a request to the X server. 629 * 630 */ 631 xcb_void_cookie_t 632 xcb_record_create_context (xcb_connection_t *c, 633 xcb_record_context_t context, 634 xcb_record_element_header_t element_header, 635 uint32_t num_client_specs, 636 uint32_t num_ranges, 637 const xcb_record_client_spec_t *client_specs, 638 const xcb_record_range_t *ranges); 639 640 xcb_record_client_spec_t * 641 xcb_record_create_context_client_specs (const xcb_record_create_context_request_t *R); 642 643 int 644 xcb_record_create_context_client_specs_length (const xcb_record_create_context_request_t *R); 645 646 xcb_generic_iterator_t 647 xcb_record_create_context_client_specs_end (const xcb_record_create_context_request_t *R); 648 649 xcb_record_range_t * 650 xcb_record_create_context_ranges (const xcb_record_create_context_request_t *R); 651 652 int 653 xcb_record_create_context_ranges_length (const xcb_record_create_context_request_t *R); 654 655 xcb_record_range_iterator_t 656 xcb_record_create_context_ranges_iterator (const xcb_record_create_context_request_t *R); 657 658 int 659 xcb_record_register_clients_sizeof (const void *_buffer); 660 661 /** 662 * 663 * @param c The connection 664 * @return A cookie 665 * 666 * Delivers a request to the X server. 667 * 668 * This form can be used only if the request will not cause 669 * a reply to be generated. Any returned error will be 670 * saved for handling by xcb_request_check(). 671 */ 672 xcb_void_cookie_t 673 xcb_record_register_clients_checked (xcb_connection_t *c, 674 xcb_record_context_t context, 675 xcb_record_element_header_t element_header, 676 uint32_t num_client_specs, 677 uint32_t num_ranges, 678 const xcb_record_client_spec_t *client_specs, 679 const xcb_record_range_t *ranges); 680 681 /** 682 * 683 * @param c The connection 684 * @return A cookie 685 * 686 * Delivers a request to the X server. 687 * 688 */ 689 xcb_void_cookie_t 690 xcb_record_register_clients (xcb_connection_t *c, 691 xcb_record_context_t context, 692 xcb_record_element_header_t element_header, 693 uint32_t num_client_specs, 694 uint32_t num_ranges, 695 const xcb_record_client_spec_t *client_specs, 696 const xcb_record_range_t *ranges); 697 698 xcb_record_client_spec_t * 699 xcb_record_register_clients_client_specs (const xcb_record_register_clients_request_t *R); 700 701 int 702 xcb_record_register_clients_client_specs_length (const xcb_record_register_clients_request_t *R); 703 704 xcb_generic_iterator_t 705 xcb_record_register_clients_client_specs_end (const xcb_record_register_clients_request_t *R); 706 707 xcb_record_range_t * 708 xcb_record_register_clients_ranges (const xcb_record_register_clients_request_t *R); 709 710 int 711 xcb_record_register_clients_ranges_length (const xcb_record_register_clients_request_t *R); 712 713 xcb_record_range_iterator_t 714 xcb_record_register_clients_ranges_iterator (const xcb_record_register_clients_request_t *R); 715 716 int 717 xcb_record_unregister_clients_sizeof (const void *_buffer); 718 719 /** 720 * 721 * @param c The connection 722 * @return A cookie 723 * 724 * Delivers a request to the X server. 725 * 726 * This form can be used only if the request will not cause 727 * a reply to be generated. Any returned error will be 728 * saved for handling by xcb_request_check(). 729 */ 730 xcb_void_cookie_t 731 xcb_record_unregister_clients_checked (xcb_connection_t *c, 732 xcb_record_context_t context, 733 uint32_t num_client_specs, 734 const xcb_record_client_spec_t *client_specs); 735 736 /** 737 * 738 * @param c The connection 739 * @return A cookie 740 * 741 * Delivers a request to the X server. 742 * 743 */ 744 xcb_void_cookie_t 745 xcb_record_unregister_clients (xcb_connection_t *c, 746 xcb_record_context_t context, 747 uint32_t num_client_specs, 748 const xcb_record_client_spec_t *client_specs); 749 750 xcb_record_client_spec_t * 751 xcb_record_unregister_clients_client_specs (const xcb_record_unregister_clients_request_t *R); 752 753 int 754 xcb_record_unregister_clients_client_specs_length (const xcb_record_unregister_clients_request_t *R); 755 756 xcb_generic_iterator_t 757 xcb_record_unregister_clients_client_specs_end (const xcb_record_unregister_clients_request_t *R); 758 759 int 760 xcb_record_get_context_sizeof (const void *_buffer); 761 762 /** 763 * 764 * @param c The connection 765 * @return A cookie 766 * 767 * Delivers a request to the X server. 768 * 769 */ 770 xcb_record_get_context_cookie_t 771 xcb_record_get_context (xcb_connection_t *c, 772 xcb_record_context_t context); 773 774 /** 775 * 776 * @param c The connection 777 * @return A cookie 778 * 779 * Delivers a request to the X server. 780 * 781 * This form can be used only if the request will cause 782 * a reply to be generated. Any returned error will be 783 * placed in the event queue. 784 */ 785 xcb_record_get_context_cookie_t 786 xcb_record_get_context_unchecked (xcb_connection_t *c, 787 xcb_record_context_t context); 788 789 int 790 xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R); 791 792 xcb_record_client_info_iterator_t 793 xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R); 794 795 /** 796 * Return the reply 797 * @param c The connection 798 * @param cookie The cookie 799 * @param e The xcb_generic_error_t supplied 800 * 801 * Returns the reply of the request asked by 802 * 803 * The parameter @p e supplied to this function must be NULL if 804 * xcb_record_get_context_unchecked(). is used. 805 * Otherwise, it stores the error if any. 806 * 807 * The returned value must be freed by the caller using free(). 808 */ 809 xcb_record_get_context_reply_t * 810 xcb_record_get_context_reply (xcb_connection_t *c, 811 xcb_record_get_context_cookie_t cookie /**< */, 812 xcb_generic_error_t **e); 813 814 int 815 xcb_record_enable_context_sizeof (const void *_buffer); 816 817 /** 818 * 819 * @param c The connection 820 * @return A cookie 821 * 822 * Delivers a request to the X server. 823 * 824 */ 825 xcb_record_enable_context_cookie_t 826 xcb_record_enable_context (xcb_connection_t *c, 827 xcb_record_context_t context); 828 829 /** 830 * 831 * @param c The connection 832 * @return A cookie 833 * 834 * Delivers a request to the X server. 835 * 836 * This form can be used only if the request will cause 837 * a reply to be generated. Any returned error will be 838 * placed in the event queue. 839 */ 840 xcb_record_enable_context_cookie_t 841 xcb_record_enable_context_unchecked (xcb_connection_t *c, 842 xcb_record_context_t context); 843 844 uint8_t * 845 xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R); 846 847 int 848 xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R); 849 850 xcb_generic_iterator_t 851 xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R); 852 853 /** 854 * Return the reply 855 * @param c The connection 856 * @param cookie The cookie 857 * @param e The xcb_generic_error_t supplied 858 * 859 * Returns the reply of the request asked by 860 * 861 * The parameter @p e supplied to this function must be NULL if 862 * xcb_record_enable_context_unchecked(). is used. 863 * Otherwise, it stores the error if any. 864 * 865 * The returned value must be freed by the caller using free(). 866 */ 867 xcb_record_enable_context_reply_t * 868 xcb_record_enable_context_reply (xcb_connection_t *c, 869 xcb_record_enable_context_cookie_t cookie /**< */, 870 xcb_generic_error_t **e); 871 872 /** 873 * 874 * @param c The connection 875 * @return A cookie 876 * 877 * Delivers a request to the X server. 878 * 879 * This form can be used only if the request will not cause 880 * a reply to be generated. Any returned error will be 881 * saved for handling by xcb_request_check(). 882 */ 883 xcb_void_cookie_t 884 xcb_record_disable_context_checked (xcb_connection_t *c, 885 xcb_record_context_t context); 886 887 /** 888 * 889 * @param c The connection 890 * @return A cookie 891 * 892 * Delivers a request to the X server. 893 * 894 */ 895 xcb_void_cookie_t 896 xcb_record_disable_context (xcb_connection_t *c, 897 xcb_record_context_t context); 898 899 /** 900 * 901 * @param c The connection 902 * @return A cookie 903 * 904 * Delivers a request to the X server. 905 * 906 * This form can be used only if the request will not cause 907 * a reply to be generated. Any returned error will be 908 * saved for handling by xcb_request_check(). 909 */ 910 xcb_void_cookie_t 911 xcb_record_free_context_checked (xcb_connection_t *c, 912 xcb_record_context_t context); 913 914 /** 915 * 916 * @param c The connection 917 * @return A cookie 918 * 919 * Delivers a request to the X server. 920 * 921 */ 922 xcb_void_cookie_t 923 xcb_record_free_context (xcb_connection_t *c, 924 xcb_record_context_t context); 925 926 927 #ifdef __cplusplus 928 } 929 #endif 930 931 #endif 932 933 /** 934 * @} 935 */ 936