117ca54c3Smrg/* 217ca54c3Smrg * Copyright © 2000 Compaq Computer Corporation 317ca54c3Smrg * Copyright © 2002 Hewlett-Packard Company 417ca54c3Smrg * Copyright © 2006 Intel Corporation 517ca54c3Smrg * Copyright © 2008 Red Hat, Inc. 617ca54c3Smrg * 717ca54c3Smrg * Permission to use, copy, modify, distribute, and sell this software and its 817ca54c3Smrg * documentation for any purpose is hereby granted without fee, provided that 917ca54c3Smrg * the above copyright notice appear in all copies and that both that copyright 1017ca54c3Smrg * notice and this permission notice appear in supporting documentation, and 1117ca54c3Smrg * that the name of the copyright holders not be used in advertising or 1217ca54c3Smrg * publicity pertaining to distribution of the software without specific, 1317ca54c3Smrg * written prior permission. The copyright holders make no representations 1417ca54c3Smrg * about the suitability of this software for any purpose. It is provided "as 1517ca54c3Smrg * is" without express or implied warranty. 1617ca54c3Smrg * 1717ca54c3Smrg * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 1817ca54c3Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 1917ca54c3Smrg * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 2017ca54c3Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 2117ca54c3Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 2217ca54c3Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 2317ca54c3Smrg * OF THIS SOFTWARE. 2417ca54c3Smrg * 2517ca54c3Smrg * Author: Jim Gettys, Hewlett-Packard Company, Inc. 2617ca54c3Smrg * Keith Packard, Intel Corporation 2717ca54c3Smrg */ 2817ca54c3Smrg 2917ca54c3Smrg/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */ 3017ca54c3Smrg/* V1.0 removes depth switching from the protocol */ 3117ca54c3Smrg#ifndef _XRANDRP_H_ 3217ca54c3Smrg#define _XRANDRP_H_ 3317ca54c3Smrg 3417ca54c3Smrg#include <X11/extensions/randr.h> 3517ca54c3Smrg#include <X11/extensions/renderproto.h> 3617ca54c3Smrg 3717ca54c3Smrg#define Window CARD32 3817ca54c3Smrg#define Drawable CARD32 3917ca54c3Smrg#define Font CARD32 4017ca54c3Smrg#define Pixmap CARD32 4117ca54c3Smrg#define Cursor CARD32 4217ca54c3Smrg#define Colormap CARD32 4317ca54c3Smrg#define GContext CARD32 4417ca54c3Smrg#define Atom CARD32 4517ca54c3Smrg#define Time CARD32 4617ca54c3Smrg#define KeyCode CARD8 4717ca54c3Smrg#define KeySym CARD32 48b150493bSchristos 49b150493bSchristos/* All also defined in <randr/randrstr.h> */ 50b150493bSchristos#ifndef RROutput 5117ca54c3Smrg#define RROutput CARD32 5217ca54c3Smrg#define RRMode CARD32 5317ca54c3Smrg#define RRCrtc CARD32 5417ca54c3Smrg#define RRProvider CARD32 5517ca54c3Smrg#define RRModeFlags CARD32 5617ca54c3Smrg#define RRLease CARD32 57b150493bSchristos#endif 5817ca54c3Smrg 5917ca54c3Smrg#define Rotation CARD16 6017ca54c3Smrg#define SizeID CARD16 6117ca54c3Smrg#define SubpixelOrder CARD16 6217ca54c3Smrg 6317ca54c3Smrg/* 6417ca54c3Smrg * data structures 6517ca54c3Smrg */ 6617ca54c3Smrg 6717ca54c3Smrgtypedef struct { 68b54d2093Smrg CARD16 widthInPixels; 69b54d2093Smrg CARD16 heightInPixels; 70b54d2093Smrg CARD16 widthInMillimeters; 71b54d2093Smrg CARD16 heightInMillimeters; 7217ca54c3Smrg} xScreenSizes; 7317ca54c3Smrg#define sz_xScreenSizes 8 7417ca54c3Smrg 75b54d2093Smrg/* 7617ca54c3Smrg * requests and replies 7717ca54c3Smrg */ 7817ca54c3Smrg 7917ca54c3Smrgtypedef struct { 8017ca54c3Smrg CARD8 reqType; 8117ca54c3Smrg CARD8 randrReqType; 82b54d2093Smrg CARD16 length; 83b54d2093Smrg CARD32 majorVersion; 84b54d2093Smrg CARD32 minorVersion; 8517ca54c3Smrg} xRRQueryVersionReq; 8617ca54c3Smrg#define sz_xRRQueryVersionReq 12 8717ca54c3Smrg 8817ca54c3Smrgtypedef struct { 8917ca54c3Smrg BYTE type; /* X_Reply */ 9017ca54c3Smrg BYTE pad1; 91b54d2093Smrg CARD16 sequenceNumber; 92b54d2093Smrg CARD32 length; 93b54d2093Smrg CARD32 majorVersion; 94b54d2093Smrg CARD32 minorVersion; 95b54d2093Smrg CARD32 pad2; 96b54d2093Smrg CARD32 pad3; 97b54d2093Smrg CARD32 pad4; 98b54d2093Smrg CARD32 pad5; 9917ca54c3Smrg} xRRQueryVersionReply; 10017ca54c3Smrg#define sz_xRRQueryVersionReply 32 10117ca54c3Smrg 10217ca54c3Smrgtypedef struct { 10317ca54c3Smrg CARD8 reqType; 10417ca54c3Smrg CARD8 randrReqType; 105b54d2093Smrg CARD16 length; 106b54d2093Smrg Window window; 10717ca54c3Smrg} xRRGetScreenInfoReq; 10817ca54c3Smrg#define sz_xRRGetScreenInfoReq 8 10917ca54c3Smrg 110b54d2093Smrg/* 11117ca54c3Smrg * the xRRScreenInfoReply structure is followed by: 11217ca54c3Smrg * 11317ca54c3Smrg * the size information 11417ca54c3Smrg */ 11517ca54c3Smrg 11617ca54c3Smrg 11717ca54c3Smrgtypedef struct { 11817ca54c3Smrg BYTE type; /* X_Reply */ 11917ca54c3Smrg BYTE setOfRotations; 120b54d2093Smrg CARD16 sequenceNumber; 121b54d2093Smrg CARD32 length; 122b54d2093Smrg Window root; 123b54d2093Smrg Time timestamp; 124b54d2093Smrg Time configTimestamp; 125b54d2093Smrg CARD16 nSizes; 126b54d2093Smrg SizeID sizeID; 127b54d2093Smrg Rotation rotation; 128b54d2093Smrg CARD16 rate; 129b54d2093Smrg CARD16 nrateEnts; 130b54d2093Smrg CARD16 pad; 13117ca54c3Smrg} xRRGetScreenInfoReply; 13217ca54c3Smrg#define sz_xRRGetScreenInfoReply 32 13317ca54c3Smrg 13417ca54c3Smrgtypedef struct { 13517ca54c3Smrg CARD8 reqType; 13617ca54c3Smrg CARD8 randrReqType; 137b54d2093Smrg CARD16 length; 138b54d2093Smrg Drawable drawable; 139b54d2093Smrg Time timestamp; 140b54d2093Smrg Time configTimestamp; 141b54d2093Smrg SizeID sizeID; 142b54d2093Smrg Rotation rotation; 14317ca54c3Smrg} xRR1_0SetScreenConfigReq; 14417ca54c3Smrg#define sz_xRR1_0SetScreenConfigReq 20 14517ca54c3Smrg 14617ca54c3Smrgtypedef struct { 14717ca54c3Smrg CARD8 reqType; 14817ca54c3Smrg CARD8 randrReqType; 149b54d2093Smrg CARD16 length; 150b54d2093Smrg Drawable drawable; 151b54d2093Smrg Time timestamp; 152b54d2093Smrg Time configTimestamp; 153b54d2093Smrg SizeID sizeID; 154b54d2093Smrg Rotation rotation; 155b54d2093Smrg CARD16 rate; 156b54d2093Smrg CARD16 pad; 15717ca54c3Smrg} xRRSetScreenConfigReq; 15817ca54c3Smrg#define sz_xRRSetScreenConfigReq 24 15917ca54c3Smrg 16017ca54c3Smrgtypedef struct { 16117ca54c3Smrg BYTE type; /* X_Reply */ 16217ca54c3Smrg CARD8 status; 163b54d2093Smrg CARD16 sequenceNumber; 164b54d2093Smrg CARD32 length; 165b54d2093Smrg Time newTimestamp; 166b54d2093Smrg Time newConfigTimestamp; 16717ca54c3Smrg Window root; 168b54d2093Smrg CARD16 subpixelOrder; 169b54d2093Smrg CARD16 pad4; 170b54d2093Smrg CARD32 pad5; 171b54d2093Smrg CARD32 pad6; 17217ca54c3Smrg} xRRSetScreenConfigReply; 17317ca54c3Smrg#define sz_xRRSetScreenConfigReply 32 17417ca54c3Smrg 17517ca54c3Smrgtypedef struct { 17617ca54c3Smrg CARD8 reqType; 17717ca54c3Smrg CARD8 randrReqType; 178b54d2093Smrg CARD16 length; 179b54d2093Smrg Window window; 180b54d2093Smrg CARD16 enable; 181b54d2093Smrg CARD16 pad2; 18217ca54c3Smrg} xRRSelectInputReq; 18317ca54c3Smrg#define sz_xRRSelectInputReq 12 18417ca54c3Smrg 18517ca54c3Smrg/* 18617ca54c3Smrg * Additions for version 1.2 18717ca54c3Smrg */ 18817ca54c3Smrg 18917ca54c3Smrgtypedef struct _xRRModeInfo { 190b54d2093Smrg RRMode id; 191b54d2093Smrg CARD16 width; 192b54d2093Smrg CARD16 height; 193b54d2093Smrg CARD32 dotClock; 194b54d2093Smrg CARD16 hSyncStart; 195b54d2093Smrg CARD16 hSyncEnd; 196b54d2093Smrg CARD16 hTotal; 197b54d2093Smrg CARD16 hSkew; 198b54d2093Smrg CARD16 vSyncStart; 199b54d2093Smrg CARD16 vSyncEnd; 200b54d2093Smrg CARD16 vTotal; 201b54d2093Smrg CARD16 nameLength; 202b54d2093Smrg RRModeFlags modeFlags; 20317ca54c3Smrg} xRRModeInfo; 20417ca54c3Smrg#define sz_xRRModeInfo 32 20517ca54c3Smrg 20617ca54c3Smrgtypedef struct { 20717ca54c3Smrg CARD8 reqType; 20817ca54c3Smrg CARD8 randrReqType; 209b54d2093Smrg CARD16 length; 210b54d2093Smrg Window window; 21117ca54c3Smrg} xRRGetScreenSizeRangeReq; 21217ca54c3Smrg#define sz_xRRGetScreenSizeRangeReq 8 21317ca54c3Smrg 21417ca54c3Smrgtypedef struct { 21517ca54c3Smrg BYTE type; /* X_Reply */ 21617ca54c3Smrg CARD8 pad; 217b54d2093Smrg CARD16 sequenceNumber; 218b54d2093Smrg CARD32 length; 219b54d2093Smrg CARD16 minWidth; 220b54d2093Smrg CARD16 minHeight; 221b54d2093Smrg CARD16 maxWidth; 222b54d2093Smrg CARD16 maxHeight; 223b54d2093Smrg CARD32 pad0; 224b54d2093Smrg CARD32 pad1; 225b54d2093Smrg CARD32 pad2; 226b54d2093Smrg CARD32 pad3; 22717ca54c3Smrg} xRRGetScreenSizeRangeReply; 22817ca54c3Smrg#define sz_xRRGetScreenSizeRangeReply 32 22917ca54c3Smrg 23017ca54c3Smrgtypedef struct { 23117ca54c3Smrg CARD8 reqType; 23217ca54c3Smrg CARD8 randrReqType; 233b54d2093Smrg CARD16 length; 234b54d2093Smrg Window window; 235b54d2093Smrg CARD16 width; 236b54d2093Smrg CARD16 height; 237b54d2093Smrg CARD32 widthInMillimeters; 238b54d2093Smrg CARD32 heightInMillimeters; 23917ca54c3Smrg} xRRSetScreenSizeReq; 24017ca54c3Smrg#define sz_xRRSetScreenSizeReq 20 24117ca54c3Smrg 24217ca54c3Smrgtypedef struct { 24317ca54c3Smrg CARD8 reqType; 24417ca54c3Smrg CARD8 randrReqType; 245b54d2093Smrg CARD16 length; 246b54d2093Smrg Window window; 24717ca54c3Smrg} xRRGetScreenResourcesReq; 24817ca54c3Smrg#define sz_xRRGetScreenResourcesReq 8 24917ca54c3Smrg 25017ca54c3Smrgtypedef struct { 25117ca54c3Smrg BYTE type; 25217ca54c3Smrg CARD8 pad; 253b54d2093Smrg CARD16 sequenceNumber; 254b54d2093Smrg CARD32 length; 255b54d2093Smrg Time timestamp; 256b54d2093Smrg Time configTimestamp; 257b54d2093Smrg CARD16 nCrtcs; 258b54d2093Smrg CARD16 nOutputs; 259b54d2093Smrg CARD16 nModes; 260b54d2093Smrg CARD16 nbytesNames; 261b54d2093Smrg CARD32 pad1; 262b54d2093Smrg CARD32 pad2; 26317ca54c3Smrg} xRRGetScreenResourcesReply; 26417ca54c3Smrg#define sz_xRRGetScreenResourcesReply 32 26517ca54c3Smrg 26617ca54c3Smrgtypedef struct { 26717ca54c3Smrg CARD8 reqType; 26817ca54c3Smrg CARD8 randrReqType; 269b54d2093Smrg CARD16 length; 270b54d2093Smrg RROutput output; 271b54d2093Smrg Time configTimestamp; 27217ca54c3Smrg} xRRGetOutputInfoReq; 27317ca54c3Smrg#define sz_xRRGetOutputInfoReq 12 27417ca54c3Smrg 27517ca54c3Smrgtypedef struct { 27617ca54c3Smrg BYTE type; 27717ca54c3Smrg CARD8 status; 278b54d2093Smrg CARD16 sequenceNumber; 279b54d2093Smrg CARD32 length; 280b54d2093Smrg Time timestamp; 281b54d2093Smrg RRCrtc crtc; 282b54d2093Smrg CARD32 mmWidth; 283b54d2093Smrg CARD32 mmHeight; 28417ca54c3Smrg CARD8 connection; 28517ca54c3Smrg CARD8 subpixelOrder; 286b54d2093Smrg CARD16 nCrtcs; 287b54d2093Smrg CARD16 nModes; 288b54d2093Smrg CARD16 nPreferred; 289b54d2093Smrg CARD16 nClones; 290b54d2093Smrg CARD16 nameLength; 29117ca54c3Smrg} xRRGetOutputInfoReply; 29217ca54c3Smrg#define sz_xRRGetOutputInfoReply 36 29317ca54c3Smrg 29417ca54c3Smrgtypedef struct { 29517ca54c3Smrg CARD8 reqType; 29617ca54c3Smrg CARD8 randrReqType; 297b54d2093Smrg CARD16 length; 298b54d2093Smrg RROutput output; 299b54d2093Smrg} xRRListOutputPropertiesReq; 30017ca54c3Smrg#define sz_xRRListOutputPropertiesReq 8 30117ca54c3Smrg 30217ca54c3Smrgtypedef struct { 30317ca54c3Smrg BYTE type; 30417ca54c3Smrg CARD8 pad0; 305b54d2093Smrg CARD16 sequenceNumber; 306b54d2093Smrg CARD32 length; 307b54d2093Smrg CARD16 nAtoms; 308b54d2093Smrg CARD16 pad1; 309b54d2093Smrg CARD32 pad2; 310b54d2093Smrg CARD32 pad3; 311b54d2093Smrg CARD32 pad4; 312b54d2093Smrg CARD32 pad5; 313b54d2093Smrg CARD32 pad6; 31417ca54c3Smrg} xRRListOutputPropertiesReply; 31517ca54c3Smrg#define sz_xRRListOutputPropertiesReply 32 31617ca54c3Smrg 31717ca54c3Smrgtypedef struct { 31817ca54c3Smrg CARD8 reqType; 31917ca54c3Smrg CARD8 randrReqType; 320b54d2093Smrg CARD16 length; 321b54d2093Smrg RROutput output; 322b54d2093Smrg Atom property; 323b54d2093Smrg} xRRQueryOutputPropertyReq; 32417ca54c3Smrg#define sz_xRRQueryOutputPropertyReq 12 32517ca54c3Smrg 32617ca54c3Smrgtypedef struct { 32717ca54c3Smrg BYTE type; 32817ca54c3Smrg BYTE pad0; 329b54d2093Smrg CARD16 sequenceNumber; 330b54d2093Smrg CARD32 length; 33117ca54c3Smrg BOOL pending; 33217ca54c3Smrg BOOL range; 33317ca54c3Smrg BOOL immutable; 33417ca54c3Smrg BYTE pad1; 335b54d2093Smrg CARD32 pad2; 336b54d2093Smrg CARD32 pad3; 337b54d2093Smrg CARD32 pad4; 338b54d2093Smrg CARD32 pad5; 339b54d2093Smrg CARD32 pad6; 34017ca54c3Smrg} xRRQueryOutputPropertyReply; 34117ca54c3Smrg#define sz_xRRQueryOutputPropertyReply 32 34217ca54c3Smrg 34317ca54c3Smrgtypedef struct { 34417ca54c3Smrg CARD8 reqType; 34517ca54c3Smrg CARD8 randrReqType; 346b54d2093Smrg CARD16 length; 347b54d2093Smrg RROutput output; 348b54d2093Smrg Atom property; 34917ca54c3Smrg BOOL pending; 35017ca54c3Smrg BOOL range; 351b54d2093Smrg CARD16 pad; 352b54d2093Smrg} xRRConfigureOutputPropertyReq; 35317ca54c3Smrg#define sz_xRRConfigureOutputPropertyReq 16 35417ca54c3Smrg 35517ca54c3Smrgtypedef struct { 35617ca54c3Smrg CARD8 reqType; 35717ca54c3Smrg CARD8 randrReqType; 358b54d2093Smrg CARD16 length; 359b54d2093Smrg RROutput output; 360b54d2093Smrg Atom property; 361b54d2093Smrg Atom type; 36217ca54c3Smrg CARD8 format; 36317ca54c3Smrg CARD8 mode; 36417ca54c3Smrg CARD16 pad; 365b54d2093Smrg CARD32 nUnits; 36617ca54c3Smrg} xRRChangeOutputPropertyReq; 36717ca54c3Smrg#define sz_xRRChangeOutputPropertyReq 24 36817ca54c3Smrg 36917ca54c3Smrgtypedef struct { 37017ca54c3Smrg CARD8 reqType; 37117ca54c3Smrg CARD8 randrReqType; 372b54d2093Smrg CARD16 length; 373b54d2093Smrg RROutput output; 374b54d2093Smrg Atom property; 37517ca54c3Smrg} xRRDeleteOutputPropertyReq; 37617ca54c3Smrg#define sz_xRRDeleteOutputPropertyReq 12 37717ca54c3Smrg 37817ca54c3Smrgtypedef struct { 37917ca54c3Smrg CARD8 reqType; 38017ca54c3Smrg CARD8 randrReqType; 381b54d2093Smrg CARD16 length; 382b54d2093Smrg RROutput output; 383b54d2093Smrg Atom property; 384b54d2093Smrg Atom type; 385b54d2093Smrg CARD32 longOffset; 386b54d2093Smrg CARD32 longLength; 38717ca54c3Smrg#ifdef __cplusplus 38817ca54c3Smrg BOOL _delete; 38917ca54c3Smrg#else 39017ca54c3Smrg BOOL delete; 39117ca54c3Smrg#endif 39217ca54c3Smrg BOOL pending; 393b54d2093Smrg CARD16 pad1; 39417ca54c3Smrg} xRRGetOutputPropertyReq; 39517ca54c3Smrg#define sz_xRRGetOutputPropertyReq 28 39617ca54c3Smrg 39717ca54c3Smrgtypedef struct { 39817ca54c3Smrg BYTE type; 39917ca54c3Smrg CARD8 format; 400b54d2093Smrg CARD16 sequenceNumber; 401b54d2093Smrg CARD32 length; 402b54d2093Smrg Atom propertyType; 403b54d2093Smrg CARD32 bytesAfter; 404b54d2093Smrg CARD32 nItems; 405b54d2093Smrg CARD32 pad1; 406b54d2093Smrg CARD32 pad2; 407b54d2093Smrg CARD32 pad3; 40817ca54c3Smrg} xRRGetOutputPropertyReply; 40917ca54c3Smrg#define sz_xRRGetOutputPropertyReply 32 41017ca54c3Smrg 41117ca54c3Smrgtypedef struct { 41217ca54c3Smrg CARD8 reqType; 41317ca54c3Smrg CARD8 randrReqType; 414b54d2093Smrg CARD16 length; 415b54d2093Smrg Window window; 41617ca54c3Smrg xRRModeInfo modeInfo; 417b54d2093Smrg} xRRCreateModeReq; 41817ca54c3Smrg#define sz_xRRCreateModeReq 40 41917ca54c3Smrg 42017ca54c3Smrgtypedef struct { 42117ca54c3Smrg BYTE type; 42217ca54c3Smrg CARD8 pad0; 423b54d2093Smrg CARD16 sequenceNumber; 424b54d2093Smrg CARD32 length; 425b54d2093Smrg RRMode mode; 426b54d2093Smrg CARD32 pad1; 427b54d2093Smrg CARD32 pad2; 428b54d2093Smrg CARD32 pad3; 429b54d2093Smrg CARD32 pad4; 430b54d2093Smrg CARD32 pad5; 43117ca54c3Smrg} xRRCreateModeReply; 43217ca54c3Smrg#define sz_xRRCreateModeReply 32 43317ca54c3Smrg 43417ca54c3Smrgtypedef struct { 43517ca54c3Smrg CARD8 reqType; 43617ca54c3Smrg CARD8 randrReqType; 437b54d2093Smrg CARD16 length; 438b54d2093Smrg RRMode mode; 43917ca54c3Smrg} xRRDestroyModeReq; 44017ca54c3Smrg#define sz_xRRDestroyModeReq 8 44117ca54c3Smrg 44217ca54c3Smrgtypedef struct { 44317ca54c3Smrg CARD8 reqType; 44417ca54c3Smrg CARD8 randrReqType; 445b54d2093Smrg CARD16 length; 446b54d2093Smrg RROutput output; 447b54d2093Smrg RRMode mode; 44817ca54c3Smrg} xRRAddOutputModeReq; 44917ca54c3Smrg#define sz_xRRAddOutputModeReq 12 45017ca54c3Smrg 45117ca54c3Smrgtypedef struct { 45217ca54c3Smrg CARD8 reqType; 45317ca54c3Smrg CARD8 randrReqType; 454b54d2093Smrg CARD16 length; 455b54d2093Smrg RROutput output; 456b54d2093Smrg RRMode mode; 45717ca54c3Smrg} xRRDeleteOutputModeReq; 45817ca54c3Smrg#define sz_xRRDeleteOutputModeReq 12 45917ca54c3Smrg 46017ca54c3Smrgtypedef struct { 46117ca54c3Smrg CARD8 reqType; 46217ca54c3Smrg CARD8 randrReqType; 463b54d2093Smrg CARD16 length; 464b54d2093Smrg RRCrtc crtc; 465b54d2093Smrg Time configTimestamp; 466b54d2093Smrg} xRRGetCrtcInfoReq; 46717ca54c3Smrg#define sz_xRRGetCrtcInfoReq 12 46817ca54c3Smrg 46917ca54c3Smrgtypedef struct { 47017ca54c3Smrg BYTE type; 47117ca54c3Smrg CARD8 status; 472b54d2093Smrg CARD16 sequenceNumber; 473b54d2093Smrg CARD32 length; 474b54d2093Smrg Time timestamp; 475b54d2093Smrg INT16 x; 476b54d2093Smrg INT16 y; 477b54d2093Smrg CARD16 width; 478b54d2093Smrg CARD16 height; 479b54d2093Smrg RRMode mode; 480b54d2093Smrg Rotation rotation; 481b54d2093Smrg Rotation rotations; 482b54d2093Smrg CARD16 nOutput; 483b54d2093Smrg CARD16 nPossibleOutput; 48417ca54c3Smrg} xRRGetCrtcInfoReply; 48517ca54c3Smrg#define sz_xRRGetCrtcInfoReply 32 48617ca54c3Smrg 48717ca54c3Smrgtypedef struct { 48817ca54c3Smrg CARD8 reqType; 48917ca54c3Smrg CARD8 randrReqType; 490b54d2093Smrg CARD16 length; 491b54d2093Smrg RRCrtc crtc; 492b54d2093Smrg Time timestamp; 493b54d2093Smrg Time configTimestamp; 494b54d2093Smrg INT16 x; 495b54d2093Smrg INT16 y; 496b54d2093Smrg RRMode mode; 497b54d2093Smrg Rotation rotation; 498b54d2093Smrg CARD16 pad; 499b54d2093Smrg} xRRSetCrtcConfigReq; 50017ca54c3Smrg#define sz_xRRSetCrtcConfigReq 28 50117ca54c3Smrg 50217ca54c3Smrgtypedef struct { 50317ca54c3Smrg BYTE type; 50417ca54c3Smrg CARD8 status; 505b54d2093Smrg CARD16 sequenceNumber; 506b54d2093Smrg CARD32 length; 507b54d2093Smrg Time newTimestamp; 508b54d2093Smrg CARD32 pad1; 509b54d2093Smrg CARD32 pad2; 510b54d2093Smrg CARD32 pad3; 511b54d2093Smrg CARD32 pad4; 512b54d2093Smrg CARD32 pad5; 51317ca54c3Smrg} xRRSetCrtcConfigReply; 51417ca54c3Smrg#define sz_xRRSetCrtcConfigReply 32 51517ca54c3Smrg 51617ca54c3Smrgtypedef struct { 51717ca54c3Smrg CARD8 reqType; 51817ca54c3Smrg CARD8 randrReqType; 519b54d2093Smrg CARD16 length; 520b54d2093Smrg RRCrtc crtc; 521b54d2093Smrg} xRRGetCrtcGammaSizeReq; 52217ca54c3Smrg#define sz_xRRGetCrtcGammaSizeReq 8 52317ca54c3Smrg 52417ca54c3Smrgtypedef struct { 52517ca54c3Smrg BYTE type; 52617ca54c3Smrg CARD8 status; 527b54d2093Smrg CARD16 sequenceNumber; 528b54d2093Smrg CARD32 length; 529b54d2093Smrg CARD16 size; 530b54d2093Smrg CARD16 pad1; 531b54d2093Smrg CARD32 pad2; 532b54d2093Smrg CARD32 pad3; 533b54d2093Smrg CARD32 pad4; 534b54d2093Smrg CARD32 pad5; 535b54d2093Smrg CARD32 pad6; 53617ca54c3Smrg} xRRGetCrtcGammaSizeReply; 53717ca54c3Smrg#define sz_xRRGetCrtcGammaSizeReply 32 53817ca54c3Smrg 53917ca54c3Smrgtypedef struct { 54017ca54c3Smrg CARD8 reqType; 54117ca54c3Smrg CARD8 randrReqType; 542b54d2093Smrg CARD16 length; 543b54d2093Smrg RRCrtc crtc; 544b54d2093Smrg} xRRGetCrtcGammaReq; 54517ca54c3Smrg#define sz_xRRGetCrtcGammaReq 8 54617ca54c3Smrg 54717ca54c3Smrgtypedef struct { 54817ca54c3Smrg BYTE type; 54917ca54c3Smrg CARD8 status; 550b54d2093Smrg CARD16 sequenceNumber; 551b54d2093Smrg CARD32 length; 552b54d2093Smrg CARD16 size; 553b54d2093Smrg CARD16 pad1; 554b54d2093Smrg CARD32 pad2; 555b54d2093Smrg CARD32 pad3; 556b54d2093Smrg CARD32 pad4; 557b54d2093Smrg CARD32 pad5; 558b54d2093Smrg CARD32 pad6; 55917ca54c3Smrg} xRRGetCrtcGammaReply; 56017ca54c3Smrg#define sz_xRRGetCrtcGammaReply 32 56117ca54c3Smrg 56217ca54c3Smrgtypedef struct { 56317ca54c3Smrg CARD8 reqType; 56417ca54c3Smrg CARD8 randrReqType; 565b54d2093Smrg CARD16 length; 566b54d2093Smrg RRCrtc crtc; 567b54d2093Smrg CARD16 size; 568b54d2093Smrg CARD16 pad1; 56917ca54c3Smrg} xRRSetCrtcGammaReq; 57017ca54c3Smrg#define sz_xRRSetCrtcGammaReq 12 57117ca54c3Smrg 57217ca54c3Smrg/* 57317ca54c3Smrg * Additions for V1.3 57417ca54c3Smrg */ 57517ca54c3Smrg 57617ca54c3Smrgtypedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq; 57717ca54c3Smrg 57817ca54c3Smrg#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq 57917ca54c3Smrg 58017ca54c3Smrgtypedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply; 58117ca54c3Smrg#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply 58217ca54c3Smrg 58317ca54c3Smrgtypedef struct { 58417ca54c3Smrg CARD8 reqType; 58517ca54c3Smrg CARD8 randrReqType; 586b54d2093Smrg CARD16 length; 587b54d2093Smrg RRCrtc crtc; 58817ca54c3Smrg xRenderTransform transform; 58917ca54c3Smrg CARD16 nbytesFilter; /* number of bytes in filter name */ 590b54d2093Smrg CARD16 pad; 59117ca54c3Smrg} xRRSetCrtcTransformReq; 59217ca54c3Smrg 59317ca54c3Smrg#define sz_xRRSetCrtcTransformReq 48 59417ca54c3Smrg 59517ca54c3Smrgtypedef struct { 59617ca54c3Smrg CARD8 reqType; 59717ca54c3Smrg CARD8 randrReqType; 598b54d2093Smrg CARD16 length; 599b54d2093Smrg RRCrtc crtc; 60017ca54c3Smrg} xRRGetCrtcTransformReq; 60117ca54c3Smrg 60217ca54c3Smrg#define sz_xRRGetCrtcTransformReq 8 60317ca54c3Smrg 60417ca54c3Smrgtypedef struct { 60517ca54c3Smrg BYTE type; 60617ca54c3Smrg CARD8 status; 607b54d2093Smrg CARD16 sequenceNumber; 608b54d2093Smrg CARD32 length; 60917ca54c3Smrg xRenderTransform pendingTransform; 61017ca54c3Smrg BYTE hasTransforms; 61117ca54c3Smrg CARD8 pad0; 612b54d2093Smrg CARD16 pad1; 61317ca54c3Smrg xRenderTransform currentTransform; 614b54d2093Smrg CARD32 pad2; 615b54d2093Smrg CARD16 pendingNbytesFilter; /* number of bytes in filter name */ 616b54d2093Smrg CARD16 pendingNparamsFilter; /* number of filter params */ 617b54d2093Smrg CARD16 currentNbytesFilter; /* number of bytes in filter name */ 618b54d2093Smrg CARD16 currentNparamsFilter; /* number of filter params */ 61917ca54c3Smrg} xRRGetCrtcTransformReply; 62017ca54c3Smrg 62117ca54c3Smrg#define sz_xRRGetCrtcTransformReply 96 62217ca54c3Smrg 62317ca54c3Smrgtypedef struct { 62417ca54c3Smrg CARD8 reqType; 62517ca54c3Smrg CARD8 randrReqType; 626b54d2093Smrg CARD16 length; 627b54d2093Smrg Window window; 628b54d2093Smrg RROutput output; 62917ca54c3Smrg} xRRSetOutputPrimaryReq; 63017ca54c3Smrg#define sz_xRRSetOutputPrimaryReq 12 63117ca54c3Smrg 63217ca54c3Smrgtypedef struct { 63317ca54c3Smrg CARD8 reqType; 63417ca54c3Smrg CARD8 randrReqType; 635b54d2093Smrg CARD16 length; 636b54d2093Smrg Window window; 63717ca54c3Smrg} xRRGetOutputPrimaryReq; 63817ca54c3Smrg#define sz_xRRGetOutputPrimaryReq 8 63917ca54c3Smrg 64017ca54c3Smrgtypedef struct { 64117ca54c3Smrg BYTE type; 64217ca54c3Smrg CARD8 pad; 643b54d2093Smrg CARD16 sequenceNumber; 644b54d2093Smrg CARD32 length; 645b54d2093Smrg RROutput output; 646b54d2093Smrg CARD32 pad1; 647b54d2093Smrg CARD32 pad2; 648b54d2093Smrg CARD32 pad3; 649b54d2093Smrg CARD32 pad4; 650b54d2093Smrg CARD32 pad5; 65117ca54c3Smrg} xRRGetOutputPrimaryReply; 65217ca54c3Smrg#define sz_xRRGetOutputPrimaryReply 32 65317ca54c3Smrg 65417ca54c3Smrg/* 65517ca54c3Smrg * Additions for V1.4 65617ca54c3Smrg */ 65717ca54c3Smrg 65817ca54c3Smrgtypedef struct { 65917ca54c3Smrg CARD8 reqType; 66017ca54c3Smrg CARD8 randrReqType; 661b54d2093Smrg CARD16 length; 662b54d2093Smrg Window window; 66317ca54c3Smrg} xRRGetProvidersReq; 66417ca54c3Smrg#define sz_xRRGetProvidersReq 8 66517ca54c3Smrg 66617ca54c3Smrgtypedef struct { 66717ca54c3Smrg BYTE type; 66817ca54c3Smrg CARD8 pad; 669b54d2093Smrg CARD16 sequenceNumber; 670b54d2093Smrg CARD32 length; 671b54d2093Smrg Time timestamp; 67217ca54c3Smrg CARD16 nProviders; 673b54d2093Smrg CARD16 pad1; 674b54d2093Smrg CARD32 pad2; 675b54d2093Smrg CARD32 pad3; 676b54d2093Smrg CARD32 pad4; 677b54d2093Smrg CARD32 pad5; 67817ca54c3Smrg} xRRGetProvidersReply; 67917ca54c3Smrg#define sz_xRRGetProvidersReply 32 68017ca54c3Smrg 68117ca54c3Smrgtypedef struct { 68217ca54c3Smrg CARD8 reqType; 68317ca54c3Smrg CARD8 randrReqType; 684b54d2093Smrg CARD16 length; 685b54d2093Smrg RRProvider provider; 686b54d2093Smrg Time configTimestamp; 68717ca54c3Smrg} xRRGetProviderInfoReq; 68817ca54c3Smrg#define sz_xRRGetProviderInfoReq 12 68917ca54c3Smrg 69017ca54c3Smrgtypedef struct { 69117ca54c3Smrg BYTE type; 69217ca54c3Smrg CARD8 status; 693b54d2093Smrg CARD16 sequenceNumber; 694b54d2093Smrg CARD32 length; 695b54d2093Smrg Time timestamp; 696b54d2093Smrg CARD32 capabilities; 697b54d2093Smrg CARD16 nCrtcs; 698b54d2093Smrg CARD16 nOutputs; 699b54d2093Smrg CARD16 nAssociatedProviders; 700b54d2093Smrg CARD16 nameLength; 701b54d2093Smrg CARD32 pad1; 702b54d2093Smrg CARD32 pad2; 70317ca54c3Smrg} xRRGetProviderInfoReply; 70417ca54c3Smrg#define sz_xRRGetProviderInfoReply 32 70517ca54c3Smrg 70617ca54c3Smrgtypedef struct { 70717ca54c3Smrg CARD8 reqType; 70817ca54c3Smrg CARD8 randrReqType; 709b54d2093Smrg CARD16 length; 710b54d2093Smrg RRProvider provider; 711b54d2093Smrg RRProvider source_provider; 712b54d2093Smrg Time configTimestamp; 71317ca54c3Smrg} xRRSetProviderOutputSourceReq; 71417ca54c3Smrg#define sz_xRRSetProviderOutputSourceReq 16 71517ca54c3Smrg 71617ca54c3Smrgtypedef struct { 71717ca54c3Smrg CARD8 reqType; 71817ca54c3Smrg CARD8 randrReqType; 719b54d2093Smrg CARD16 length; 720b54d2093Smrg RRProvider provider; 721b54d2093Smrg RRProvider sink_provider; 722b54d2093Smrg Time configTimestamp; 72317ca54c3Smrg} xRRSetProviderOffloadSinkReq; 72417ca54c3Smrg#define sz_xRRSetProviderOffloadSinkReq 16 72517ca54c3Smrg 72617ca54c3Smrgtypedef struct { 72717ca54c3Smrg CARD8 reqType; 72817ca54c3Smrg CARD8 randrReqType; 729b54d2093Smrg CARD16 length; 730b54d2093Smrg RRProvider provider; 731b54d2093Smrg} xRRListProviderPropertiesReq; 73217ca54c3Smrg#define sz_xRRListProviderPropertiesReq 8 73317ca54c3Smrg 73417ca54c3Smrgtypedef struct { 73517ca54c3Smrg BYTE type; 73617ca54c3Smrg CARD8 pad0; 737b54d2093Smrg CARD16 sequenceNumber; 738b54d2093Smrg CARD32 length; 739b54d2093Smrg CARD16 nAtoms; 740b54d2093Smrg CARD16 pad1; 741b54d2093Smrg CARD32 pad2; 742b54d2093Smrg CARD32 pad3; 743b54d2093Smrg CARD32 pad4; 744b54d2093Smrg CARD32 pad5; 745b54d2093Smrg CARD32 pad6; 74617ca54c3Smrg} xRRListProviderPropertiesReply; 74717ca54c3Smrg#define sz_xRRListProviderPropertiesReply 32 74817ca54c3Smrg 74917ca54c3Smrgtypedef struct { 75017ca54c3Smrg CARD8 reqType; 75117ca54c3Smrg CARD8 randrReqType; 752b54d2093Smrg CARD16 length; 753b54d2093Smrg RRProvider provider; 754b54d2093Smrg Atom property; 755b54d2093Smrg} xRRQueryProviderPropertyReq; 75617ca54c3Smrg#define sz_xRRQueryProviderPropertyReq 12 75717ca54c3Smrg 75817ca54c3Smrgtypedef struct { 75917ca54c3Smrg BYTE type; 76017ca54c3Smrg BYTE pad0; 761b54d2093Smrg CARD16 sequenceNumber; 762b54d2093Smrg CARD32 length; 76317ca54c3Smrg BOOL pending; 76417ca54c3Smrg BOOL range; 76517ca54c3Smrg BOOL immutable; 76617ca54c3Smrg BYTE pad1; 767b54d2093Smrg CARD32 pad2; 768b54d2093Smrg CARD32 pad3; 769b54d2093Smrg CARD32 pad4; 770b54d2093Smrg CARD32 pad5; 771b54d2093Smrg CARD32 pad6; 77217ca54c3Smrg} xRRQueryProviderPropertyReply; 77317ca54c3Smrg#define sz_xRRQueryProviderPropertyReply 32 77417ca54c3Smrg 77517ca54c3Smrgtypedef struct { 77617ca54c3Smrg CARD8 reqType; 77717ca54c3Smrg CARD8 randrReqType; 778b54d2093Smrg CARD16 length; 779b54d2093Smrg RRProvider provider; 780b54d2093Smrg Atom property; 78117ca54c3Smrg BOOL pending; 78217ca54c3Smrg BOOL range; 783b54d2093Smrg CARD16 pad; 784b54d2093Smrg} xRRConfigureProviderPropertyReq; 78517ca54c3Smrg#define sz_xRRConfigureProviderPropertyReq 16 78617ca54c3Smrg 78717ca54c3Smrgtypedef struct { 78817ca54c3Smrg CARD8 reqType; 78917ca54c3Smrg CARD8 randrReqType; 790b54d2093Smrg CARD16 length; 791b54d2093Smrg RRProvider provider; 792b54d2093Smrg Atom property; 793b54d2093Smrg Atom type; 79417ca54c3Smrg CARD8 format; 79517ca54c3Smrg CARD8 mode; 79617ca54c3Smrg CARD16 pad; 797b54d2093Smrg CARD32 nUnits; 79817ca54c3Smrg} xRRChangeProviderPropertyReq; 79917ca54c3Smrg#define sz_xRRChangeProviderPropertyReq 24 80017ca54c3Smrg 80117ca54c3Smrgtypedef struct { 80217ca54c3Smrg CARD8 reqType; 80317ca54c3Smrg CARD8 randrReqType; 804b54d2093Smrg CARD16 length; 805b54d2093Smrg RRProvider provider; 806b54d2093Smrg Atom property; 80717ca54c3Smrg} xRRDeleteProviderPropertyReq; 80817ca54c3Smrg#define sz_xRRDeleteProviderPropertyReq 12 80917ca54c3Smrg 81017ca54c3Smrgtypedef struct { 81117ca54c3Smrg CARD8 reqType; 81217ca54c3Smrg CARD8 randrReqType; 813b54d2093Smrg CARD16 length; 814b54d2093Smrg RRProvider provider; 815b54d2093Smrg Atom property; 816b54d2093Smrg Atom type; 817b54d2093Smrg CARD32 longOffset; 818b54d2093Smrg CARD32 longLength; 81917ca54c3Smrg#ifdef __cplusplus 82017ca54c3Smrg BOOL _delete; 82117ca54c3Smrg#else 82217ca54c3Smrg BOOL delete; 82317ca54c3Smrg#endif 82417ca54c3Smrg BOOL pending; 825b54d2093Smrg CARD16 pad1; 82617ca54c3Smrg} xRRGetProviderPropertyReq; 82717ca54c3Smrg#define sz_xRRGetProviderPropertyReq 28 82817ca54c3Smrg 82917ca54c3Smrgtypedef struct { 83017ca54c3Smrg BYTE type; 83117ca54c3Smrg CARD8 format; 832b54d2093Smrg CARD16 sequenceNumber; 833b54d2093Smrg CARD32 length; 834b54d2093Smrg Atom propertyType; 835b54d2093Smrg CARD32 bytesAfter; 836b54d2093Smrg CARD32 nItems; 837b54d2093Smrg CARD32 pad1; 838b54d2093Smrg CARD32 pad2; 839b54d2093Smrg CARD32 pad3; 84017ca54c3Smrg} xRRGetProviderPropertyReply; 84117ca54c3Smrg#define sz_xRRGetProviderPropertyReply 32 84217ca54c3Smrg 84317ca54c3Smrg/* 84417ca54c3Smrg * Additions for V1.6 84517ca54c3Smrg */ 84617ca54c3Smrg 84717ca54c3Smrgtypedef struct { 84817ca54c3Smrg CARD8 reqType; 84917ca54c3Smrg CARD8 randrReqType; 850b54d2093Smrg CARD16 length; 851b54d2093Smrg Window window; 852b54d2093Smrg RRLease lid; 853b54d2093Smrg CARD16 nCrtcs; 854b54d2093Smrg CARD16 nOutputs; 85517ca54c3Smrg} xRRCreateLeaseReq; 85617ca54c3Smrg#define sz_xRRCreateLeaseReq 16 85717ca54c3Smrg 85817ca54c3Smrgtypedef struct { 85917ca54c3Smrg BYTE type; 86017ca54c3Smrg CARD8 nfd; 861b54d2093Smrg CARD16 sequenceNumber; 862b54d2093Smrg CARD32 length; 863b54d2093Smrg CARD32 pad2; 864b54d2093Smrg CARD32 pad3; 865b54d2093Smrg CARD32 pad4; 866b54d2093Smrg CARD32 pad5; 867b54d2093Smrg CARD32 pad6; 868b54d2093Smrg CARD32 pad7; 86917ca54c3Smrg} xRRCreateLeaseReply; 87017ca54c3Smrg#define sz_xRRCreateLeaseReply 32 87117ca54c3Smrg 87217ca54c3Smrgtypedef struct { 87317ca54c3Smrg CARD8 reqType; 87417ca54c3Smrg CARD8 randrReqType; 875b54d2093Smrg CARD16 length; 876b54d2093Smrg RRLease lid; 87717ca54c3Smrg BYTE terminate; 87817ca54c3Smrg CARD8 pad1; 879b54d2093Smrg CARD16 pad2; 88017ca54c3Smrg} xRRFreeLeaseReq; 88117ca54c3Smrg#define sz_xRRFreeLeaseReq 12 88217ca54c3Smrg 88317ca54c3Smrg/* 88417ca54c3Smrg * event 88517ca54c3Smrg */ 88617ca54c3Smrgtypedef struct { 88717ca54c3Smrg CARD8 type; /* always evBase + ScreenChangeNotify */ 88817ca54c3Smrg CARD8 rotation; /* new rotation */ 889b54d2093Smrg CARD16 sequenceNumber; 890b54d2093Smrg Time timestamp; /* time screen was changed */ 891b54d2093Smrg Time configTimestamp; /* time config data was changed */ 892b54d2093Smrg Window root; /* root window */ 893b54d2093Smrg Window window; /* window requesting notification */ 894b54d2093Smrg SizeID sizeID; /* new size ID */ 895b54d2093Smrg CARD16 subpixelOrder; /* subpixel order */ 896b54d2093Smrg CARD16 widthInPixels; /* new size */ 897b54d2093Smrg CARD16 heightInPixels; 898b54d2093Smrg CARD16 widthInMillimeters; 899b54d2093Smrg CARD16 heightInMillimeters; 90017ca54c3Smrg} xRRScreenChangeNotifyEvent; 90117ca54c3Smrg#define sz_xRRScreenChangeNotifyEvent 32 90217ca54c3Smrg 90317ca54c3Smrgtypedef struct { 90417ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 90517ca54c3Smrg CARD8 subCode; /* RRNotify_CrtcChange */ 906b54d2093Smrg CARD16 sequenceNumber; 907b54d2093Smrg Time timestamp; /* time crtc was changed */ 908b54d2093Smrg Window window; /* window requesting notification */ 909b54d2093Smrg RRCrtc crtc; /* affected CRTC */ 910b54d2093Smrg RRMode mode; /* current mode */ 911b54d2093Smrg CARD16 rotation; /* rotation and reflection */ 912b54d2093Smrg CARD16 pad1; /* unused */ 913b54d2093Smrg INT16 x; /* new location */ 914b54d2093Smrg INT16 y; 915b54d2093Smrg CARD16 width; /* new size */ 916b54d2093Smrg CARD16 height; 91717ca54c3Smrg} xRRCrtcChangeNotifyEvent; 91817ca54c3Smrg#define sz_xRRCrtcChangeNotifyEvent 32 91917ca54c3Smrg 92017ca54c3Smrgtypedef struct { 92117ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 92217ca54c3Smrg CARD8 subCode; /* RRNotify_OutputChange */ 923b54d2093Smrg CARD16 sequenceNumber; 924b54d2093Smrg Time timestamp; /* time output was changed */ 925b54d2093Smrg Time configTimestamp; /* time config was changed */ 926b54d2093Smrg Window window; /* window requesting notification */ 927b54d2093Smrg RROutput output; /* affected output */ 928b54d2093Smrg RRCrtc crtc; /* current crtc */ 929b54d2093Smrg RRMode mode; /* current mode */ 930b54d2093Smrg CARD16 rotation; /* rotation and reflection */ 93117ca54c3Smrg CARD8 connection; /* connection status */ 93217ca54c3Smrg CARD8 subpixelOrder; /* subpixel order */ 93317ca54c3Smrg} xRROutputChangeNotifyEvent; 93417ca54c3Smrg#define sz_xRROutputChangeNotifyEvent 32 93517ca54c3Smrg 93617ca54c3Smrgtypedef struct { 93717ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 93817ca54c3Smrg CARD8 subCode; /* RRNotify_OutputProperty */ 939b54d2093Smrg CARD16 sequenceNumber; 940b54d2093Smrg Window window; /* window requesting notification */ 941b54d2093Smrg RROutput output; /* affected output */ 942b54d2093Smrg Atom atom; /* property name */ 943b54d2093Smrg Time timestamp; /* time crtc was changed */ 94417ca54c3Smrg CARD8 state; /* NewValue or Deleted */ 94517ca54c3Smrg CARD8 pad1; 946b54d2093Smrg CARD16 pad2; 947b54d2093Smrg CARD32 pad3; 948b54d2093Smrg CARD32 pad4; 94917ca54c3Smrg} xRROutputPropertyNotifyEvent; 95017ca54c3Smrg#define sz_xRROutputPropertyNotifyEvent 32 95117ca54c3Smrg 95217ca54c3Smrgtypedef struct { 95317ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 95417ca54c3Smrg CARD8 subCode; /* RRNotify_ProviderChange */ 955b54d2093Smrg CARD16 sequenceNumber; 956b54d2093Smrg Time timestamp; /* time provider was changed */ 957b54d2093Smrg Window window; /* window requesting notification */ 958b54d2093Smrg RRProvider provider; /* affected provider */ 959b54d2093Smrg CARD32 pad1; 960b54d2093Smrg CARD32 pad2; 961b54d2093Smrg CARD32 pad3; 962b54d2093Smrg CARD32 pad4; 96317ca54c3Smrg} xRRProviderChangeNotifyEvent; 96417ca54c3Smrg#define sz_xRRProviderChangeNotifyEvent 32 96517ca54c3Smrg 96617ca54c3Smrgtypedef struct { 96717ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 96817ca54c3Smrg CARD8 subCode; /* RRNotify_ProviderProperty */ 969b54d2093Smrg CARD16 sequenceNumber; 970b54d2093Smrg Window window; /* window requesting notification */ 971b54d2093Smrg RRProvider provider; /* affected provider */ 972b54d2093Smrg Atom atom; /* property name */ 973b54d2093Smrg Time timestamp; /* time provider was changed */ 97417ca54c3Smrg CARD8 state; /* NewValue or Deleted */ 97517ca54c3Smrg CARD8 pad1; 976b54d2093Smrg CARD16 pad2; 977b54d2093Smrg CARD32 pad3; 978b54d2093Smrg CARD32 pad4; 97917ca54c3Smrg} xRRProviderPropertyNotifyEvent; 98017ca54c3Smrg#define sz_xRRProviderPropertyNotifyEvent 32 98117ca54c3Smrg 98217ca54c3Smrgtypedef struct { 98317ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 98417ca54c3Smrg CARD8 subCode; /* RRNotify_ResourceChange */ 985b54d2093Smrg CARD16 sequenceNumber; 986b54d2093Smrg Time timestamp; /* time resource was changed */ 987b54d2093Smrg Window window; /* window requesting notification */ 988b54d2093Smrg CARD32 pad1; 989b54d2093Smrg CARD32 pad2; 990b54d2093Smrg CARD32 pad3; 991b54d2093Smrg CARD32 pad4; 992b54d2093Smrg CARD32 pad5; 99317ca54c3Smrg} xRRResourceChangeNotifyEvent; 99417ca54c3Smrg#define sz_xRRResourceChangeNotifyEvent 32 99517ca54c3Smrg 99617ca54c3Smrgtypedef struct { 99717ca54c3Smrg CARD8 type; /* always evBase + RRNotify */ 99817ca54c3Smrg CARD8 subCode; /* RRNotify_Lease */ 999b54d2093Smrg CARD16 sequenceNumber; 1000b54d2093Smrg Time timestamp; /* time resource was changed */ 1001b54d2093Smrg Window window; /* window requesting notification */ 1002b54d2093Smrg RRLease lease; 100317ca54c3Smrg CARD8 created; /* created/deleted */ 100417ca54c3Smrg CARD8 pad0; 1005b54d2093Smrg CARD16 pad1; 1006b54d2093Smrg CARD32 pad2; 1007b54d2093Smrg CARD32 pad3; 1008b54d2093Smrg CARD32 pad4; 100917ca54c3Smrg} xRRLeaseNotifyEvent; 101017ca54c3Smrg#define sz_xRRLeaseNotifyEvent 32 101117ca54c3Smrg 101217ca54c3Smrgtypedef struct { 101317ca54c3Smrg CARD8 reqType; 101417ca54c3Smrg CARD8 randrReqType; 1015b54d2093Smrg CARD16 length; 1016b54d2093Smrg RRCrtc crtc; 1017b54d2093Smrg} xRRGetPanningReq; 101817ca54c3Smrg#define sz_xRRGetPanningReq 8 101917ca54c3Smrg 102017ca54c3Smrgtypedef struct { 102117ca54c3Smrg BYTE type; 102217ca54c3Smrg CARD8 status; 1023b54d2093Smrg CARD16 sequenceNumber; 1024b54d2093Smrg CARD32 length; 1025b54d2093Smrg Time timestamp; 1026b54d2093Smrg CARD16 left; 1027b54d2093Smrg CARD16 top; 1028b54d2093Smrg CARD16 width; 1029b54d2093Smrg CARD16 height; 1030b54d2093Smrg CARD16 track_left; 1031b54d2093Smrg CARD16 track_top; 1032b54d2093Smrg CARD16 track_width; 1033b54d2093Smrg CARD16 track_height; 1034b54d2093Smrg INT16 border_left; 1035b54d2093Smrg INT16 border_top; 1036b54d2093Smrg INT16 border_right; 1037b54d2093Smrg INT16 border_bottom; 103817ca54c3Smrg} xRRGetPanningReply; 103917ca54c3Smrg#define sz_xRRGetPanningReply 36 104017ca54c3Smrg 104117ca54c3Smrgtypedef struct { 104217ca54c3Smrg CARD8 reqType; 104317ca54c3Smrg CARD8 randrReqType; 1044b54d2093Smrg CARD16 length; 1045b54d2093Smrg RRCrtc crtc; 1046b54d2093Smrg Time timestamp; 1047b54d2093Smrg CARD16 left; 1048b54d2093Smrg CARD16 top; 1049b54d2093Smrg CARD16 width; 1050b54d2093Smrg CARD16 height; 1051b54d2093Smrg CARD16 track_left; 1052b54d2093Smrg CARD16 track_top; 1053b54d2093Smrg CARD16 track_width; 1054b54d2093Smrg CARD16 track_height; 1055b54d2093Smrg INT16 border_left; 1056b54d2093Smrg INT16 border_top; 1057b54d2093Smrg INT16 border_right; 1058b54d2093Smrg INT16 border_bottom; 1059b54d2093Smrg} xRRSetPanningReq; 106017ca54c3Smrg#define sz_xRRSetPanningReq 36 106117ca54c3Smrg 106217ca54c3Smrgtypedef struct { 106317ca54c3Smrg BYTE type; 106417ca54c3Smrg CARD8 status; 1065b54d2093Smrg CARD16 sequenceNumber; 1066b54d2093Smrg CARD32 length; 1067b54d2093Smrg Time newTimestamp; 1068b54d2093Smrg CARD32 pad1; 1069b54d2093Smrg CARD32 pad2; 1070b54d2093Smrg CARD32 pad3; 1071b54d2093Smrg CARD32 pad4; 1072b54d2093Smrg CARD32 pad5; 107317ca54c3Smrg} xRRSetPanningReply; 107417ca54c3Smrg#define sz_xRRSetPanningReply 32 107517ca54c3Smrg 107617ca54c3Smrgtypedef struct { 1077b54d2093Smrg Atom name; 107817ca54c3Smrg BOOL primary; 107917ca54c3Smrg BOOL automatic; 1080b54d2093Smrg CARD16 noutput; 1081b54d2093Smrg INT16 x; 1082b54d2093Smrg INT16 y; 1083b54d2093Smrg CARD16 width; 1084b54d2093Smrg CARD16 height; 1085b54d2093Smrg CARD32 widthInMillimeters; 1086b54d2093Smrg CARD32 heightInMillimeters; 108717ca54c3Smrg} xRRMonitorInfo; 108817ca54c3Smrg#define sz_xRRMonitorInfo 24 108917ca54c3Smrg 109017ca54c3Smrgtypedef struct { 109117ca54c3Smrg CARD8 reqType; 109217ca54c3Smrg CARD8 randrReqType; 1093b54d2093Smrg CARD16 length; 1094b54d2093Smrg Window window; 109517ca54c3Smrg BOOL get_active; 109617ca54c3Smrg CARD8 pad; 109717ca54c3Smrg CARD16 pad2; 109817ca54c3Smrg} xRRGetMonitorsReq; 109917ca54c3Smrg#define sz_xRRGetMonitorsReq 12 110017ca54c3Smrg 110117ca54c3Smrgtypedef struct { 110217ca54c3Smrg BYTE type; 110317ca54c3Smrg CARD8 status; 1104b54d2093Smrg CARD16 sequenceNumber; 1105b54d2093Smrg CARD32 length; 1106b54d2093Smrg Time timestamp; 1107b54d2093Smrg CARD32 nmonitors; 1108b54d2093Smrg CARD32 noutputs; 1109b54d2093Smrg CARD32 pad1; 1110b54d2093Smrg CARD32 pad2; 1111b54d2093Smrg CARD32 pad3; 111217ca54c3Smrg} xRRGetMonitorsReply; 111317ca54c3Smrg#define sz_xRRGetMonitorsReply 32 111417ca54c3Smrg 111517ca54c3Smrgtypedef struct { 111617ca54c3Smrg CARD8 reqType; 111717ca54c3Smrg CARD8 randrReqType; 1118b54d2093Smrg CARD16 length; 1119b54d2093Smrg Window window; 112017ca54c3Smrg xRRMonitorInfo monitor; 112117ca54c3Smrg} xRRSetMonitorReq; 112217ca54c3Smrg#define sz_xRRSetMonitorReq 32 112317ca54c3Smrg 112417ca54c3Smrgtypedef struct { 112517ca54c3Smrg CARD8 reqType; 112617ca54c3Smrg CARD8 randrReqType; 1127b54d2093Smrg CARD16 length; 1128b54d2093Smrg Window window; 1129b54d2093Smrg Atom name; 113017ca54c3Smrg} xRRDeleteMonitorReq; 113117ca54c3Smrg#define sz_xRRDeleteMonitorReq 12 113217ca54c3Smrg 1133b54d2093Smrg#undef RRLease 113417ca54c3Smrg#undef RRModeFlags 113517ca54c3Smrg#undef RRCrtc 113617ca54c3Smrg#undef RRMode 113717ca54c3Smrg#undef RROutput 113817ca54c3Smrg#undef RRMode 113917ca54c3Smrg#undef RRCrtc 114017ca54c3Smrg#undef RRProvider 114117ca54c3Smrg#undef Drawable 114217ca54c3Smrg#undef Window 114317ca54c3Smrg#undef Font 114417ca54c3Smrg#undef Pixmap 114517ca54c3Smrg#undef Cursor 114617ca54c3Smrg#undef Colormap 114717ca54c3Smrg#undef GContext 114817ca54c3Smrg#undef Atom 114917ca54c3Smrg#undef Time 115017ca54c3Smrg#undef KeyCode 115117ca54c3Smrg#undef KeySym 115217ca54c3Smrg#undef Rotation 115317ca54c3Smrg#undef SizeID 115417ca54c3Smrg#undef SubpixelOrder 115517ca54c3Smrg 115617ca54c3Smrg#endif /* _XRANDRP_H_ */ 1157