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 18extern "C" { 19#endif 20 21#define XCB_RECORD_MAJOR_VERSION 1 22#define XCB_RECORD_MINOR_VERSION 13 23 24extern xcb_extension_t xcb_record_id; 25 26typedef uint32_t xcb_record_context_t; 27 28/** 29 * @brief xcb_record_context_iterator_t 30 **/ 31typedef 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 **/ 40typedef 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 **/ 48typedef 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 **/ 57typedef 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 **/ 65typedef 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 **/ 74typedef 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 **/ 82typedef 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 **/ 91typedef 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 **/ 106typedef 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 112typedef uint8_t xcb_record_element_header_t; 113 114/** 115 * @brief xcb_record_element_header_iterator_t 116 **/ 117typedef 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 123typedef 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 129typedef uint32_t xcb_record_client_spec_t; 130 131/** 132 * @brief xcb_record_client_spec_iterator_t 133 **/ 134typedef 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 140typedef 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 **/ 149typedef 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 **/ 157typedef 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 **/ 169typedef 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 **/ 181typedef 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 **/ 191typedef 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 **/ 202typedef 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 **/ 217typedef 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 **/ 234typedef 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 **/ 251typedef 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 **/ 262typedef 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 **/ 272typedef 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 **/ 282typedef 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 **/ 296typedef 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 **/ 306typedef 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 **/ 316typedef 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 **/ 336typedef 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 **/ 349typedef 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 */ 364void 365xcb_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 */ 376xcb_generic_iterator_t 377xcb_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 */ 387void 388xcb_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 */ 399xcb_generic_iterator_t 400xcb_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 */ 410void 411xcb_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 */ 422xcb_generic_iterator_t 423xcb_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 */ 433void 434xcb_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 */ 445xcb_generic_iterator_t 446xcb_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 */ 456void 457xcb_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 */ 468xcb_generic_iterator_t 469xcb_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 */ 479void 480xcb_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 */ 491xcb_generic_iterator_t 492xcb_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 */ 502void 503xcb_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 */ 514xcb_generic_iterator_t 515xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i); 516 517int 518xcb_record_client_info_sizeof (const void *_buffer); 519 520xcb_record_range_t * 521xcb_record_client_info_ranges (const xcb_record_client_info_t *R); 522 523int 524xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R); 525 526xcb_record_range_iterator_t 527xcb_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 */ 537void 538xcb_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 */ 549xcb_generic_iterator_t 550xcb_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 */ 560xcb_record_query_version_cookie_t 561xcb_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 */ 576xcb_record_query_version_cookie_t 577xcb_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 */ 595xcb_record_query_version_reply_t * 596xcb_record_query_version_reply (xcb_connection_t *c, 597 xcb_record_query_version_cookie_t cookie /**< */, 598 xcb_generic_error_t **e); 599 600int 601xcb_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 */ 614xcb_void_cookie_t 615xcb_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 */ 631xcb_void_cookie_t 632xcb_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 640xcb_record_client_spec_t * 641xcb_record_create_context_client_specs (const xcb_record_create_context_request_t *R); 642 643int 644xcb_record_create_context_client_specs_length (const xcb_record_create_context_request_t *R); 645 646xcb_generic_iterator_t 647xcb_record_create_context_client_specs_end (const xcb_record_create_context_request_t *R); 648 649xcb_record_range_t * 650xcb_record_create_context_ranges (const xcb_record_create_context_request_t *R); 651 652int 653xcb_record_create_context_ranges_length (const xcb_record_create_context_request_t *R); 654 655xcb_record_range_iterator_t 656xcb_record_create_context_ranges_iterator (const xcb_record_create_context_request_t *R); 657 658int 659xcb_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 */ 672xcb_void_cookie_t 673xcb_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 */ 689xcb_void_cookie_t 690xcb_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 698xcb_record_client_spec_t * 699xcb_record_register_clients_client_specs (const xcb_record_register_clients_request_t *R); 700 701int 702xcb_record_register_clients_client_specs_length (const xcb_record_register_clients_request_t *R); 703 704xcb_generic_iterator_t 705xcb_record_register_clients_client_specs_end (const xcb_record_register_clients_request_t *R); 706 707xcb_record_range_t * 708xcb_record_register_clients_ranges (const xcb_record_register_clients_request_t *R); 709 710int 711xcb_record_register_clients_ranges_length (const xcb_record_register_clients_request_t *R); 712 713xcb_record_range_iterator_t 714xcb_record_register_clients_ranges_iterator (const xcb_record_register_clients_request_t *R); 715 716int 717xcb_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 */ 730xcb_void_cookie_t 731xcb_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 */ 744xcb_void_cookie_t 745xcb_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 750xcb_record_client_spec_t * 751xcb_record_unregister_clients_client_specs (const xcb_record_unregister_clients_request_t *R); 752 753int 754xcb_record_unregister_clients_client_specs_length (const xcb_record_unregister_clients_request_t *R); 755 756xcb_generic_iterator_t 757xcb_record_unregister_clients_client_specs_end (const xcb_record_unregister_clients_request_t *R); 758 759int 760xcb_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 */ 770xcb_record_get_context_cookie_t 771xcb_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 */ 785xcb_record_get_context_cookie_t 786xcb_record_get_context_unchecked (xcb_connection_t *c, 787 xcb_record_context_t context); 788 789int 790xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R); 791 792xcb_record_client_info_iterator_t 793xcb_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 */ 809xcb_record_get_context_reply_t * 810xcb_record_get_context_reply (xcb_connection_t *c, 811 xcb_record_get_context_cookie_t cookie /**< */, 812 xcb_generic_error_t **e); 813 814int 815xcb_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 */ 825xcb_record_enable_context_cookie_t 826xcb_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 */ 840xcb_record_enable_context_cookie_t 841xcb_record_enable_context_unchecked (xcb_connection_t *c, 842 xcb_record_context_t context); 843 844uint8_t * 845xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R); 846 847int 848xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R); 849 850xcb_generic_iterator_t 851xcb_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 */ 867xcb_record_enable_context_reply_t * 868xcb_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 */ 883xcb_void_cookie_t 884xcb_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 */ 895xcb_void_cookie_t 896xcb_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 */ 910xcb_void_cookie_t 911xcb_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 */ 922xcb_void_cookie_t 923xcb_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