github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xcb/include/X11/extensions/randrproto.h (about) 1 /* 2 * Copyright © 2000 Compaq Computer Corporation 3 * Copyright © 2002 Hewlett-Packard Company 4 * Copyright © 2006 Intel Corporation 5 * Copyright © 2008 Red Hat, Inc. 6 * 7 * Permission to use, copy, modify, distribute, and sell this software and its 8 * documentation for any purpose is hereby granted without fee, provided that 9 * the above copyright notice appear in all copies and that both that copyright 10 * notice and this permission notice appear in supporting documentation, and 11 * that the name of the copyright holders not be used in advertising or 12 * publicity pertaining to distribution of the software without specific, 13 * written prior permission. The copyright holders make no representations 14 * about the suitability of this software for any purpose. It is provided "as 15 * is" without express or implied warranty. 16 * 17 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 18 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 19 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 20 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 22 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 23 * OF THIS SOFTWARE. 24 * 25 * Author: Jim Gettys, Hewlett-Packard Company, Inc. 26 * Keith Packard, Intel Corporation 27 */ 28 29 /* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */ 30 /* V1.0 removes depth switching from the protocol */ 31 #ifndef _XRANDRP_H_ 32 #define _XRANDRP_H_ 33 34 #include <X11/extensions/randr.h> 35 #include <X11/extensions/renderproto.h> 36 37 #define Window CARD32 38 #define Drawable CARD32 39 #define Font CARD32 40 #define Pixmap CARD32 41 #define Cursor CARD32 42 #define Colormap CARD32 43 #define GContext CARD32 44 #define Atom CARD32 45 #define Time CARD32 46 #define KeyCode CARD8 47 #define KeySym CARD32 48 #define RROutput CARD32 49 #define RRMode CARD32 50 #define RRCrtc CARD32 51 #define RRProvider CARD32 52 #define RRModeFlags CARD32 53 #define RRLease CARD32 54 55 #define Rotation CARD16 56 #define SizeID CARD16 57 #define SubpixelOrder CARD16 58 59 /* 60 * data structures 61 */ 62 63 typedef struct { 64 CARD16 widthInPixels; 65 CARD16 heightInPixels; 66 CARD16 widthInMillimeters; 67 CARD16 heightInMillimeters; 68 } xScreenSizes; 69 #define sz_xScreenSizes 8 70 71 /* 72 * requests and replies 73 */ 74 75 typedef struct { 76 CARD8 reqType; 77 CARD8 randrReqType; 78 CARD16 length; 79 CARD32 majorVersion; 80 CARD32 minorVersion; 81 } xRRQueryVersionReq; 82 #define sz_xRRQueryVersionReq 12 83 84 typedef struct { 85 BYTE type; /* X_Reply */ 86 BYTE pad1; 87 CARD16 sequenceNumber; 88 CARD32 length; 89 CARD32 majorVersion; 90 CARD32 minorVersion; 91 CARD32 pad2; 92 CARD32 pad3; 93 CARD32 pad4; 94 CARD32 pad5; 95 } xRRQueryVersionReply; 96 #define sz_xRRQueryVersionReply 32 97 98 typedef struct { 99 CARD8 reqType; 100 CARD8 randrReqType; 101 CARD16 length; 102 Window window; 103 } xRRGetScreenInfoReq; 104 #define sz_xRRGetScreenInfoReq 8 105 106 /* 107 * the xRRScreenInfoReply structure is followed by: 108 * 109 * the size information 110 */ 111 112 113 typedef struct { 114 BYTE type; /* X_Reply */ 115 BYTE setOfRotations; 116 CARD16 sequenceNumber; 117 CARD32 length; 118 Window root; 119 Time timestamp; 120 Time configTimestamp; 121 CARD16 nSizes; 122 SizeID sizeID; 123 Rotation rotation; 124 CARD16 rate; 125 CARD16 nrateEnts; 126 CARD16 pad; 127 } xRRGetScreenInfoReply; 128 #define sz_xRRGetScreenInfoReply 32 129 130 typedef struct { 131 CARD8 reqType; 132 CARD8 randrReqType; 133 CARD16 length; 134 Drawable drawable; 135 Time timestamp; 136 Time configTimestamp; 137 SizeID sizeID; 138 Rotation rotation; 139 } xRR1_0SetScreenConfigReq; 140 #define sz_xRR1_0SetScreenConfigReq 20 141 142 typedef struct { 143 CARD8 reqType; 144 CARD8 randrReqType; 145 CARD16 length; 146 Drawable drawable; 147 Time timestamp; 148 Time configTimestamp; 149 SizeID sizeID; 150 Rotation rotation; 151 CARD16 rate; 152 CARD16 pad; 153 } xRRSetScreenConfigReq; 154 #define sz_xRRSetScreenConfigReq 24 155 156 typedef struct { 157 BYTE type; /* X_Reply */ 158 CARD8 status; 159 CARD16 sequenceNumber; 160 CARD32 length; 161 Time newTimestamp; 162 Time newConfigTimestamp; 163 Window root; 164 CARD16 subpixelOrder; 165 CARD16 pad4; 166 CARD32 pad5; 167 CARD32 pad6; 168 } xRRSetScreenConfigReply; 169 #define sz_xRRSetScreenConfigReply 32 170 171 typedef struct { 172 CARD8 reqType; 173 CARD8 randrReqType; 174 CARD16 length; 175 Window window; 176 CARD16 enable; 177 CARD16 pad2; 178 } xRRSelectInputReq; 179 #define sz_xRRSelectInputReq 12 180 181 /* 182 * Additions for version 1.2 183 */ 184 185 typedef struct _xRRModeInfo { 186 RRMode id; 187 CARD16 width; 188 CARD16 height; 189 CARD32 dotClock; 190 CARD16 hSyncStart; 191 CARD16 hSyncEnd; 192 CARD16 hTotal; 193 CARD16 hSkew; 194 CARD16 vSyncStart; 195 CARD16 vSyncEnd; 196 CARD16 vTotal; 197 CARD16 nameLength; 198 RRModeFlags modeFlags; 199 } xRRModeInfo; 200 #define sz_xRRModeInfo 32 201 202 typedef struct { 203 CARD8 reqType; 204 CARD8 randrReqType; 205 CARD16 length; 206 Window window; 207 } xRRGetScreenSizeRangeReq; 208 #define sz_xRRGetScreenSizeRangeReq 8 209 210 typedef struct { 211 BYTE type; /* X_Reply */ 212 CARD8 pad; 213 CARD16 sequenceNumber; 214 CARD32 length; 215 CARD16 minWidth; 216 CARD16 minHeight; 217 CARD16 maxWidth; 218 CARD16 maxHeight; 219 CARD32 pad0; 220 CARD32 pad1; 221 CARD32 pad2; 222 CARD32 pad3; 223 } xRRGetScreenSizeRangeReply; 224 #define sz_xRRGetScreenSizeRangeReply 32 225 226 typedef struct { 227 CARD8 reqType; 228 CARD8 randrReqType; 229 CARD16 length; 230 Window window; 231 CARD16 width; 232 CARD16 height; 233 CARD32 widthInMillimeters; 234 CARD32 heightInMillimeters; 235 } xRRSetScreenSizeReq; 236 #define sz_xRRSetScreenSizeReq 20 237 238 typedef struct { 239 CARD8 reqType; 240 CARD8 randrReqType; 241 CARD16 length; 242 Window window; 243 } xRRGetScreenResourcesReq; 244 #define sz_xRRGetScreenResourcesReq 8 245 246 typedef struct { 247 BYTE type; 248 CARD8 pad; 249 CARD16 sequenceNumber; 250 CARD32 length; 251 Time timestamp; 252 Time configTimestamp; 253 CARD16 nCrtcs; 254 CARD16 nOutputs; 255 CARD16 nModes; 256 CARD16 nbytesNames; 257 CARD32 pad1; 258 CARD32 pad2; 259 } xRRGetScreenResourcesReply; 260 #define sz_xRRGetScreenResourcesReply 32 261 262 typedef struct { 263 CARD8 reqType; 264 CARD8 randrReqType; 265 CARD16 length; 266 RROutput output; 267 Time configTimestamp; 268 } xRRGetOutputInfoReq; 269 #define sz_xRRGetOutputInfoReq 12 270 271 typedef struct { 272 BYTE type; 273 CARD8 status; 274 CARD16 sequenceNumber; 275 CARD32 length; 276 Time timestamp; 277 RRCrtc crtc; 278 CARD32 mmWidth; 279 CARD32 mmHeight; 280 CARD8 connection; 281 CARD8 subpixelOrder; 282 CARD16 nCrtcs; 283 CARD16 nModes; 284 CARD16 nPreferred; 285 CARD16 nClones; 286 CARD16 nameLength; 287 } xRRGetOutputInfoReply; 288 #define sz_xRRGetOutputInfoReply 36 289 290 typedef struct { 291 CARD8 reqType; 292 CARD8 randrReqType; 293 CARD16 length; 294 RROutput output; 295 } xRRListOutputPropertiesReq; 296 #define sz_xRRListOutputPropertiesReq 8 297 298 typedef struct { 299 BYTE type; 300 CARD8 pad0; 301 CARD16 sequenceNumber; 302 CARD32 length; 303 CARD16 nAtoms; 304 CARD16 pad1; 305 CARD32 pad2; 306 CARD32 pad3; 307 CARD32 pad4; 308 CARD32 pad5; 309 CARD32 pad6; 310 } xRRListOutputPropertiesReply; 311 #define sz_xRRListOutputPropertiesReply 32 312 313 typedef struct { 314 CARD8 reqType; 315 CARD8 randrReqType; 316 CARD16 length; 317 RROutput output; 318 Atom property; 319 } xRRQueryOutputPropertyReq; 320 #define sz_xRRQueryOutputPropertyReq 12 321 322 typedef struct { 323 BYTE type; 324 BYTE pad0; 325 CARD16 sequenceNumber; 326 CARD32 length; 327 BOOL pending; 328 BOOL range; 329 BOOL immutable; 330 BYTE pad1; 331 CARD32 pad2; 332 CARD32 pad3; 333 CARD32 pad4; 334 CARD32 pad5; 335 CARD32 pad6; 336 } xRRQueryOutputPropertyReply; 337 #define sz_xRRQueryOutputPropertyReply 32 338 339 typedef struct { 340 CARD8 reqType; 341 CARD8 randrReqType; 342 CARD16 length; 343 RROutput output; 344 Atom property; 345 BOOL pending; 346 BOOL range; 347 CARD16 pad; 348 } xRRConfigureOutputPropertyReq; 349 #define sz_xRRConfigureOutputPropertyReq 16 350 351 typedef struct { 352 CARD8 reqType; 353 CARD8 randrReqType; 354 CARD16 length; 355 RROutput output; 356 Atom property; 357 Atom type; 358 CARD8 format; 359 CARD8 mode; 360 CARD16 pad; 361 CARD32 nUnits; 362 } xRRChangeOutputPropertyReq; 363 #define sz_xRRChangeOutputPropertyReq 24 364 365 typedef struct { 366 CARD8 reqType; 367 CARD8 randrReqType; 368 CARD16 length; 369 RROutput output; 370 Atom property; 371 } xRRDeleteOutputPropertyReq; 372 #define sz_xRRDeleteOutputPropertyReq 12 373 374 typedef struct { 375 CARD8 reqType; 376 CARD8 randrReqType; 377 CARD16 length; 378 RROutput output; 379 Atom property; 380 Atom type; 381 CARD32 longOffset; 382 CARD32 longLength; 383 #ifdef __cplusplus 384 BOOL _delete; 385 #else 386 BOOL delete; 387 #endif 388 BOOL pending; 389 CARD16 pad1; 390 } xRRGetOutputPropertyReq; 391 #define sz_xRRGetOutputPropertyReq 28 392 393 typedef struct { 394 BYTE type; 395 CARD8 format; 396 CARD16 sequenceNumber; 397 CARD32 length; 398 Atom propertyType; 399 CARD32 bytesAfter; 400 CARD32 nItems; 401 CARD32 pad1; 402 CARD32 pad2; 403 CARD32 pad3; 404 } xRRGetOutputPropertyReply; 405 #define sz_xRRGetOutputPropertyReply 32 406 407 typedef struct { 408 CARD8 reqType; 409 CARD8 randrReqType; 410 CARD16 length; 411 Window window; 412 xRRModeInfo modeInfo; 413 } xRRCreateModeReq; 414 #define sz_xRRCreateModeReq 40 415 416 typedef struct { 417 BYTE type; 418 CARD8 pad0; 419 CARD16 sequenceNumber; 420 CARD32 length; 421 RRMode mode; 422 CARD32 pad1; 423 CARD32 pad2; 424 CARD32 pad3; 425 CARD32 pad4; 426 CARD32 pad5; 427 } xRRCreateModeReply; 428 #define sz_xRRCreateModeReply 32 429 430 typedef struct { 431 CARD8 reqType; 432 CARD8 randrReqType; 433 CARD16 length; 434 RRMode mode; 435 } xRRDestroyModeReq; 436 #define sz_xRRDestroyModeReq 8 437 438 typedef struct { 439 CARD8 reqType; 440 CARD8 randrReqType; 441 CARD16 length; 442 RROutput output; 443 RRMode mode; 444 } xRRAddOutputModeReq; 445 #define sz_xRRAddOutputModeReq 12 446 447 typedef struct { 448 CARD8 reqType; 449 CARD8 randrReqType; 450 CARD16 length; 451 RROutput output; 452 RRMode mode; 453 } xRRDeleteOutputModeReq; 454 #define sz_xRRDeleteOutputModeReq 12 455 456 typedef struct { 457 CARD8 reqType; 458 CARD8 randrReqType; 459 CARD16 length; 460 RRCrtc crtc; 461 Time configTimestamp; 462 } xRRGetCrtcInfoReq; 463 #define sz_xRRGetCrtcInfoReq 12 464 465 typedef struct { 466 BYTE type; 467 CARD8 status; 468 CARD16 sequenceNumber; 469 CARD32 length; 470 Time timestamp; 471 INT16 x; 472 INT16 y; 473 CARD16 width; 474 CARD16 height; 475 RRMode mode; 476 Rotation rotation; 477 Rotation rotations; 478 CARD16 nOutput; 479 CARD16 nPossibleOutput; 480 } xRRGetCrtcInfoReply; 481 #define sz_xRRGetCrtcInfoReply 32 482 483 typedef struct { 484 CARD8 reqType; 485 CARD8 randrReqType; 486 CARD16 length; 487 RRCrtc crtc; 488 Time timestamp; 489 Time configTimestamp; 490 INT16 x; 491 INT16 y; 492 RRMode mode; 493 Rotation rotation; 494 CARD16 pad; 495 } xRRSetCrtcConfigReq; 496 #define sz_xRRSetCrtcConfigReq 28 497 498 typedef struct { 499 BYTE type; 500 CARD8 status; 501 CARD16 sequenceNumber; 502 CARD32 length; 503 Time newTimestamp; 504 CARD32 pad1; 505 CARD32 pad2; 506 CARD32 pad3; 507 CARD32 pad4; 508 CARD32 pad5; 509 } xRRSetCrtcConfigReply; 510 #define sz_xRRSetCrtcConfigReply 32 511 512 typedef struct { 513 CARD8 reqType; 514 CARD8 randrReqType; 515 CARD16 length; 516 RRCrtc crtc; 517 } xRRGetCrtcGammaSizeReq; 518 #define sz_xRRGetCrtcGammaSizeReq 8 519 520 typedef struct { 521 BYTE type; 522 CARD8 status; 523 CARD16 sequenceNumber; 524 CARD32 length; 525 CARD16 size; 526 CARD16 pad1; 527 CARD32 pad2; 528 CARD32 pad3; 529 CARD32 pad4; 530 CARD32 pad5; 531 CARD32 pad6; 532 } xRRGetCrtcGammaSizeReply; 533 #define sz_xRRGetCrtcGammaSizeReply 32 534 535 typedef struct { 536 CARD8 reqType; 537 CARD8 randrReqType; 538 CARD16 length; 539 RRCrtc crtc; 540 } xRRGetCrtcGammaReq; 541 #define sz_xRRGetCrtcGammaReq 8 542 543 typedef struct { 544 BYTE type; 545 CARD8 status; 546 CARD16 sequenceNumber; 547 CARD32 length; 548 CARD16 size; 549 CARD16 pad1; 550 CARD32 pad2; 551 CARD32 pad3; 552 CARD32 pad4; 553 CARD32 pad5; 554 CARD32 pad6; 555 } xRRGetCrtcGammaReply; 556 #define sz_xRRGetCrtcGammaReply 32 557 558 typedef struct { 559 CARD8 reqType; 560 CARD8 randrReqType; 561 CARD16 length; 562 RRCrtc crtc; 563 CARD16 size; 564 CARD16 pad1; 565 } xRRSetCrtcGammaReq; 566 #define sz_xRRSetCrtcGammaReq 12 567 568 /* 569 * Additions for V1.3 570 */ 571 572 typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq; 573 574 #define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq 575 576 typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply; 577 #define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply 578 579 typedef struct { 580 CARD8 reqType; 581 CARD8 randrReqType; 582 CARD16 length; 583 RRCrtc crtc; 584 xRenderTransform transform; 585 CARD16 nbytesFilter; /* number of bytes in filter name */ 586 CARD16 pad; 587 } xRRSetCrtcTransformReq; 588 589 #define sz_xRRSetCrtcTransformReq 48 590 591 typedef struct { 592 CARD8 reqType; 593 CARD8 randrReqType; 594 CARD16 length; 595 RRCrtc crtc; 596 } xRRGetCrtcTransformReq; 597 598 #define sz_xRRGetCrtcTransformReq 8 599 600 typedef struct { 601 BYTE type; 602 CARD8 status; 603 CARD16 sequenceNumber; 604 CARD32 length; 605 xRenderTransform pendingTransform; 606 BYTE hasTransforms; 607 CARD8 pad0; 608 CARD16 pad1; 609 xRenderTransform currentTransform; 610 CARD32 pad2; 611 CARD16 pendingNbytesFilter; /* number of bytes in filter name */ 612 CARD16 pendingNparamsFilter; /* number of filter params */ 613 CARD16 currentNbytesFilter; /* number of bytes in filter name */ 614 CARD16 currentNparamsFilter; /* number of filter params */ 615 } xRRGetCrtcTransformReply; 616 617 #define sz_xRRGetCrtcTransformReply 96 618 619 typedef struct { 620 CARD8 reqType; 621 CARD8 randrReqType; 622 CARD16 length; 623 Window window; 624 RROutput output; 625 } xRRSetOutputPrimaryReq; 626 #define sz_xRRSetOutputPrimaryReq 12 627 628 typedef struct { 629 CARD8 reqType; 630 CARD8 randrReqType; 631 CARD16 length; 632 Window window; 633 } xRRGetOutputPrimaryReq; 634 #define sz_xRRGetOutputPrimaryReq 8 635 636 typedef struct { 637 BYTE type; 638 CARD8 pad; 639 CARD16 sequenceNumber; 640 CARD32 length; 641 RROutput output; 642 CARD32 pad1; 643 CARD32 pad2; 644 CARD32 pad3; 645 CARD32 pad4; 646 CARD32 pad5; 647 } xRRGetOutputPrimaryReply; 648 #define sz_xRRGetOutputPrimaryReply 32 649 650 /* 651 * Additions for V1.4 652 */ 653 654 typedef struct { 655 CARD8 reqType; 656 CARD8 randrReqType; 657 CARD16 length; 658 Window window; 659 } xRRGetProvidersReq; 660 #define sz_xRRGetProvidersReq 8 661 662 typedef struct { 663 BYTE type; 664 CARD8 pad; 665 CARD16 sequenceNumber; 666 CARD32 length; 667 Time timestamp; 668 CARD16 nProviders; 669 CARD16 pad1; 670 CARD32 pad2; 671 CARD32 pad3; 672 CARD32 pad4; 673 CARD32 pad5; 674 } xRRGetProvidersReply; 675 #define sz_xRRGetProvidersReply 32 676 677 typedef struct { 678 CARD8 reqType; 679 CARD8 randrReqType; 680 CARD16 length; 681 RRProvider provider; 682 Time configTimestamp; 683 } xRRGetProviderInfoReq; 684 #define sz_xRRGetProviderInfoReq 12 685 686 typedef struct { 687 BYTE type; 688 CARD8 status; 689 CARD16 sequenceNumber; 690 CARD32 length; 691 Time timestamp; 692 CARD32 capabilities; 693 CARD16 nCrtcs; 694 CARD16 nOutputs; 695 CARD16 nAssociatedProviders; 696 CARD16 nameLength; 697 CARD32 pad1; 698 CARD32 pad2; 699 } xRRGetProviderInfoReply; 700 #define sz_xRRGetProviderInfoReply 32 701 702 typedef struct { 703 CARD8 reqType; 704 CARD8 randrReqType; 705 CARD16 length; 706 RRProvider provider; 707 RRProvider source_provider; 708 Time configTimestamp; 709 } xRRSetProviderOutputSourceReq; 710 #define sz_xRRSetProviderOutputSourceReq 16 711 712 typedef struct { 713 CARD8 reqType; 714 CARD8 randrReqType; 715 CARD16 length; 716 RRProvider provider; 717 RRProvider sink_provider; 718 Time configTimestamp; 719 } xRRSetProviderOffloadSinkReq; 720 #define sz_xRRSetProviderOffloadSinkReq 16 721 722 typedef struct { 723 CARD8 reqType; 724 CARD8 randrReqType; 725 CARD16 length; 726 RRProvider provider; 727 } xRRListProviderPropertiesReq; 728 #define sz_xRRListProviderPropertiesReq 8 729 730 typedef struct { 731 BYTE type; 732 CARD8 pad0; 733 CARD16 sequenceNumber; 734 CARD32 length; 735 CARD16 nAtoms; 736 CARD16 pad1; 737 CARD32 pad2; 738 CARD32 pad3; 739 CARD32 pad4; 740 CARD32 pad5; 741 CARD32 pad6; 742 } xRRListProviderPropertiesReply; 743 #define sz_xRRListProviderPropertiesReply 32 744 745 typedef struct { 746 CARD8 reqType; 747 CARD8 randrReqType; 748 CARD16 length; 749 RRProvider provider; 750 Atom property; 751 } xRRQueryProviderPropertyReq; 752 #define sz_xRRQueryProviderPropertyReq 12 753 754 typedef struct { 755 BYTE type; 756 BYTE pad0; 757 CARD16 sequenceNumber; 758 CARD32 length; 759 BOOL pending; 760 BOOL range; 761 BOOL immutable; 762 BYTE pad1; 763 CARD32 pad2; 764 CARD32 pad3; 765 CARD32 pad4; 766 CARD32 pad5; 767 CARD32 pad6; 768 } xRRQueryProviderPropertyReply; 769 #define sz_xRRQueryProviderPropertyReply 32 770 771 typedef struct { 772 CARD8 reqType; 773 CARD8 randrReqType; 774 CARD16 length; 775 RRProvider provider; 776 Atom property; 777 BOOL pending; 778 BOOL range; 779 CARD16 pad; 780 } xRRConfigureProviderPropertyReq; 781 #define sz_xRRConfigureProviderPropertyReq 16 782 783 typedef struct { 784 CARD8 reqType; 785 CARD8 randrReqType; 786 CARD16 length; 787 RRProvider provider; 788 Atom property; 789 Atom type; 790 CARD8 format; 791 CARD8 mode; 792 CARD16 pad; 793 CARD32 nUnits; 794 } xRRChangeProviderPropertyReq; 795 #define sz_xRRChangeProviderPropertyReq 24 796 797 typedef struct { 798 CARD8 reqType; 799 CARD8 randrReqType; 800 CARD16 length; 801 RRProvider provider; 802 Atom property; 803 } xRRDeleteProviderPropertyReq; 804 #define sz_xRRDeleteProviderPropertyReq 12 805 806 typedef struct { 807 CARD8 reqType; 808 CARD8 randrReqType; 809 CARD16 length; 810 RRProvider provider; 811 Atom property; 812 Atom type; 813 CARD32 longOffset; 814 CARD32 longLength; 815 #ifdef __cplusplus 816 BOOL _delete; 817 #else 818 BOOL delete; 819 #endif 820 BOOL pending; 821 CARD16 pad1; 822 } xRRGetProviderPropertyReq; 823 #define sz_xRRGetProviderPropertyReq 28 824 825 typedef struct { 826 BYTE type; 827 CARD8 format; 828 CARD16 sequenceNumber; 829 CARD32 length; 830 Atom propertyType; 831 CARD32 bytesAfter; 832 CARD32 nItems; 833 CARD32 pad1; 834 CARD32 pad2; 835 CARD32 pad3; 836 } xRRGetProviderPropertyReply; 837 #define sz_xRRGetProviderPropertyReply 32 838 839 /* 840 * Additions for V1.6 841 */ 842 843 typedef struct { 844 CARD8 reqType; 845 CARD8 randrReqType; 846 CARD16 length; 847 Window window; 848 RRLease lid; 849 CARD16 nCrtcs; 850 CARD16 nOutputs; 851 } xRRCreateLeaseReq; 852 #define sz_xRRCreateLeaseReq 16 853 854 typedef struct { 855 BYTE type; 856 CARD8 nfd; 857 CARD16 sequenceNumber; 858 CARD32 length; 859 CARD32 pad2; 860 CARD32 pad3; 861 CARD32 pad4; 862 CARD32 pad5; 863 CARD32 pad6; 864 CARD32 pad7; 865 } xRRCreateLeaseReply; 866 #define sz_xRRCreateLeaseReply 32 867 868 typedef struct { 869 CARD8 reqType; 870 CARD8 randrReqType; 871 CARD16 length; 872 RRLease lid; 873 BYTE terminate; 874 CARD8 pad1; 875 CARD16 pad2; 876 } xRRFreeLeaseReq; 877 #define sz_xRRFreeLeaseReq 12 878 879 /* 880 * event 881 */ 882 typedef struct { 883 CARD8 type; /* always evBase + ScreenChangeNotify */ 884 CARD8 rotation; /* new rotation */ 885 CARD16 sequenceNumber; 886 Time timestamp; /* time screen was changed */ 887 Time configTimestamp; /* time config data was changed */ 888 Window root; /* root window */ 889 Window window; /* window requesting notification */ 890 SizeID sizeID; /* new size ID */ 891 CARD16 subpixelOrder; /* subpixel order */ 892 CARD16 widthInPixels; /* new size */ 893 CARD16 heightInPixels; 894 CARD16 widthInMillimeters; 895 CARD16 heightInMillimeters; 896 } xRRScreenChangeNotifyEvent; 897 #define sz_xRRScreenChangeNotifyEvent 32 898 899 typedef struct { 900 CARD8 type; /* always evBase + RRNotify */ 901 CARD8 subCode; /* RRNotify_CrtcChange */ 902 CARD16 sequenceNumber; 903 Time timestamp; /* time crtc was changed */ 904 Window window; /* window requesting notification */ 905 RRCrtc crtc; /* affected CRTC */ 906 RRMode mode; /* current mode */ 907 CARD16 rotation; /* rotation and reflection */ 908 CARD16 pad1; /* unused */ 909 INT16 x; /* new location */ 910 INT16 y; 911 CARD16 width; /* new size */ 912 CARD16 height; 913 } xRRCrtcChangeNotifyEvent; 914 #define sz_xRRCrtcChangeNotifyEvent 32 915 916 typedef struct { 917 CARD8 type; /* always evBase + RRNotify */ 918 CARD8 subCode; /* RRNotify_OutputChange */ 919 CARD16 sequenceNumber; 920 Time timestamp; /* time output was changed */ 921 Time configTimestamp; /* time config was changed */ 922 Window window; /* window requesting notification */ 923 RROutput output; /* affected output */ 924 RRCrtc crtc; /* current crtc */ 925 RRMode mode; /* current mode */ 926 CARD16 rotation; /* rotation and reflection */ 927 CARD8 connection; /* connection status */ 928 CARD8 subpixelOrder; /* subpixel order */ 929 } xRROutputChangeNotifyEvent; 930 #define sz_xRROutputChangeNotifyEvent 32 931 932 typedef struct { 933 CARD8 type; /* always evBase + RRNotify */ 934 CARD8 subCode; /* RRNotify_OutputProperty */ 935 CARD16 sequenceNumber; 936 Window window; /* window requesting notification */ 937 RROutput output; /* affected output */ 938 Atom atom; /* property name */ 939 Time timestamp; /* time crtc was changed */ 940 CARD8 state; /* NewValue or Deleted */ 941 CARD8 pad1; 942 CARD16 pad2; 943 CARD32 pad3; 944 CARD32 pad4; 945 } xRROutputPropertyNotifyEvent; 946 #define sz_xRROutputPropertyNotifyEvent 32 947 948 typedef struct { 949 CARD8 type; /* always evBase + RRNotify */ 950 CARD8 subCode; /* RRNotify_ProviderChange */ 951 CARD16 sequenceNumber; 952 Time timestamp; /* time provider was changed */ 953 Window window; /* window requesting notification */ 954 RRProvider provider; /* affected provider */ 955 CARD32 pad1; 956 CARD32 pad2; 957 CARD32 pad3; 958 CARD32 pad4; 959 } xRRProviderChangeNotifyEvent; 960 #define sz_xRRProviderChangeNotifyEvent 32 961 962 typedef struct { 963 CARD8 type; /* always evBase + RRNotify */ 964 CARD8 subCode; /* RRNotify_ProviderProperty */ 965 CARD16 sequenceNumber; 966 Window window; /* window requesting notification */ 967 RRProvider provider; /* affected provider */ 968 Atom atom; /* property name */ 969 Time timestamp; /* time provider was changed */ 970 CARD8 state; /* NewValue or Deleted */ 971 CARD8 pad1; 972 CARD16 pad2; 973 CARD32 pad3; 974 CARD32 pad4; 975 } xRRProviderPropertyNotifyEvent; 976 #define sz_xRRProviderPropertyNotifyEvent 32 977 978 typedef struct { 979 CARD8 type; /* always evBase + RRNotify */ 980 CARD8 subCode; /* RRNotify_ResourceChange */ 981 CARD16 sequenceNumber; 982 Time timestamp; /* time resource was changed */ 983 Window window; /* window requesting notification */ 984 CARD32 pad1; 985 CARD32 pad2; 986 CARD32 pad3; 987 CARD32 pad4; 988 CARD32 pad5; 989 } xRRResourceChangeNotifyEvent; 990 #define sz_xRRResourceChangeNotifyEvent 32 991 992 typedef struct { 993 CARD8 type; /* always evBase + RRNotify */ 994 CARD8 subCode; /* RRNotify_Lease */ 995 CARD16 sequenceNumber; 996 Time timestamp; /* time resource was changed */ 997 Window window; /* window requesting notification */ 998 RRLease lease; 999 CARD8 created; /* created/deleted */ 1000 CARD8 pad0; 1001 CARD16 pad1; 1002 CARD32 pad2; 1003 CARD32 pad3; 1004 CARD32 pad4; 1005 } xRRLeaseNotifyEvent; 1006 #define sz_xRRLeaseNotifyEvent 32 1007 1008 typedef struct { 1009 CARD8 reqType; 1010 CARD8 randrReqType; 1011 CARD16 length; 1012 RRCrtc crtc; 1013 } xRRGetPanningReq; 1014 #define sz_xRRGetPanningReq 8 1015 1016 typedef struct { 1017 BYTE type; 1018 CARD8 status; 1019 CARD16 sequenceNumber; 1020 CARD32 length; 1021 Time timestamp; 1022 CARD16 left; 1023 CARD16 top; 1024 CARD16 width; 1025 CARD16 height; 1026 CARD16 track_left; 1027 CARD16 track_top; 1028 CARD16 track_width; 1029 CARD16 track_height; 1030 INT16 border_left; 1031 INT16 border_top; 1032 INT16 border_right; 1033 INT16 border_bottom; 1034 } xRRGetPanningReply; 1035 #define sz_xRRGetPanningReply 36 1036 1037 typedef struct { 1038 CARD8 reqType; 1039 CARD8 randrReqType; 1040 CARD16 length; 1041 RRCrtc crtc; 1042 Time timestamp; 1043 CARD16 left; 1044 CARD16 top; 1045 CARD16 width; 1046 CARD16 height; 1047 CARD16 track_left; 1048 CARD16 track_top; 1049 CARD16 track_width; 1050 CARD16 track_height; 1051 INT16 border_left; 1052 INT16 border_top; 1053 INT16 border_right; 1054 INT16 border_bottom; 1055 } xRRSetPanningReq; 1056 #define sz_xRRSetPanningReq 36 1057 1058 typedef struct { 1059 BYTE type; 1060 CARD8 status; 1061 CARD16 sequenceNumber; 1062 CARD32 length; 1063 Time newTimestamp; 1064 CARD32 pad1; 1065 CARD32 pad2; 1066 CARD32 pad3; 1067 CARD32 pad4; 1068 CARD32 pad5; 1069 } xRRSetPanningReply; 1070 #define sz_xRRSetPanningReply 32 1071 1072 typedef struct { 1073 Atom name; 1074 BOOL primary; 1075 BOOL automatic; 1076 CARD16 noutput; 1077 INT16 x; 1078 INT16 y; 1079 CARD16 width; 1080 CARD16 height; 1081 CARD32 widthInMillimeters; 1082 CARD32 heightInMillimeters; 1083 } xRRMonitorInfo; 1084 #define sz_xRRMonitorInfo 24 1085 1086 typedef struct { 1087 CARD8 reqType; 1088 CARD8 randrReqType; 1089 CARD16 length; 1090 Window window; 1091 BOOL get_active; 1092 CARD8 pad; 1093 CARD16 pad2; 1094 } xRRGetMonitorsReq; 1095 #define sz_xRRGetMonitorsReq 12 1096 1097 typedef struct { 1098 BYTE type; 1099 CARD8 status; 1100 CARD16 sequenceNumber; 1101 CARD32 length; 1102 Time timestamp; 1103 CARD32 nmonitors; 1104 CARD32 noutputs; 1105 CARD32 pad1; 1106 CARD32 pad2; 1107 CARD32 pad3; 1108 } xRRGetMonitorsReply; 1109 #define sz_xRRGetMonitorsReply 32 1110 1111 typedef struct { 1112 CARD8 reqType; 1113 CARD8 randrReqType; 1114 CARD16 length; 1115 Window window; 1116 xRRMonitorInfo monitor; 1117 } xRRSetMonitorReq; 1118 #define sz_xRRSetMonitorReq 32 1119 1120 typedef struct { 1121 CARD8 reqType; 1122 CARD8 randrReqType; 1123 CARD16 length; 1124 Window window; 1125 Atom name; 1126 } xRRDeleteMonitorReq; 1127 #define sz_xRRDeleteMonitorReq 12 1128 1129 #undef RRLease 1130 #undef RRModeFlags 1131 #undef RRCrtc 1132 #undef RRMode 1133 #undef RROutput 1134 #undef RRMode 1135 #undef RRCrtc 1136 #undef RRProvider 1137 #undef Drawable 1138 #undef Window 1139 #undef Font 1140 #undef Pixmap 1141 #undef Cursor 1142 #undef Colormap 1143 #undef GContext 1144 #undef Atom 1145 #undef Time 1146 #undef KeyCode 1147 #undef KeySym 1148 #undef Rotation 1149 #undef SizeID 1150 #undef SubpixelOrder 1151 1152 #endif /* _XRANDRP_H_ */