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 } xcb_record_bad_context_error_t; 175 176 /** 177 * @brief xcb_record_query_version_cookie_t 178 **/ 179 typedef struct xcb_record_query_version_cookie_t { 180 unsigned int sequence; /**< */ 181 } xcb_record_query_version_cookie_t; 182 183 /** Opcode for xcb_record_query_version. */ 184 #define XCB_RECORD_QUERY_VERSION 0 185 186 /** 187 * @brief xcb_record_query_version_request_t 188 **/ 189 typedef struct xcb_record_query_version_request_t { 190 uint8_t major_opcode; /**< */ 191 uint8_t minor_opcode; /**< */ 192 uint16_t length; /**< */ 193 uint16_t major_version; /**< */ 194 uint16_t minor_version; /**< */ 195 } xcb_record_query_version_request_t; 196 197 /** 198 * @brief xcb_record_query_version_reply_t 199 **/ 200 typedef struct xcb_record_query_version_reply_t { 201 uint8_t response_type; /**< */ 202 uint8_t pad0; /**< */ 203 uint16_t sequence; /**< */ 204 uint32_t length; /**< */ 205 uint16_t major_version; /**< */ 206 uint16_t minor_version; /**< */ 207 } xcb_record_query_version_reply_t; 208 209 /** Opcode for xcb_record_create_context. */ 210 #define XCB_RECORD_CREATE_CONTEXT 1 211 212 /** 213 * @brief xcb_record_create_context_request_t 214 **/ 215 typedef struct xcb_record_create_context_request_t { 216 uint8_t major_opcode; /**< */ 217 uint8_t minor_opcode; /**< */ 218 uint16_t length; /**< */ 219 xcb_record_context_t context; /**< */ 220 xcb_record_element_header_t element_header; /**< */ 221 uint8_t pad0[3]; /**< */ 222 uint32_t num_client_specs; /**< */ 223 uint32_t num_ranges; /**< */ 224 } xcb_record_create_context_request_t; 225 226 /** Opcode for xcb_record_register_clients. */ 227 #define XCB_RECORD_REGISTER_CLIENTS 2 228 229 /** 230 * @brief xcb_record_register_clients_request_t 231 **/ 232 typedef struct xcb_record_register_clients_request_t { 233 uint8_t major_opcode; /**< */ 234 uint8_t minor_opcode; /**< */ 235 uint16_t length; /**< */ 236 xcb_record_context_t context; /**< */ 237 xcb_record_element_header_t element_header; /**< */ 238 uint8_t pad0[3]; /**< */ 239 uint32_t num_client_specs; /**< */ 240 uint32_t num_ranges; /**< */ 241 } xcb_record_register_clients_request_t; 242 243 /** Opcode for xcb_record_unregister_clients. */ 244 #define XCB_RECORD_UNREGISTER_CLIENTS 3 245 246 /** 247 * @brief xcb_record_unregister_clients_request_t 248 **/ 249 typedef struct xcb_record_unregister_clients_request_t { 250 uint8_t major_opcode; /**< */ 251 uint8_t minor_opcode; /**< */ 252 uint16_t length; /**< */ 253 xcb_record_context_t context; /**< */ 254 uint32_t num_client_specs; /**< */ 255 } xcb_record_unregister_clients_request_t; 256 257 /** 258 * @brief xcb_record_get_context_cookie_t 259 **/ 260 typedef struct xcb_record_get_context_cookie_t { 261 unsigned int sequence; /**< */ 262 } xcb_record_get_context_cookie_t; 263 264 /** Opcode for xcb_record_get_context. */ 265 #define XCB_RECORD_GET_CONTEXT 4 266 267 /** 268 * @brief xcb_record_get_context_request_t 269 **/ 270 typedef struct xcb_record_get_context_request_t { 271 uint8_t major_opcode; /**< */ 272 uint8_t minor_opcode; /**< */ 273 uint16_t length; /**< */ 274 xcb_record_context_t context; /**< */ 275 } xcb_record_get_context_request_t; 276 277 /** 278 * @brief xcb_record_get_context_reply_t 279 **/ 280 typedef struct xcb_record_get_context_reply_t { 281 uint8_t response_type; /**< */ 282 uint8_t enabled; /**< */ 283 uint16_t sequence; /**< */ 284 uint32_t length; /**< */ 285 xcb_record_element_header_t element_header; /**< */ 286 uint8_t pad0[3]; /**< */ 287 uint32_t num_intercepted_clients; /**< */ 288 uint8_t pad1[16]; /**< */ 289 } xcb_record_get_context_reply_t; 290 291 /** 292 * @brief xcb_record_enable_context_cookie_t 293 **/ 294 typedef struct xcb_record_enable_context_cookie_t { 295 unsigned int sequence; /**< */ 296 } xcb_record_enable_context_cookie_t; 297 298 /** Opcode for xcb_record_enable_context. */ 299 #define XCB_RECORD_ENABLE_CONTEXT 5 300 301 /** 302 * @brief xcb_record_enable_context_request_t 303 **/ 304 typedef struct xcb_record_enable_context_request_t { 305 uint8_t major_opcode; /**< */ 306 uint8_t minor_opcode; /**< */ 307 uint16_t length; /**< */ 308 xcb_record_context_t context; /**< */ 309 } xcb_record_enable_context_request_t; 310 311 /** 312 * @brief xcb_record_enable_context_reply_t 313 **/ 314 typedef struct xcb_record_enable_context_reply_t { 315 uint8_t response_type; /**< */ 316 uint8_t category; /**< */ 317 uint16_t sequence; /**< */ 318 uint32_t length; /**< */ 319 xcb_record_element_header_t element_header; /**< */ 320 uint8_t client_swapped; /**< */ 321 uint8_t pad0[2]; /**< */ 322 uint32_t xid_base; /**< */ 323 uint32_t server_time; /**< */ 324 uint32_t rec_sequence_num; /**< */ 325 uint8_t pad1[8]; /**< */ 326 } xcb_record_enable_context_reply_t; 327 328 /** Opcode for xcb_record_disable_context. */ 329 #define XCB_RECORD_DISABLE_CONTEXT 6 330 331 /** 332 * @brief xcb_record_disable_context_request_t 333 **/ 334 typedef struct xcb_record_disable_context_request_t { 335 uint8_t major_opcode; /**< */ 336 uint8_t minor_opcode; /**< */ 337 uint16_t length; /**< */ 338 xcb_record_context_t context; /**< */ 339 } xcb_record_disable_context_request_t; 340 341 /** Opcode for xcb_record_free_context. */ 342 #define XCB_RECORD_FREE_CONTEXT 7 343 344 /** 345 * @brief xcb_record_free_context_request_t 346 **/ 347 typedef struct xcb_record_free_context_request_t { 348 uint8_t major_opcode; /**< */ 349 uint8_t minor_opcode; /**< */ 350 uint16_t length; /**< */ 351 xcb_record_context_t context; /**< */ 352 } xcb_record_free_context_request_t; 353 354 /** 355 * Get the next element of the iterator 356 * @param i Pointer to a xcb_record_context_iterator_t 357 * 358 * Get the next element in the iterator. The member rem is 359 * decreased by one. The member data points to the next 360 * element. The member index is increased by sizeof(xcb_record_context_t) 361 */ 362 void 363 xcb_record_context_next (xcb_record_context_iterator_t *i /**< */); 364 365 /** 366 * Return the iterator pointing to the last element 367 * @param i An xcb_record_context_iterator_t 368 * @return The iterator pointing to the last element 369 * 370 * Set the current element in the iterator to the last element. 371 * The member rem is set to 0. The member data points to the 372 * last element. 373 */ 374 xcb_generic_iterator_t 375 xcb_record_context_end (xcb_record_context_iterator_t i /**< */); 376 377 /** 378 * Get the next element of the iterator 379 * @param i Pointer to a xcb_record_range_8_iterator_t 380 * 381 * Get the next element in the iterator. The member rem is 382 * decreased by one. The member data points to the next 383 * element. The member index is increased by sizeof(xcb_record_range_8_t) 384 */ 385 void 386 xcb_record_range_8_next (xcb_record_range_8_iterator_t *i /**< */); 387 388 /** 389 * Return the iterator pointing to the last element 390 * @param i An xcb_record_range_8_iterator_t 391 * @return The iterator pointing to the last element 392 * 393 * Set the current element in the iterator to the last element. 394 * The member rem is set to 0. The member data points to the 395 * last element. 396 */ 397 xcb_generic_iterator_t 398 xcb_record_range_8_end (xcb_record_range_8_iterator_t i /**< */); 399 400 /** 401 * Get the next element of the iterator 402 * @param i Pointer to a xcb_record_range_16_iterator_t 403 * 404 * Get the next element in the iterator. The member rem is 405 * decreased by one. The member data points to the next 406 * element. The member index is increased by sizeof(xcb_record_range_16_t) 407 */ 408 void 409 xcb_record_range_16_next (xcb_record_range_16_iterator_t *i /**< */); 410 411 /** 412 * Return the iterator pointing to the last element 413 * @param i An xcb_record_range_16_iterator_t 414 * @return The iterator pointing to the last element 415 * 416 * Set the current element in the iterator to the last element. 417 * The member rem is set to 0. The member data points to the 418 * last element. 419 */ 420 xcb_generic_iterator_t 421 xcb_record_range_16_end (xcb_record_range_16_iterator_t i /**< */); 422 423 /** 424 * Get the next element of the iterator 425 * @param i Pointer to a xcb_record_ext_range_iterator_t 426 * 427 * Get the next element in the iterator. The member rem is 428 * decreased by one. The member data points to the next 429 * element. The member index is increased by sizeof(xcb_record_ext_range_t) 430 */ 431 void 432 xcb_record_ext_range_next (xcb_record_ext_range_iterator_t *i /**< */); 433 434 /** 435 * Return the iterator pointing to the last element 436 * @param i An xcb_record_ext_range_iterator_t 437 * @return The iterator pointing to the last element 438 * 439 * Set the current element in the iterator to the last element. 440 * The member rem is set to 0. The member data points to the 441 * last element. 442 */ 443 xcb_generic_iterator_t 444 xcb_record_ext_range_end (xcb_record_ext_range_iterator_t i /**< */); 445 446 /** 447 * Get the next element of the iterator 448 * @param i Pointer to a xcb_record_range_iterator_t 449 * 450 * Get the next element in the iterator. The member rem is 451 * decreased by one. The member data points to the next 452 * element. The member index is increased by sizeof(xcb_record_range_t) 453 */ 454 void 455 xcb_record_range_next (xcb_record_range_iterator_t *i /**< */); 456 457 /** 458 * Return the iterator pointing to the last element 459 * @param i An xcb_record_range_iterator_t 460 * @return The iterator pointing to the last element 461 * 462 * Set the current element in the iterator to the last element. 463 * The member rem is set to 0. The member data points to the 464 * last element. 465 */ 466 xcb_generic_iterator_t 467 xcb_record_range_end (xcb_record_range_iterator_t i /**< */); 468 469 /** 470 * Get the next element of the iterator 471 * @param i Pointer to a xcb_record_element_header_iterator_t 472 * 473 * Get the next element in the iterator. The member rem is 474 * decreased by one. The member data points to the next 475 * element. The member index is increased by sizeof(xcb_record_element_header_t) 476 */ 477 void 478 xcb_record_element_header_next (xcb_record_element_header_iterator_t *i /**< */); 479 480 /** 481 * Return the iterator pointing to the last element 482 * @param i An xcb_record_element_header_iterator_t 483 * @return The iterator pointing to the last element 484 * 485 * Set the current element in the iterator to the last element. 486 * The member rem is set to 0. The member data points to the 487 * last element. 488 */ 489 xcb_generic_iterator_t 490 xcb_record_element_header_end (xcb_record_element_header_iterator_t i /**< */); 491 492 /** 493 * Get the next element of the iterator 494 * @param i Pointer to a xcb_record_client_spec_iterator_t 495 * 496 * Get the next element in the iterator. The member rem is 497 * decreased by one. The member data points to the next 498 * element. The member index is increased by sizeof(xcb_record_client_spec_t) 499 */ 500 void 501 xcb_record_client_spec_next (xcb_record_client_spec_iterator_t *i /**< */); 502 503 /** 504 * Return the iterator pointing to the last element 505 * @param i An xcb_record_client_spec_iterator_t 506 * @return The iterator pointing to the last element 507 * 508 * Set the current element in the iterator to the last element. 509 * The member rem is set to 0. The member data points to the 510 * last element. 511 */ 512 xcb_generic_iterator_t 513 xcb_record_client_spec_end (xcb_record_client_spec_iterator_t i /**< */); 514 515 int 516 xcb_record_client_info_sizeof (const void *_buffer /**< */); 517 518 xcb_record_range_t * 519 xcb_record_client_info_ranges (const xcb_record_client_info_t *R /**< */); 520 521 int 522 xcb_record_client_info_ranges_length (const xcb_record_client_info_t *R /**< */); 523 524 xcb_record_range_iterator_t 525 xcb_record_client_info_ranges_iterator (const xcb_record_client_info_t *R /**< */); 526 527 /** 528 * Get the next element of the iterator 529 * @param i Pointer to a xcb_record_client_info_iterator_t 530 * 531 * Get the next element in the iterator. The member rem is 532 * decreased by one. The member data points to the next 533 * element. The member index is increased by sizeof(xcb_record_client_info_t) 534 */ 535 void 536 xcb_record_client_info_next (xcb_record_client_info_iterator_t *i /**< */); 537 538 /** 539 * Return the iterator pointing to the last element 540 * @param i An xcb_record_client_info_iterator_t 541 * @return The iterator pointing to the last element 542 * 543 * Set the current element in the iterator to the last element. 544 * The member rem is set to 0. The member data points to the 545 * last element. 546 */ 547 xcb_generic_iterator_t 548 xcb_record_client_info_end (xcb_record_client_info_iterator_t i /**< */); 549 550 /** 551 * 552 * @param c The connection 553 * @return A cookie 554 * 555 * Delivers a request to the X server. 556 * 557 */ 558 xcb_record_query_version_cookie_t 559 xcb_record_query_version (xcb_connection_t *c /**< */, 560 uint16_t major_version /**< */, 561 uint16_t minor_version /**< */); 562 563 /** 564 * 565 * @param c The connection 566 * @return A cookie 567 * 568 * Delivers a request to the X server. 569 * 570 * This form can be used only if the request will cause 571 * a reply to be generated. Any returned error will be 572 * placed in the event queue. 573 */ 574 xcb_record_query_version_cookie_t 575 xcb_record_query_version_unchecked (xcb_connection_t *c /**< */, 576 uint16_t major_version /**< */, 577 uint16_t minor_version /**< */); 578 579 /** 580 * Return the reply 581 * @param c The connection 582 * @param cookie The cookie 583 * @param e The xcb_generic_error_t supplied 584 * 585 * Returns the reply of the request asked by 586 * 587 * The parameter @p e supplied to this function must be NULL if 588 * xcb_record_query_version_unchecked(). is used. 589 * Otherwise, it stores the error if any. 590 * 591 * The returned value must be freed by the caller using free(). 592 */ 593 xcb_record_query_version_reply_t * 594 xcb_record_query_version_reply (xcb_connection_t *c /**< */, 595 xcb_record_query_version_cookie_t cookie /**< */, 596 xcb_generic_error_t **e /**< */); 597 598 int 599 xcb_record_create_context_sizeof (const void *_buffer /**< */); 600 601 /** 602 * 603 * @param c The connection 604 * @return A cookie 605 * 606 * Delivers a request to the X server. 607 * 608 * This form can be used only if the request will not cause 609 * a reply to be generated. Any returned error will be 610 * saved for handling by xcb_request_check(). 611 */ 612 xcb_void_cookie_t 613 xcb_record_create_context_checked (xcb_connection_t *c /**< */, 614 xcb_record_context_t context /**< */, 615 xcb_record_element_header_t element_header /**< */, 616 uint32_t num_client_specs /**< */, 617 uint32_t num_ranges /**< */, 618 const xcb_record_client_spec_t *client_specs /**< */, 619 const xcb_record_range_t *ranges /**< */); 620 621 /** 622 * 623 * @param c The connection 624 * @return A cookie 625 * 626 * Delivers a request to the X server. 627 * 628 */ 629 xcb_void_cookie_t 630 xcb_record_create_context (xcb_connection_t *c /**< */, 631 xcb_record_context_t context /**< */, 632 xcb_record_element_header_t element_header /**< */, 633 uint32_t num_client_specs /**< */, 634 uint32_t num_ranges /**< */, 635 const xcb_record_client_spec_t *client_specs /**< */, 636 const xcb_record_range_t *ranges /**< */); 637 638 int 639 xcb_record_register_clients_sizeof (const void *_buffer /**< */); 640 641 /** 642 * 643 * @param c The connection 644 * @return A cookie 645 * 646 * Delivers a request to the X server. 647 * 648 * This form can be used only if the request will not cause 649 * a reply to be generated. Any returned error will be 650 * saved for handling by xcb_request_check(). 651 */ 652 xcb_void_cookie_t 653 xcb_record_register_clients_checked (xcb_connection_t *c /**< */, 654 xcb_record_context_t context /**< */, 655 xcb_record_element_header_t element_header /**< */, 656 uint32_t num_client_specs /**< */, 657 uint32_t num_ranges /**< */, 658 const xcb_record_client_spec_t *client_specs /**< */, 659 const xcb_record_range_t *ranges /**< */); 660 661 /** 662 * 663 * @param c The connection 664 * @return A cookie 665 * 666 * Delivers a request to the X server. 667 * 668 */ 669 xcb_void_cookie_t 670 xcb_record_register_clients (xcb_connection_t *c /**< */, 671 xcb_record_context_t context /**< */, 672 xcb_record_element_header_t element_header /**< */, 673 uint32_t num_client_specs /**< */, 674 uint32_t num_ranges /**< */, 675 const xcb_record_client_spec_t *client_specs /**< */, 676 const xcb_record_range_t *ranges /**< */); 677 678 int 679 xcb_record_unregister_clients_sizeof (const void *_buffer /**< */); 680 681 /** 682 * 683 * @param c The connection 684 * @return A cookie 685 * 686 * Delivers a request to the X server. 687 * 688 * This form can be used only if the request will not cause 689 * a reply to be generated. Any returned error will be 690 * saved for handling by xcb_request_check(). 691 */ 692 xcb_void_cookie_t 693 xcb_record_unregister_clients_checked (xcb_connection_t *c /**< */, 694 xcb_record_context_t context /**< */, 695 uint32_t num_client_specs /**< */, 696 const xcb_record_client_spec_t *client_specs /**< */); 697 698 /** 699 * 700 * @param c The connection 701 * @return A cookie 702 * 703 * Delivers a request to the X server. 704 * 705 */ 706 xcb_void_cookie_t 707 xcb_record_unregister_clients (xcb_connection_t *c /**< */, 708 xcb_record_context_t context /**< */, 709 uint32_t num_client_specs /**< */, 710 const xcb_record_client_spec_t *client_specs /**< */); 711 712 int 713 xcb_record_get_context_sizeof (const void *_buffer /**< */); 714 715 /** 716 * 717 * @param c The connection 718 * @return A cookie 719 * 720 * Delivers a request to the X server. 721 * 722 */ 723 xcb_record_get_context_cookie_t 724 xcb_record_get_context (xcb_connection_t *c /**< */, 725 xcb_record_context_t context /**< */); 726 727 /** 728 * 729 * @param c The connection 730 * @return A cookie 731 * 732 * Delivers a request to the X server. 733 * 734 * This form can be used only if the request will cause 735 * a reply to be generated. Any returned error will be 736 * placed in the event queue. 737 */ 738 xcb_record_get_context_cookie_t 739 xcb_record_get_context_unchecked (xcb_connection_t *c /**< */, 740 xcb_record_context_t context /**< */); 741 742 int 743 xcb_record_get_context_intercepted_clients_length (const xcb_record_get_context_reply_t *R /**< */); 744 745 xcb_record_client_info_iterator_t 746 xcb_record_get_context_intercepted_clients_iterator (const xcb_record_get_context_reply_t *R /**< */); 747 748 /** 749 * Return the reply 750 * @param c The connection 751 * @param cookie The cookie 752 * @param e The xcb_generic_error_t supplied 753 * 754 * Returns the reply of the request asked by 755 * 756 * The parameter @p e supplied to this function must be NULL if 757 * xcb_record_get_context_unchecked(). is used. 758 * Otherwise, it stores the error if any. 759 * 760 * The returned value must be freed by the caller using free(). 761 */ 762 xcb_record_get_context_reply_t * 763 xcb_record_get_context_reply (xcb_connection_t *c /**< */, 764 xcb_record_get_context_cookie_t cookie /**< */, 765 xcb_generic_error_t **e /**< */); 766 767 int 768 xcb_record_enable_context_sizeof (const void *_buffer /**< */); 769 770 /** 771 * 772 * @param c The connection 773 * @return A cookie 774 * 775 * Delivers a request to the X server. 776 * 777 */ 778 xcb_record_enable_context_cookie_t 779 xcb_record_enable_context (xcb_connection_t *c /**< */, 780 xcb_record_context_t context /**< */); 781 782 /** 783 * 784 * @param c The connection 785 * @return A cookie 786 * 787 * Delivers a request to the X server. 788 * 789 * This form can be used only if the request will cause 790 * a reply to be generated. Any returned error will be 791 * placed in the event queue. 792 */ 793 xcb_record_enable_context_cookie_t 794 xcb_record_enable_context_unchecked (xcb_connection_t *c /**< */, 795 xcb_record_context_t context /**< */); 796 797 uint8_t * 798 xcb_record_enable_context_data (const xcb_record_enable_context_reply_t *R /**< */); 799 800 int 801 xcb_record_enable_context_data_length (const xcb_record_enable_context_reply_t *R /**< */); 802 803 xcb_generic_iterator_t 804 xcb_record_enable_context_data_end (const xcb_record_enable_context_reply_t *R /**< */); 805 806 /** 807 * Return the reply 808 * @param c The connection 809 * @param cookie The cookie 810 * @param e The xcb_generic_error_t supplied 811 * 812 * Returns the reply of the request asked by 813 * 814 * The parameter @p e supplied to this function must be NULL if 815 * xcb_record_enable_context_unchecked(). is used. 816 * Otherwise, it stores the error if any. 817 * 818 * The returned value must be freed by the caller using free(). 819 */ 820 xcb_record_enable_context_reply_t * 821 xcb_record_enable_context_reply (xcb_connection_t *c /**< */, 822 xcb_record_enable_context_cookie_t cookie /**< */, 823 xcb_generic_error_t **e /**< */); 824 825 /** 826 * 827 * @param c The connection 828 * @return A cookie 829 * 830 * Delivers a request to the X server. 831 * 832 * This form can be used only if the request will not cause 833 * a reply to be generated. Any returned error will be 834 * saved for handling by xcb_request_check(). 835 */ 836 xcb_void_cookie_t 837 xcb_record_disable_context_checked (xcb_connection_t *c /**< */, 838 xcb_record_context_t context /**< */); 839 840 /** 841 * 842 * @param c The connection 843 * @return A cookie 844 * 845 * Delivers a request to the X server. 846 * 847 */ 848 xcb_void_cookie_t 849 xcb_record_disable_context (xcb_connection_t *c /**< */, 850 xcb_record_context_t context /**< */); 851 852 /** 853 * 854 * @param c The connection 855 * @return A cookie 856 * 857 * Delivers a request to the X server. 858 * 859 * This form can be used only if the request will not cause 860 * a reply to be generated. Any returned error will be 861 * saved for handling by xcb_request_check(). 862 */ 863 xcb_void_cookie_t 864 xcb_record_free_context_checked (xcb_connection_t *c /**< */, 865 xcb_record_context_t context /**< */); 866 867 /** 868 * 869 * @param c The connection 870 * @return A cookie 871 * 872 * Delivers a request to the X server. 873 * 874 */ 875 xcb_void_cookie_t 876 xcb_record_free_context (xcb_connection_t *c /**< */, 877 xcb_record_context_t context /**< */); 878 879 880 #ifdef __cplusplus 881 } 882 #endif 883 884 #endif 885 886 /** 887 * @} 888 */ 889