1/* 2 * This file generated automatically from res.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6/** 7 * @defgroup XCB_Res_API XCB Res API 8 * @brief Res XCB Protocol Implementation. 9 * @{ 10 **/ 11 12#ifndef __RES_H 13#define __RES_H 14 15#include "xcb.h" 16#include "xproto.h" 17 18#ifdef __cplusplus 19extern "C" { 20#endif 21 22#define XCB_RES_MAJOR_VERSION 1 23#define XCB_RES_MINOR_VERSION 2 24 25extern xcb_extension_t xcb_res_id; 26 27/** 28 * @brief xcb_res_client_t 29 **/ 30typedef struct xcb_res_client_t { 31 uint32_t resource_base; 32 uint32_t resource_mask; 33} xcb_res_client_t; 34 35/** 36 * @brief xcb_res_client_iterator_t 37 **/ 38typedef struct xcb_res_client_iterator_t { 39 xcb_res_client_t *data; 40 int rem; 41 int index; 42} xcb_res_client_iterator_t; 43 44/** 45 * @brief xcb_res_type_t 46 **/ 47typedef struct xcb_res_type_t { 48 xcb_atom_t resource_type; 49 uint32_t count; 50} xcb_res_type_t; 51 52/** 53 * @brief xcb_res_type_iterator_t 54 **/ 55typedef struct xcb_res_type_iterator_t { 56 xcb_res_type_t *data; 57 int rem; 58 int index; 59} xcb_res_type_iterator_t; 60 61typedef enum xcb_res_client_id_mask_t { 62 XCB_RES_CLIENT_ID_MASK_CLIENT_XID = 1, 63 XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID = 2 64} xcb_res_client_id_mask_t; 65 66/** 67 * @brief xcb_res_client_id_spec_t 68 **/ 69typedef struct xcb_res_client_id_spec_t { 70 uint32_t client; 71 uint32_t mask; 72} xcb_res_client_id_spec_t; 73 74/** 75 * @brief xcb_res_client_id_spec_iterator_t 76 **/ 77typedef struct xcb_res_client_id_spec_iterator_t { 78 xcb_res_client_id_spec_t *data; 79 int rem; 80 int index; 81} xcb_res_client_id_spec_iterator_t; 82 83/** 84 * @brief xcb_res_client_id_value_t 85 **/ 86typedef struct xcb_res_client_id_value_t { 87 xcb_res_client_id_spec_t spec; 88 uint32_t length; 89} xcb_res_client_id_value_t; 90 91/** 92 * @brief xcb_res_client_id_value_iterator_t 93 **/ 94typedef struct xcb_res_client_id_value_iterator_t { 95 xcb_res_client_id_value_t *data; 96 int rem; 97 int index; 98} xcb_res_client_id_value_iterator_t; 99 100/** 101 * @brief xcb_res_resource_id_spec_t 102 **/ 103typedef struct xcb_res_resource_id_spec_t { 104 uint32_t resource; 105 uint32_t type; 106} xcb_res_resource_id_spec_t; 107 108/** 109 * @brief xcb_res_resource_id_spec_iterator_t 110 **/ 111typedef struct xcb_res_resource_id_spec_iterator_t { 112 xcb_res_resource_id_spec_t *data; 113 int rem; 114 int index; 115} xcb_res_resource_id_spec_iterator_t; 116 117/** 118 * @brief xcb_res_resource_size_spec_t 119 **/ 120typedef struct xcb_res_resource_size_spec_t { 121 xcb_res_resource_id_spec_t spec; 122 uint32_t bytes; 123 uint32_t ref_count; 124 uint32_t use_count; 125} xcb_res_resource_size_spec_t; 126 127/** 128 * @brief xcb_res_resource_size_spec_iterator_t 129 **/ 130typedef struct xcb_res_resource_size_spec_iterator_t { 131 xcb_res_resource_size_spec_t *data; 132 int rem; 133 int index; 134} xcb_res_resource_size_spec_iterator_t; 135 136/** 137 * @brief xcb_res_resource_size_value_t 138 **/ 139typedef struct xcb_res_resource_size_value_t { 140 xcb_res_resource_size_spec_t size; 141 uint32_t num_cross_references; 142} xcb_res_resource_size_value_t; 143 144/** 145 * @brief xcb_res_resource_size_value_iterator_t 146 **/ 147typedef struct xcb_res_resource_size_value_iterator_t { 148 xcb_res_resource_size_value_t *data; 149 int rem; 150 int index; 151} xcb_res_resource_size_value_iterator_t; 152 153/** 154 * @brief xcb_res_query_version_cookie_t 155 **/ 156typedef struct xcb_res_query_version_cookie_t { 157 unsigned int sequence; 158} xcb_res_query_version_cookie_t; 159 160/** Opcode for xcb_res_query_version. */ 161#define XCB_RES_QUERY_VERSION 0 162 163/** 164 * @brief xcb_res_query_version_request_t 165 **/ 166typedef struct xcb_res_query_version_request_t { 167 uint8_t major_opcode; 168 uint8_t minor_opcode; 169 uint16_t length; 170 uint8_t client_major; 171 uint8_t client_minor; 172} xcb_res_query_version_request_t; 173 174/** 175 * @brief xcb_res_query_version_reply_t 176 **/ 177typedef struct xcb_res_query_version_reply_t { 178 uint8_t response_type; 179 uint8_t pad0; 180 uint16_t sequence; 181 uint32_t length; 182 uint16_t server_major; 183 uint16_t server_minor; 184} xcb_res_query_version_reply_t; 185 186/** 187 * @brief xcb_res_query_clients_cookie_t 188 **/ 189typedef struct xcb_res_query_clients_cookie_t { 190 unsigned int sequence; 191} xcb_res_query_clients_cookie_t; 192 193/** Opcode for xcb_res_query_clients. */ 194#define XCB_RES_QUERY_CLIENTS 1 195 196/** 197 * @brief xcb_res_query_clients_request_t 198 **/ 199typedef struct xcb_res_query_clients_request_t { 200 uint8_t major_opcode; 201 uint8_t minor_opcode; 202 uint16_t length; 203} xcb_res_query_clients_request_t; 204 205/** 206 * @brief xcb_res_query_clients_reply_t 207 **/ 208typedef struct xcb_res_query_clients_reply_t { 209 uint8_t response_type; 210 uint8_t pad0; 211 uint16_t sequence; 212 uint32_t length; 213 uint32_t num_clients; 214 uint8_t pad1[20]; 215} xcb_res_query_clients_reply_t; 216 217/** 218 * @brief xcb_res_query_client_resources_cookie_t 219 **/ 220typedef struct xcb_res_query_client_resources_cookie_t { 221 unsigned int sequence; 222} xcb_res_query_client_resources_cookie_t; 223 224/** Opcode for xcb_res_query_client_resources. */ 225#define XCB_RES_QUERY_CLIENT_RESOURCES 2 226 227/** 228 * @brief xcb_res_query_client_resources_request_t 229 **/ 230typedef struct xcb_res_query_client_resources_request_t { 231 uint8_t major_opcode; 232 uint8_t minor_opcode; 233 uint16_t length; 234 uint32_t xid; 235} xcb_res_query_client_resources_request_t; 236 237/** 238 * @brief xcb_res_query_client_resources_reply_t 239 **/ 240typedef struct xcb_res_query_client_resources_reply_t { 241 uint8_t response_type; 242 uint8_t pad0; 243 uint16_t sequence; 244 uint32_t length; 245 uint32_t num_types; 246 uint8_t pad1[20]; 247} xcb_res_query_client_resources_reply_t; 248 249/** 250 * @brief xcb_res_query_client_pixmap_bytes_cookie_t 251 **/ 252typedef struct xcb_res_query_client_pixmap_bytes_cookie_t { 253 unsigned int sequence; 254} xcb_res_query_client_pixmap_bytes_cookie_t; 255 256/** Opcode for xcb_res_query_client_pixmap_bytes. */ 257#define XCB_RES_QUERY_CLIENT_PIXMAP_BYTES 3 258 259/** 260 * @brief xcb_res_query_client_pixmap_bytes_request_t 261 **/ 262typedef struct xcb_res_query_client_pixmap_bytes_request_t { 263 uint8_t major_opcode; 264 uint8_t minor_opcode; 265 uint16_t length; 266 uint32_t xid; 267} xcb_res_query_client_pixmap_bytes_request_t; 268 269/** 270 * @brief xcb_res_query_client_pixmap_bytes_reply_t 271 **/ 272typedef struct xcb_res_query_client_pixmap_bytes_reply_t { 273 uint8_t response_type; 274 uint8_t pad0; 275 uint16_t sequence; 276 uint32_t length; 277 uint32_t bytes; 278 uint32_t bytes_overflow; 279} xcb_res_query_client_pixmap_bytes_reply_t; 280 281/** 282 * @brief xcb_res_query_client_ids_cookie_t 283 **/ 284typedef struct xcb_res_query_client_ids_cookie_t { 285 unsigned int sequence; 286} xcb_res_query_client_ids_cookie_t; 287 288/** Opcode for xcb_res_query_client_ids. */ 289#define XCB_RES_QUERY_CLIENT_IDS 4 290 291/** 292 * @brief xcb_res_query_client_ids_request_t 293 **/ 294typedef struct xcb_res_query_client_ids_request_t { 295 uint8_t major_opcode; 296 uint8_t minor_opcode; 297 uint16_t length; 298 uint32_t num_specs; 299} xcb_res_query_client_ids_request_t; 300 301/** 302 * @brief xcb_res_query_client_ids_reply_t 303 **/ 304typedef struct xcb_res_query_client_ids_reply_t { 305 uint8_t response_type; 306 uint8_t pad0; 307 uint16_t sequence; 308 uint32_t length; 309 uint32_t num_ids; 310 uint8_t pad1[20]; 311} xcb_res_query_client_ids_reply_t; 312 313/** 314 * @brief xcb_res_query_resource_bytes_cookie_t 315 **/ 316typedef struct xcb_res_query_resource_bytes_cookie_t { 317 unsigned int sequence; 318} xcb_res_query_resource_bytes_cookie_t; 319 320/** Opcode for xcb_res_query_resource_bytes. */ 321#define XCB_RES_QUERY_RESOURCE_BYTES 5 322 323/** 324 * @brief xcb_res_query_resource_bytes_request_t 325 **/ 326typedef struct xcb_res_query_resource_bytes_request_t { 327 uint8_t major_opcode; 328 uint8_t minor_opcode; 329 uint16_t length; 330 uint32_t client; 331 uint32_t num_specs; 332} xcb_res_query_resource_bytes_request_t; 333 334/** 335 * @brief xcb_res_query_resource_bytes_reply_t 336 **/ 337typedef struct xcb_res_query_resource_bytes_reply_t { 338 uint8_t response_type; 339 uint8_t pad0; 340 uint16_t sequence; 341 uint32_t length; 342 uint32_t num_sizes; 343 uint8_t pad1[20]; 344} xcb_res_query_resource_bytes_reply_t; 345 346/** 347 * Get the next element of the iterator 348 * @param i Pointer to a xcb_res_client_iterator_t 349 * 350 * Get the next element in the iterator. The member rem is 351 * decreased by one. The member data points to the next 352 * element. The member index is increased by sizeof(xcb_res_client_t) 353 */ 354void 355xcb_res_client_next (xcb_res_client_iterator_t *i); 356 357/** 358 * Return the iterator pointing to the last element 359 * @param i An xcb_res_client_iterator_t 360 * @return The iterator pointing to the last element 361 * 362 * Set the current element in the iterator to the last element. 363 * The member rem is set to 0. The member data points to the 364 * last element. 365 */ 366xcb_generic_iterator_t 367xcb_res_client_end (xcb_res_client_iterator_t i); 368 369/** 370 * Get the next element of the iterator 371 * @param i Pointer to a xcb_res_type_iterator_t 372 * 373 * Get the next element in the iterator. The member rem is 374 * decreased by one. The member data points to the next 375 * element. The member index is increased by sizeof(xcb_res_type_t) 376 */ 377void 378xcb_res_type_next (xcb_res_type_iterator_t *i); 379 380/** 381 * Return the iterator pointing to the last element 382 * @param i An xcb_res_type_iterator_t 383 * @return The iterator pointing to the last element 384 * 385 * Set the current element in the iterator to the last element. 386 * The member rem is set to 0. The member data points to the 387 * last element. 388 */ 389xcb_generic_iterator_t 390xcb_res_type_end (xcb_res_type_iterator_t i); 391 392/** 393 * Get the next element of the iterator 394 * @param i Pointer to a xcb_res_client_id_spec_iterator_t 395 * 396 * Get the next element in the iterator. The member rem is 397 * decreased by one. The member data points to the next 398 * element. The member index is increased by sizeof(xcb_res_client_id_spec_t) 399 */ 400void 401xcb_res_client_id_spec_next (xcb_res_client_id_spec_iterator_t *i); 402 403/** 404 * Return the iterator pointing to the last element 405 * @param i An xcb_res_client_id_spec_iterator_t 406 * @return The iterator pointing to the last element 407 * 408 * Set the current element in the iterator to the last element. 409 * The member rem is set to 0. The member data points to the 410 * last element. 411 */ 412xcb_generic_iterator_t 413xcb_res_client_id_spec_end (xcb_res_client_id_spec_iterator_t i); 414 415int 416xcb_res_client_id_value_sizeof (const void *_buffer); 417 418uint32_t * 419xcb_res_client_id_value_value (const xcb_res_client_id_value_t *R); 420 421int 422xcb_res_client_id_value_value_length (const xcb_res_client_id_value_t *R); 423 424xcb_generic_iterator_t 425xcb_res_client_id_value_value_end (const xcb_res_client_id_value_t *R); 426 427/** 428 * Get the next element of the iterator 429 * @param i Pointer to a xcb_res_client_id_value_iterator_t 430 * 431 * Get the next element in the iterator. The member rem is 432 * decreased by one. The member data points to the next 433 * element. The member index is increased by sizeof(xcb_res_client_id_value_t) 434 */ 435void 436xcb_res_client_id_value_next (xcb_res_client_id_value_iterator_t *i); 437 438/** 439 * Return the iterator pointing to the last element 440 * @param i An xcb_res_client_id_value_iterator_t 441 * @return The iterator pointing to the last element 442 * 443 * Set the current element in the iterator to the last element. 444 * The member rem is set to 0. The member data points to the 445 * last element. 446 */ 447xcb_generic_iterator_t 448xcb_res_client_id_value_end (xcb_res_client_id_value_iterator_t i); 449 450/** 451 * Get the next element of the iterator 452 * @param i Pointer to a xcb_res_resource_id_spec_iterator_t 453 * 454 * Get the next element in the iterator. The member rem is 455 * decreased by one. The member data points to the next 456 * element. The member index is increased by sizeof(xcb_res_resource_id_spec_t) 457 */ 458void 459xcb_res_resource_id_spec_next (xcb_res_resource_id_spec_iterator_t *i); 460 461/** 462 * Return the iterator pointing to the last element 463 * @param i An xcb_res_resource_id_spec_iterator_t 464 * @return The iterator pointing to the last element 465 * 466 * Set the current element in the iterator to the last element. 467 * The member rem is set to 0. The member data points to the 468 * last element. 469 */ 470xcb_generic_iterator_t 471xcb_res_resource_id_spec_end (xcb_res_resource_id_spec_iterator_t i); 472 473/** 474 * Get the next element of the iterator 475 * @param i Pointer to a xcb_res_resource_size_spec_iterator_t 476 * 477 * Get the next element in the iterator. The member rem is 478 * decreased by one. The member data points to the next 479 * element. The member index is increased by sizeof(xcb_res_resource_size_spec_t) 480 */ 481void 482xcb_res_resource_size_spec_next (xcb_res_resource_size_spec_iterator_t *i); 483 484/** 485 * Return the iterator pointing to the last element 486 * @param i An xcb_res_resource_size_spec_iterator_t 487 * @return The iterator pointing to the last element 488 * 489 * Set the current element in the iterator to the last element. 490 * The member rem is set to 0. The member data points to the 491 * last element. 492 */ 493xcb_generic_iterator_t 494xcb_res_resource_size_spec_end (xcb_res_resource_size_spec_iterator_t i); 495 496int 497xcb_res_resource_size_value_sizeof (const void *_buffer); 498 499xcb_res_resource_size_spec_t * 500xcb_res_resource_size_value_cross_references (const xcb_res_resource_size_value_t *R); 501 502int 503xcb_res_resource_size_value_cross_references_length (const xcb_res_resource_size_value_t *R); 504 505xcb_res_resource_size_spec_iterator_t 506xcb_res_resource_size_value_cross_references_iterator (const xcb_res_resource_size_value_t *R); 507 508/** 509 * Get the next element of the iterator 510 * @param i Pointer to a xcb_res_resource_size_value_iterator_t 511 * 512 * Get the next element in the iterator. The member rem is 513 * decreased by one. The member data points to the next 514 * element. The member index is increased by sizeof(xcb_res_resource_size_value_t) 515 */ 516void 517xcb_res_resource_size_value_next (xcb_res_resource_size_value_iterator_t *i); 518 519/** 520 * Return the iterator pointing to the last element 521 * @param i An xcb_res_resource_size_value_iterator_t 522 * @return The iterator pointing to the last element 523 * 524 * Set the current element in the iterator to the last element. 525 * The member rem is set to 0. The member data points to the 526 * last element. 527 */ 528xcb_generic_iterator_t 529xcb_res_resource_size_value_end (xcb_res_resource_size_value_iterator_t i); 530 531/** 532 * 533 * @param c The connection 534 * @return A cookie 535 * 536 * Delivers a request to the X server. 537 * 538 */ 539xcb_res_query_version_cookie_t 540xcb_res_query_version (xcb_connection_t *c, 541 uint8_t client_major, 542 uint8_t client_minor); 543 544/** 545 * 546 * @param c The connection 547 * @return A cookie 548 * 549 * Delivers a request to the X server. 550 * 551 * This form can be used only if the request will cause 552 * a reply to be generated. Any returned error will be 553 * placed in the event queue. 554 */ 555xcb_res_query_version_cookie_t 556xcb_res_query_version_unchecked (xcb_connection_t *c, 557 uint8_t client_major, 558 uint8_t client_minor); 559 560/** 561 * Return the reply 562 * @param c The connection 563 * @param cookie The cookie 564 * @param e The xcb_generic_error_t supplied 565 * 566 * Returns the reply of the request asked by 567 * 568 * The parameter @p e supplied to this function must be NULL if 569 * xcb_res_query_version_unchecked(). is used. 570 * Otherwise, it stores the error if any. 571 * 572 * The returned value must be freed by the caller using free(). 573 */ 574xcb_res_query_version_reply_t * 575xcb_res_query_version_reply (xcb_connection_t *c, 576 xcb_res_query_version_cookie_t cookie /**< */, 577 xcb_generic_error_t **e); 578 579int 580xcb_res_query_clients_sizeof (const void *_buffer); 581 582/** 583 * 584 * @param c The connection 585 * @return A cookie 586 * 587 * Delivers a request to the X server. 588 * 589 */ 590xcb_res_query_clients_cookie_t 591xcb_res_query_clients (xcb_connection_t *c); 592 593/** 594 * 595 * @param c The connection 596 * @return A cookie 597 * 598 * Delivers a request to the X server. 599 * 600 * This form can be used only if the request will cause 601 * a reply to be generated. Any returned error will be 602 * placed in the event queue. 603 */ 604xcb_res_query_clients_cookie_t 605xcb_res_query_clients_unchecked (xcb_connection_t *c); 606 607xcb_res_client_t * 608xcb_res_query_clients_clients (const xcb_res_query_clients_reply_t *R); 609 610int 611xcb_res_query_clients_clients_length (const xcb_res_query_clients_reply_t *R); 612 613xcb_res_client_iterator_t 614xcb_res_query_clients_clients_iterator (const xcb_res_query_clients_reply_t *R); 615 616/** 617 * Return the reply 618 * @param c The connection 619 * @param cookie The cookie 620 * @param e The xcb_generic_error_t supplied 621 * 622 * Returns the reply of the request asked by 623 * 624 * The parameter @p e supplied to this function must be NULL if 625 * xcb_res_query_clients_unchecked(). is used. 626 * Otherwise, it stores the error if any. 627 * 628 * The returned value must be freed by the caller using free(). 629 */ 630xcb_res_query_clients_reply_t * 631xcb_res_query_clients_reply (xcb_connection_t *c, 632 xcb_res_query_clients_cookie_t cookie /**< */, 633 xcb_generic_error_t **e); 634 635int 636xcb_res_query_client_resources_sizeof (const void *_buffer); 637 638/** 639 * 640 * @param c The connection 641 * @return A cookie 642 * 643 * Delivers a request to the X server. 644 * 645 */ 646xcb_res_query_client_resources_cookie_t 647xcb_res_query_client_resources (xcb_connection_t *c, 648 uint32_t xid); 649 650/** 651 * 652 * @param c The connection 653 * @return A cookie 654 * 655 * Delivers a request to the X server. 656 * 657 * This form can be used only if the request will cause 658 * a reply to be generated. Any returned error will be 659 * placed in the event queue. 660 */ 661xcb_res_query_client_resources_cookie_t 662xcb_res_query_client_resources_unchecked (xcb_connection_t *c, 663 uint32_t xid); 664 665xcb_res_type_t * 666xcb_res_query_client_resources_types (const xcb_res_query_client_resources_reply_t *R); 667 668int 669xcb_res_query_client_resources_types_length (const xcb_res_query_client_resources_reply_t *R); 670 671xcb_res_type_iterator_t 672xcb_res_query_client_resources_types_iterator (const xcb_res_query_client_resources_reply_t *R); 673 674/** 675 * Return the reply 676 * @param c The connection 677 * @param cookie The cookie 678 * @param e The xcb_generic_error_t supplied 679 * 680 * Returns the reply of the request asked by 681 * 682 * The parameter @p e supplied to this function must be NULL if 683 * xcb_res_query_client_resources_unchecked(). is used. 684 * Otherwise, it stores the error if any. 685 * 686 * The returned value must be freed by the caller using free(). 687 */ 688xcb_res_query_client_resources_reply_t * 689xcb_res_query_client_resources_reply (xcb_connection_t *c, 690 xcb_res_query_client_resources_cookie_t cookie /**< */, 691 xcb_generic_error_t **e); 692 693/** 694 * 695 * @param c The connection 696 * @return A cookie 697 * 698 * Delivers a request to the X server. 699 * 700 */ 701xcb_res_query_client_pixmap_bytes_cookie_t 702xcb_res_query_client_pixmap_bytes (xcb_connection_t *c, 703 uint32_t xid); 704 705/** 706 * 707 * @param c The connection 708 * @return A cookie 709 * 710 * Delivers a request to the X server. 711 * 712 * This form can be used only if the request will cause 713 * a reply to be generated. Any returned error will be 714 * placed in the event queue. 715 */ 716xcb_res_query_client_pixmap_bytes_cookie_t 717xcb_res_query_client_pixmap_bytes_unchecked (xcb_connection_t *c, 718 uint32_t xid); 719 720/** 721 * Return the reply 722 * @param c The connection 723 * @param cookie The cookie 724 * @param e The xcb_generic_error_t supplied 725 * 726 * Returns the reply of the request asked by 727 * 728 * The parameter @p e supplied to this function must be NULL if 729 * xcb_res_query_client_pixmap_bytes_unchecked(). is used. 730 * Otherwise, it stores the error if any. 731 * 732 * The returned value must be freed by the caller using free(). 733 */ 734xcb_res_query_client_pixmap_bytes_reply_t * 735xcb_res_query_client_pixmap_bytes_reply (xcb_connection_t *c, 736 xcb_res_query_client_pixmap_bytes_cookie_t cookie /**< */, 737 xcb_generic_error_t **e); 738 739int 740xcb_res_query_client_ids_sizeof (const void *_buffer); 741 742/** 743 * 744 * @param c The connection 745 * @return A cookie 746 * 747 * Delivers a request to the X server. 748 * 749 */ 750xcb_res_query_client_ids_cookie_t 751xcb_res_query_client_ids (xcb_connection_t *c, 752 uint32_t num_specs, 753 const xcb_res_client_id_spec_t *specs); 754 755/** 756 * 757 * @param c The connection 758 * @return A cookie 759 * 760 * Delivers a request to the X server. 761 * 762 * This form can be used only if the request will cause 763 * a reply to be generated. Any returned error will be 764 * placed in the event queue. 765 */ 766xcb_res_query_client_ids_cookie_t 767xcb_res_query_client_ids_unchecked (xcb_connection_t *c, 768 uint32_t num_specs, 769 const xcb_res_client_id_spec_t *specs); 770 771int 772xcb_res_query_client_ids_ids_length (const xcb_res_query_client_ids_reply_t *R); 773 774xcb_res_client_id_value_iterator_t 775xcb_res_query_client_ids_ids_iterator (const xcb_res_query_client_ids_reply_t *R); 776 777/** 778 * Return the reply 779 * @param c The connection 780 * @param cookie The cookie 781 * @param e The xcb_generic_error_t supplied 782 * 783 * Returns the reply of the request asked by 784 * 785 * The parameter @p e supplied to this function must be NULL if 786 * xcb_res_query_client_ids_unchecked(). is used. 787 * Otherwise, it stores the error if any. 788 * 789 * The returned value must be freed by the caller using free(). 790 */ 791xcb_res_query_client_ids_reply_t * 792xcb_res_query_client_ids_reply (xcb_connection_t *c, 793 xcb_res_query_client_ids_cookie_t cookie /**< */, 794 xcb_generic_error_t **e); 795 796int 797xcb_res_query_resource_bytes_sizeof (const void *_buffer); 798 799/** 800 * 801 * @param c The connection 802 * @return A cookie 803 * 804 * Delivers a request to the X server. 805 * 806 */ 807xcb_res_query_resource_bytes_cookie_t 808xcb_res_query_resource_bytes (xcb_connection_t *c, 809 uint32_t client, 810 uint32_t num_specs, 811 const xcb_res_resource_id_spec_t *specs); 812 813/** 814 * 815 * @param c The connection 816 * @return A cookie 817 * 818 * Delivers a request to the X server. 819 * 820 * This form can be used only if the request will cause 821 * a reply to be generated. Any returned error will be 822 * placed in the event queue. 823 */ 824xcb_res_query_resource_bytes_cookie_t 825xcb_res_query_resource_bytes_unchecked (xcb_connection_t *c, 826 uint32_t client, 827 uint32_t num_specs, 828 const xcb_res_resource_id_spec_t *specs); 829 830int 831xcb_res_query_resource_bytes_sizes_length (const xcb_res_query_resource_bytes_reply_t *R); 832 833xcb_res_resource_size_value_iterator_t 834xcb_res_query_resource_bytes_sizes_iterator (const xcb_res_query_resource_bytes_reply_t *R); 835 836/** 837 * Return the reply 838 * @param c The connection 839 * @param cookie The cookie 840 * @param e The xcb_generic_error_t supplied 841 * 842 * Returns the reply of the request asked by 843 * 844 * The parameter @p e supplied to this function must be NULL if 845 * xcb_res_query_resource_bytes_unchecked(). is used. 846 * Otherwise, it stores the error if any. 847 * 848 * The returned value must be freed by the caller using free(). 849 */ 850xcb_res_query_resource_bytes_reply_t * 851xcb_res_query_resource_bytes_reply (xcb_connection_t *c, 852 xcb_res_query_resource_bytes_cookie_t cookie /**< */, 853 xcb_generic_error_t **e); 854 855 856#ifdef __cplusplus 857} 858#endif 859 860#endif 861 862/** 863 * @} 864 */ 865