1/* 2 * This file generated automatically from dri3.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6/** 7 * @defgroup XCB_DRI3_API XCB DRI3 API 8 * @brief DRI3 XCB Protocol Implementation. 9 * @{ 10 **/ 11 12#ifndef __DRI3_H 13#define __DRI3_H 14 15#include "xcb.h" 16#include "xproto.h" 17 18#ifdef __cplusplus 19extern "C" { 20#endif 21 22#define XCB_DRI3_MAJOR_VERSION 1 23#define XCB_DRI3_MINOR_VERSION 3 24 25extern xcb_extension_t xcb_dri3_id; 26 27/** 28 * @brief xcb_dri3_query_version_cookie_t 29 **/ 30typedef struct xcb_dri3_query_version_cookie_t { 31 unsigned int sequence; 32} xcb_dri3_query_version_cookie_t; 33 34/** Opcode for xcb_dri3_query_version. */ 35#define XCB_DRI3_QUERY_VERSION 0 36 37/** 38 * @brief xcb_dri3_query_version_request_t 39 **/ 40typedef struct xcb_dri3_query_version_request_t { 41 uint8_t major_opcode; 42 uint8_t minor_opcode; 43 uint16_t length; 44 uint32_t major_version; 45 uint32_t minor_version; 46} xcb_dri3_query_version_request_t; 47 48/** 49 * @brief xcb_dri3_query_version_reply_t 50 **/ 51typedef struct xcb_dri3_query_version_reply_t { 52 uint8_t response_type; 53 uint8_t pad0; 54 uint16_t sequence; 55 uint32_t length; 56 uint32_t major_version; 57 uint32_t minor_version; 58} xcb_dri3_query_version_reply_t; 59 60/** 61 * @brief xcb_dri3_open_cookie_t 62 **/ 63typedef struct xcb_dri3_open_cookie_t { 64 unsigned int sequence; 65} xcb_dri3_open_cookie_t; 66 67/** Opcode for xcb_dri3_open. */ 68#define XCB_DRI3_OPEN 1 69 70/** 71 * @brief xcb_dri3_open_request_t 72 **/ 73typedef struct xcb_dri3_open_request_t { 74 uint8_t major_opcode; 75 uint8_t minor_opcode; 76 uint16_t length; 77 xcb_drawable_t drawable; 78 uint32_t provider; 79} xcb_dri3_open_request_t; 80 81/** 82 * @brief xcb_dri3_open_reply_t 83 **/ 84typedef struct xcb_dri3_open_reply_t { 85 uint8_t response_type; 86 uint8_t nfd; 87 uint16_t sequence; 88 uint32_t length; 89 uint8_t pad0[24]; 90} xcb_dri3_open_reply_t; 91 92/** Opcode for xcb_dri3_pixmap_from_buffer. */ 93#define XCB_DRI3_PIXMAP_FROM_BUFFER 2 94 95/** 96 * @brief xcb_dri3_pixmap_from_buffer_request_t 97 **/ 98typedef struct xcb_dri3_pixmap_from_buffer_request_t { 99 uint8_t major_opcode; 100 uint8_t minor_opcode; 101 uint16_t length; 102 xcb_pixmap_t pixmap; 103 xcb_drawable_t drawable; 104 uint32_t size; 105 uint16_t width; 106 uint16_t height; 107 uint16_t stride; 108 uint8_t depth; 109 uint8_t bpp; 110} xcb_dri3_pixmap_from_buffer_request_t; 111 112/** 113 * @brief xcb_dri3_buffer_from_pixmap_cookie_t 114 **/ 115typedef struct xcb_dri3_buffer_from_pixmap_cookie_t { 116 unsigned int sequence; 117} xcb_dri3_buffer_from_pixmap_cookie_t; 118 119/** Opcode for xcb_dri3_buffer_from_pixmap. */ 120#define XCB_DRI3_BUFFER_FROM_PIXMAP 3 121 122/** 123 * @brief xcb_dri3_buffer_from_pixmap_request_t 124 **/ 125typedef struct xcb_dri3_buffer_from_pixmap_request_t { 126 uint8_t major_opcode; 127 uint8_t minor_opcode; 128 uint16_t length; 129 xcb_pixmap_t pixmap; 130} xcb_dri3_buffer_from_pixmap_request_t; 131 132/** 133 * @brief xcb_dri3_buffer_from_pixmap_reply_t 134 **/ 135typedef struct xcb_dri3_buffer_from_pixmap_reply_t { 136 uint8_t response_type; 137 uint8_t nfd; 138 uint16_t sequence; 139 uint32_t length; 140 uint32_t size; 141 uint16_t width; 142 uint16_t height; 143 uint16_t stride; 144 uint8_t depth; 145 uint8_t bpp; 146 uint8_t pad0[12]; 147} xcb_dri3_buffer_from_pixmap_reply_t; 148 149/** Opcode for xcb_dri3_fence_from_fd. */ 150#define XCB_DRI3_FENCE_FROM_FD 4 151 152/** 153 * @brief xcb_dri3_fence_from_fd_request_t 154 **/ 155typedef struct xcb_dri3_fence_from_fd_request_t { 156 uint8_t major_opcode; 157 uint8_t minor_opcode; 158 uint16_t length; 159 xcb_drawable_t drawable; 160 uint32_t fence; 161 uint8_t initially_triggered; 162 uint8_t pad0[3]; 163} xcb_dri3_fence_from_fd_request_t; 164 165/** 166 * @brief xcb_dri3_fd_from_fence_cookie_t 167 **/ 168typedef struct xcb_dri3_fd_from_fence_cookie_t { 169 unsigned int sequence; 170} xcb_dri3_fd_from_fence_cookie_t; 171 172/** Opcode for xcb_dri3_fd_from_fence. */ 173#define XCB_DRI3_FD_FROM_FENCE 5 174 175/** 176 * @brief xcb_dri3_fd_from_fence_request_t 177 **/ 178typedef struct xcb_dri3_fd_from_fence_request_t { 179 uint8_t major_opcode; 180 uint8_t minor_opcode; 181 uint16_t length; 182 xcb_drawable_t drawable; 183 uint32_t fence; 184} xcb_dri3_fd_from_fence_request_t; 185 186/** 187 * @brief xcb_dri3_fd_from_fence_reply_t 188 **/ 189typedef struct xcb_dri3_fd_from_fence_reply_t { 190 uint8_t response_type; 191 uint8_t nfd; 192 uint16_t sequence; 193 uint32_t length; 194 uint8_t pad0[24]; 195} xcb_dri3_fd_from_fence_reply_t; 196 197/** 198 * @brief xcb_dri3_get_supported_modifiers_cookie_t 199 **/ 200typedef struct xcb_dri3_get_supported_modifiers_cookie_t { 201 unsigned int sequence; 202} xcb_dri3_get_supported_modifiers_cookie_t; 203 204/** Opcode for xcb_dri3_get_supported_modifiers. */ 205#define XCB_DRI3_GET_SUPPORTED_MODIFIERS 6 206 207/** 208 * @brief xcb_dri3_get_supported_modifiers_request_t 209 **/ 210typedef struct xcb_dri3_get_supported_modifiers_request_t { 211 uint8_t major_opcode; 212 uint8_t minor_opcode; 213 uint16_t length; 214 uint32_t window; 215 uint8_t depth; 216 uint8_t bpp; 217 uint8_t pad0[2]; 218} xcb_dri3_get_supported_modifiers_request_t; 219 220/** 221 * @brief xcb_dri3_get_supported_modifiers_reply_t 222 **/ 223typedef struct xcb_dri3_get_supported_modifiers_reply_t { 224 uint8_t response_type; 225 uint8_t pad0; 226 uint16_t sequence; 227 uint32_t length; 228 uint32_t num_window_modifiers; 229 uint32_t num_screen_modifiers; 230 uint8_t pad1[16]; 231} xcb_dri3_get_supported_modifiers_reply_t; 232 233/** Opcode for xcb_dri3_pixmap_from_buffers. */ 234#define XCB_DRI3_PIXMAP_FROM_BUFFERS 7 235 236/** 237 * @brief xcb_dri3_pixmap_from_buffers_request_t 238 **/ 239typedef struct xcb_dri3_pixmap_from_buffers_request_t { 240 uint8_t major_opcode; 241 uint8_t minor_opcode; 242 uint16_t length; 243 xcb_pixmap_t pixmap; 244 xcb_window_t window; 245 uint8_t num_buffers; 246 uint8_t pad0[3]; 247 uint16_t width; 248 uint16_t height; 249 uint32_t stride0; 250 uint32_t offset0; 251 uint32_t stride1; 252 uint32_t offset1; 253 uint32_t stride2; 254 uint32_t offset2; 255 uint32_t stride3; 256 uint32_t offset3; 257 uint8_t depth; 258 uint8_t bpp; 259 uint8_t pad1[2]; 260 uint64_t modifier; 261} xcb_dri3_pixmap_from_buffers_request_t; 262 263/** 264 * @brief xcb_dri3_buffers_from_pixmap_cookie_t 265 **/ 266typedef struct xcb_dri3_buffers_from_pixmap_cookie_t { 267 unsigned int sequence; 268} xcb_dri3_buffers_from_pixmap_cookie_t; 269 270/** Opcode for xcb_dri3_buffers_from_pixmap. */ 271#define XCB_DRI3_BUFFERS_FROM_PIXMAP 8 272 273/** 274 * @brief xcb_dri3_buffers_from_pixmap_request_t 275 **/ 276typedef struct xcb_dri3_buffers_from_pixmap_request_t { 277 uint8_t major_opcode; 278 uint8_t minor_opcode; 279 uint16_t length; 280 xcb_pixmap_t pixmap; 281} xcb_dri3_buffers_from_pixmap_request_t; 282 283/** 284 * @brief xcb_dri3_buffers_from_pixmap_reply_t 285 **/ 286typedef struct xcb_dri3_buffers_from_pixmap_reply_t { 287 uint8_t response_type; 288 uint8_t nfd; 289 uint16_t sequence; 290 uint32_t length; 291 uint16_t width; 292 uint16_t height; 293 uint8_t pad0[4]; 294 uint64_t modifier; 295 uint8_t depth; 296 uint8_t bpp; 297 uint8_t pad1[6]; 298} xcb_dri3_buffers_from_pixmap_reply_t; 299 300/** Opcode for xcb_dri3_set_drm_device_in_use. */ 301#define XCB_DRI3_SET_DRM_DEVICE_IN_USE 9 302 303/** 304 * @brief xcb_dri3_set_drm_device_in_use_request_t 305 **/ 306typedef struct xcb_dri3_set_drm_device_in_use_request_t { 307 uint8_t major_opcode; 308 uint8_t minor_opcode; 309 uint16_t length; 310 xcb_window_t window; 311 uint32_t drmMajor; 312 uint32_t drmMinor; 313} xcb_dri3_set_drm_device_in_use_request_t; 314 315/** 316 * 317 * @param c The connection 318 * @return A cookie 319 * 320 * Delivers a request to the X server. 321 * 322 */ 323xcb_dri3_query_version_cookie_t 324xcb_dri3_query_version (xcb_connection_t *c, 325 uint32_t major_version, 326 uint32_t minor_version); 327 328/** 329 * 330 * @param c The connection 331 * @return A cookie 332 * 333 * Delivers a request to the X server. 334 * 335 * This form can be used only if the request will cause 336 * a reply to be generated. Any returned error will be 337 * placed in the event queue. 338 */ 339xcb_dri3_query_version_cookie_t 340xcb_dri3_query_version_unchecked (xcb_connection_t *c, 341 uint32_t major_version, 342 uint32_t minor_version); 343 344/** 345 * Return the reply 346 * @param c The connection 347 * @param cookie The cookie 348 * @param e The xcb_generic_error_t supplied 349 * 350 * Returns the reply of the request asked by 351 * 352 * The parameter @p e supplied to this function must be NULL if 353 * xcb_dri3_query_version_unchecked(). is used. 354 * Otherwise, it stores the error if any. 355 * 356 * The returned value must be freed by the caller using free(). 357 */ 358xcb_dri3_query_version_reply_t * 359xcb_dri3_query_version_reply (xcb_connection_t *c, 360 xcb_dri3_query_version_cookie_t cookie /**< */, 361 xcb_generic_error_t **e); 362 363/** 364 * 365 * @param c The connection 366 * @return A cookie 367 * 368 * Delivers a request to the X server. 369 * 370 */ 371xcb_dri3_open_cookie_t 372xcb_dri3_open (xcb_connection_t *c, 373 xcb_drawable_t drawable, 374 uint32_t provider); 375 376/** 377 * 378 * @param c The connection 379 * @return A cookie 380 * 381 * Delivers a request to the X server. 382 * 383 * This form can be used only if the request will cause 384 * a reply to be generated. Any returned error will be 385 * placed in the event queue. 386 */ 387xcb_dri3_open_cookie_t 388xcb_dri3_open_unchecked (xcb_connection_t *c, 389 xcb_drawable_t drawable, 390 uint32_t provider); 391 392/** 393 * Return the reply 394 * @param c The connection 395 * @param cookie The cookie 396 * @param e The xcb_generic_error_t supplied 397 * 398 * Returns the reply of the request asked by 399 * 400 * The parameter @p e supplied to this function must be NULL if 401 * xcb_dri3_open_unchecked(). is used. 402 * Otherwise, it stores the error if any. 403 * 404 * The returned value must be freed by the caller using free(). 405 */ 406xcb_dri3_open_reply_t * 407xcb_dri3_open_reply (xcb_connection_t *c, 408 xcb_dri3_open_cookie_t cookie /**< */, 409 xcb_generic_error_t **e); 410 411/** 412 * Return the reply fds 413 * @param c The connection 414 * @param reply The reply 415 * 416 * Returns a pointer to the array of reply fds of the reply. 417 * 418 * The returned value points into the reply and must not be free(). 419 * The fds are not managed by xcb. You must close() them before freeing the reply. 420 */ 421int * 422xcb_dri3_open_reply_fds (xcb_connection_t *c /**< */, 423 xcb_dri3_open_reply_t *reply); 424 425/** 426 * 427 * @param c The connection 428 * @return A cookie 429 * 430 * Delivers a request to the X server. 431 * 432 * This form can be used only if the request will not cause 433 * a reply to be generated. Any returned error will be 434 * saved for handling by xcb_request_check(). 435 */ 436xcb_void_cookie_t 437xcb_dri3_pixmap_from_buffer_checked (xcb_connection_t *c, 438 xcb_pixmap_t pixmap, 439 xcb_drawable_t drawable, 440 uint32_t size, 441 uint16_t width, 442 uint16_t height, 443 uint16_t stride, 444 uint8_t depth, 445 uint8_t bpp, 446 int32_t pixmap_fd); 447 448/** 449 * 450 * @param c The connection 451 * @return A cookie 452 * 453 * Delivers a request to the X server. 454 * 455 */ 456xcb_void_cookie_t 457xcb_dri3_pixmap_from_buffer (xcb_connection_t *c, 458 xcb_pixmap_t pixmap, 459 xcb_drawable_t drawable, 460 uint32_t size, 461 uint16_t width, 462 uint16_t height, 463 uint16_t stride, 464 uint8_t depth, 465 uint8_t bpp, 466 int32_t pixmap_fd); 467 468/** 469 * 470 * @param c The connection 471 * @return A cookie 472 * 473 * Delivers a request to the X server. 474 * 475 */ 476xcb_dri3_buffer_from_pixmap_cookie_t 477xcb_dri3_buffer_from_pixmap (xcb_connection_t *c, 478 xcb_pixmap_t pixmap); 479 480/** 481 * 482 * @param c The connection 483 * @return A cookie 484 * 485 * Delivers a request to the X server. 486 * 487 * This form can be used only if the request will cause 488 * a reply to be generated. Any returned error will be 489 * placed in the event queue. 490 */ 491xcb_dri3_buffer_from_pixmap_cookie_t 492xcb_dri3_buffer_from_pixmap_unchecked (xcb_connection_t *c, 493 xcb_pixmap_t pixmap); 494 495/** 496 * Return the reply 497 * @param c The connection 498 * @param cookie The cookie 499 * @param e The xcb_generic_error_t supplied 500 * 501 * Returns the reply of the request asked by 502 * 503 * The parameter @p e supplied to this function must be NULL if 504 * xcb_dri3_buffer_from_pixmap_unchecked(). is used. 505 * Otherwise, it stores the error if any. 506 * 507 * The returned value must be freed by the caller using free(). 508 */ 509xcb_dri3_buffer_from_pixmap_reply_t * 510xcb_dri3_buffer_from_pixmap_reply (xcb_connection_t *c, 511 xcb_dri3_buffer_from_pixmap_cookie_t cookie /**< */, 512 xcb_generic_error_t **e); 513 514/** 515 * Return the reply fds 516 * @param c The connection 517 * @param reply The reply 518 * 519 * Returns a pointer to the array of reply fds of the reply. 520 * 521 * The returned value points into the reply and must not be free(). 522 * The fds are not managed by xcb. You must close() them before freeing the reply. 523 */ 524int * 525xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t *c /**< */, 526 xcb_dri3_buffer_from_pixmap_reply_t *reply); 527 528/** 529 * 530 * @param c The connection 531 * @return A cookie 532 * 533 * Delivers a request to the X server. 534 * 535 * This form can be used only if the request will not cause 536 * a reply to be generated. Any returned error will be 537 * saved for handling by xcb_request_check(). 538 */ 539xcb_void_cookie_t 540xcb_dri3_fence_from_fd_checked (xcb_connection_t *c, 541 xcb_drawable_t drawable, 542 uint32_t fence, 543 uint8_t initially_triggered, 544 int32_t fence_fd); 545 546/** 547 * 548 * @param c The connection 549 * @return A cookie 550 * 551 * Delivers a request to the X server. 552 * 553 */ 554xcb_void_cookie_t 555xcb_dri3_fence_from_fd (xcb_connection_t *c, 556 xcb_drawable_t drawable, 557 uint32_t fence, 558 uint8_t initially_triggered, 559 int32_t fence_fd); 560 561/** 562 * 563 * @param c The connection 564 * @return A cookie 565 * 566 * Delivers a request to the X server. 567 * 568 */ 569xcb_dri3_fd_from_fence_cookie_t 570xcb_dri3_fd_from_fence (xcb_connection_t *c, 571 xcb_drawable_t drawable, 572 uint32_t fence); 573 574/** 575 * 576 * @param c The connection 577 * @return A cookie 578 * 579 * Delivers a request to the X server. 580 * 581 * This form can be used only if the request will cause 582 * a reply to be generated. Any returned error will be 583 * placed in the event queue. 584 */ 585xcb_dri3_fd_from_fence_cookie_t 586xcb_dri3_fd_from_fence_unchecked (xcb_connection_t *c, 587 xcb_drawable_t drawable, 588 uint32_t fence); 589 590/** 591 * Return the reply 592 * @param c The connection 593 * @param cookie The cookie 594 * @param e The xcb_generic_error_t supplied 595 * 596 * Returns the reply of the request asked by 597 * 598 * The parameter @p e supplied to this function must be NULL if 599 * xcb_dri3_fd_from_fence_unchecked(). is used. 600 * Otherwise, it stores the error if any. 601 * 602 * The returned value must be freed by the caller using free(). 603 */ 604xcb_dri3_fd_from_fence_reply_t * 605xcb_dri3_fd_from_fence_reply (xcb_connection_t *c, 606 xcb_dri3_fd_from_fence_cookie_t cookie /**< */, 607 xcb_generic_error_t **e); 608 609/** 610 * Return the reply fds 611 * @param c The connection 612 * @param reply The reply 613 * 614 * Returns a pointer to the array of reply fds of the reply. 615 * 616 * The returned value points into the reply and must not be free(). 617 * The fds are not managed by xcb. You must close() them before freeing the reply. 618 */ 619int * 620xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t *c /**< */, 621 xcb_dri3_fd_from_fence_reply_t *reply); 622 623int 624xcb_dri3_get_supported_modifiers_sizeof (const void *_buffer); 625 626/** 627 * 628 * @param c The connection 629 * @return A cookie 630 * 631 * Delivers a request to the X server. 632 * 633 */ 634xcb_dri3_get_supported_modifiers_cookie_t 635xcb_dri3_get_supported_modifiers (xcb_connection_t *c, 636 uint32_t window, 637 uint8_t depth, 638 uint8_t bpp); 639 640/** 641 * 642 * @param c The connection 643 * @return A cookie 644 * 645 * Delivers a request to the X server. 646 * 647 * This form can be used only if the request will cause 648 * a reply to be generated. Any returned error will be 649 * placed in the event queue. 650 */ 651xcb_dri3_get_supported_modifiers_cookie_t 652xcb_dri3_get_supported_modifiers_unchecked (xcb_connection_t *c, 653 uint32_t window, 654 uint8_t depth, 655 uint8_t bpp); 656 657uint64_t * 658xcb_dri3_get_supported_modifiers_window_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R); 659 660int 661xcb_dri3_get_supported_modifiers_window_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R); 662 663xcb_generic_iterator_t 664xcb_dri3_get_supported_modifiers_window_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R); 665 666uint64_t * 667xcb_dri3_get_supported_modifiers_screen_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R); 668 669int 670xcb_dri3_get_supported_modifiers_screen_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R); 671 672xcb_generic_iterator_t 673xcb_dri3_get_supported_modifiers_screen_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R); 674 675/** 676 * Return the reply 677 * @param c The connection 678 * @param cookie The cookie 679 * @param e The xcb_generic_error_t supplied 680 * 681 * Returns the reply of the request asked by 682 * 683 * The parameter @p e supplied to this function must be NULL if 684 * xcb_dri3_get_supported_modifiers_unchecked(). is used. 685 * Otherwise, it stores the error if any. 686 * 687 * The returned value must be freed by the caller using free(). 688 */ 689xcb_dri3_get_supported_modifiers_reply_t * 690xcb_dri3_get_supported_modifiers_reply (xcb_connection_t *c, 691 xcb_dri3_get_supported_modifiers_cookie_t cookie /**< */, 692 xcb_generic_error_t **e); 693 694/** 695 * 696 * @param c The connection 697 * @return A cookie 698 * 699 * Delivers a request to the X server. 700 * 701 * This form can be used only if the request will not cause 702 * a reply to be generated. Any returned error will be 703 * saved for handling by xcb_request_check(). 704 */ 705xcb_void_cookie_t 706xcb_dri3_pixmap_from_buffers_checked (xcb_connection_t *c, 707 xcb_pixmap_t pixmap, 708 xcb_window_t window, 709 uint8_t num_buffers, 710 uint16_t width, 711 uint16_t height, 712 uint32_t stride0, 713 uint32_t offset0, 714 uint32_t stride1, 715 uint32_t offset1, 716 uint32_t stride2, 717 uint32_t offset2, 718 uint32_t stride3, 719 uint32_t offset3, 720 uint8_t depth, 721 uint8_t bpp, 722 uint64_t modifier, 723 const int32_t *buffers); 724 725/** 726 * 727 * @param c The connection 728 * @return A cookie 729 * 730 * Delivers a request to the X server. 731 * 732 */ 733xcb_void_cookie_t 734xcb_dri3_pixmap_from_buffers (xcb_connection_t *c, 735 xcb_pixmap_t pixmap, 736 xcb_window_t window, 737 uint8_t num_buffers, 738 uint16_t width, 739 uint16_t height, 740 uint32_t stride0, 741 uint32_t offset0, 742 uint32_t stride1, 743 uint32_t offset1, 744 uint32_t stride2, 745 uint32_t offset2, 746 uint32_t stride3, 747 uint32_t offset3, 748 uint8_t depth, 749 uint8_t bpp, 750 uint64_t modifier, 751 const int32_t *buffers); 752 753int 754xcb_dri3_buffers_from_pixmap_sizeof (const void *_buffer, 755 int32_t buffers); 756 757/** 758 * 759 * @param c The connection 760 * @return A cookie 761 * 762 * Delivers a request to the X server. 763 * 764 */ 765xcb_dri3_buffers_from_pixmap_cookie_t 766xcb_dri3_buffers_from_pixmap (xcb_connection_t *c, 767 xcb_pixmap_t pixmap); 768 769/** 770 * 771 * @param c The connection 772 * @return A cookie 773 * 774 * Delivers a request to the X server. 775 * 776 * This form can be used only if the request will cause 777 * a reply to be generated. Any returned error will be 778 * placed in the event queue. 779 */ 780xcb_dri3_buffers_from_pixmap_cookie_t 781xcb_dri3_buffers_from_pixmap_unchecked (xcb_connection_t *c, 782 xcb_pixmap_t pixmap); 783 784uint32_t * 785xcb_dri3_buffers_from_pixmap_strides (const xcb_dri3_buffers_from_pixmap_reply_t *R); 786 787int 788xcb_dri3_buffers_from_pixmap_strides_length (const xcb_dri3_buffers_from_pixmap_reply_t *R); 789 790xcb_generic_iterator_t 791xcb_dri3_buffers_from_pixmap_strides_end (const xcb_dri3_buffers_from_pixmap_reply_t *R); 792 793uint32_t * 794xcb_dri3_buffers_from_pixmap_offsets (const xcb_dri3_buffers_from_pixmap_reply_t *R); 795 796int 797xcb_dri3_buffers_from_pixmap_offsets_length (const xcb_dri3_buffers_from_pixmap_reply_t *R); 798 799xcb_generic_iterator_t 800xcb_dri3_buffers_from_pixmap_offsets_end (const xcb_dri3_buffers_from_pixmap_reply_t *R); 801 802int32_t * 803xcb_dri3_buffers_from_pixmap_buffers (const xcb_dri3_buffers_from_pixmap_reply_t *R); 804 805int 806xcb_dri3_buffers_from_pixmap_buffers_length (const xcb_dri3_buffers_from_pixmap_reply_t *R); 807 808xcb_generic_iterator_t 809xcb_dri3_buffers_from_pixmap_buffers_end (const xcb_dri3_buffers_from_pixmap_reply_t *R); 810 811/** 812 * Return the reply 813 * @param c The connection 814 * @param cookie The cookie 815 * @param e The xcb_generic_error_t supplied 816 * 817 * Returns the reply of the request asked by 818 * 819 * The parameter @p e supplied to this function must be NULL if 820 * xcb_dri3_buffers_from_pixmap_unchecked(). is used. 821 * Otherwise, it stores the error if any. 822 * 823 * The returned value must be freed by the caller using free(). 824 */ 825xcb_dri3_buffers_from_pixmap_reply_t * 826xcb_dri3_buffers_from_pixmap_reply (xcb_connection_t *c, 827 xcb_dri3_buffers_from_pixmap_cookie_t cookie /**< */, 828 xcb_generic_error_t **e); 829 830/** 831 * Return the reply fds 832 * @param c The connection 833 * @param reply The reply 834 * 835 * Returns a pointer to the array of reply fds of the reply. 836 * 837 * The returned value points into the reply and must not be free(). 838 * The fds are not managed by xcb. You must close() them before freeing the reply. 839 */ 840int * 841xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t *c /**< */, 842 xcb_dri3_buffers_from_pixmap_reply_t *reply); 843 844/** 845 * 846 * @param c The connection 847 * @return A cookie 848 * 849 * Delivers a request to the X server. 850 * 851 * This form can be used only if the request will not cause 852 * a reply to be generated. Any returned error will be 853 * saved for handling by xcb_request_check(). 854 */ 855xcb_void_cookie_t 856xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c, 857 xcb_window_t window, 858 uint32_t drmMajor, 859 uint32_t drmMinor); 860 861/** 862 * 863 * @param c The connection 864 * @return A cookie 865 * 866 * Delivers a request to the X server. 867 * 868 */ 869xcb_void_cookie_t 870xcb_dri3_set_drm_device_in_use (xcb_connection_t *c, 871 xcb_window_t window, 872 uint32_t drmMajor, 873 uint32_t drmMinor); 874 875 876#ifdef __cplusplus 877} 878#endif 879 880#endif 881 882/** 883 * @} 884 */ 885