From ce292d7cad17be4b13e4b7fad27b0ecbed101689 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 17 Sep 2006 23:41:55 -0700 Subject: Fix various random typos found while attempting to use header files Fix RRNumberRequests Rename errors to include RR to avoid conflicting with Xi. Add RR to various request/reply structs (oops). Remove nOutputs from SetCrtcConfigReq -- length is sufficient. Remove bogus members from SetCrtcConfigReply. Add MODEOPTION. Document protocol error encoding. --- randr.h | 6 +++++- randrproto.h | 42 ++++++++++++++++++++---------------------- randrproto.txt | 22 ++++++++++++++++++---- 3 files changed, 43 insertions(+), 27 deletions(-) diff --git a/randr.h b/randr.h index 94ae3a5..6d9369f 100644 --- a/randr.h +++ b/randr.h @@ -43,7 +43,7 @@ typedef unsigned short XRandrMonitor; #define RRNumberErrors 0 #define RRNumberEvents 2 -#define RRNumberRequests 12 +#define RRNumberRequests 23 #define X_RRQueryVersion 0 /* we skip 1 to make old clients fail pretty immediately */ @@ -128,4 +128,8 @@ typedef unsigned short XRandrMonitor; #define RR_Disconnected 1 #define RR_UnknownConnection 2 +#define BadRROutput 0 +#define BadRRCrtc 1 +#define BadRRMode 2 + #endif /* _RANDR_H_ */ diff --git a/randrproto.h b/randrproto.h index 9249239..05327c4 100644 --- a/randrproto.h +++ b/randrproto.h @@ -327,8 +327,8 @@ typedef struct { CARD16 length B16; RROutput output B32; Atom property B32; -} xDeleteOutputPropertyReq; -#define sz_xDeleteOutputPropertyReq 12 +} xRRDeleteOutputPropertyReq; +#define sz_xRRDeleteOutputPropertyReq 12 typedef struct { CARD8 reqType; @@ -342,8 +342,8 @@ typedef struct { BOOL delete; CARD8 pad1; CARD16 pad2; -} xGetOutputPropertyReq; -#define sz_xGetOutputPropertyReq 28 +} xRRGetOutputPropertyReq; +#define sz_xRRGetOutputPropertyReq 28 typedef struct { BYTE type; @@ -356,8 +356,8 @@ typedef struct { CARD32 pad1 B32; CARD32 pad2 B32; CARD32 pad3 B32; -} xGetOutputPropertyReply; -#define sz_xGetOutputPropertyReply 32 +} xRRGetOutputPropertyReply; +#define sz_xRRGetOutputPropertyReply 32 typedef struct { CARD8 reqType; @@ -414,8 +414,8 @@ typedef struct { CARD16 length B16; RRCrtc crtc B32; Time configTimestamp B32; -} xGetCrtcInfoReq; -#define sz_xGetCrtcInfoReq 12 +} xRRGetCrtcInfoReq; +#define sz_xRRGetCrtcInfoReq 12 typedef struct { BYTE type; @@ -447,7 +447,7 @@ typedef struct { INT16 y B16; RRMode mode B32; Rotation rotation B16; - CARD16 nOutputs B16; + CARD16 pad B16; } xRRSetCrtcConfigReq; #define sz_xRRSetCrtcConfigReq 28 @@ -456,14 +456,12 @@ typedef struct { CARD8 status; CARD16 sequenceNumber B16; CARD32 length B32; - Time timestamp B32; - CARD8 subpixelOrder; - CARD8 pad1; - CARD16 pad2 B16; + Time newTimestamp B32; + CARD32 pad1 B32; + CARD32 pad2 B16; CARD32 pad3 B32; CARD32 pad4 B32; CARD32 pad5 B32; - CARD32 pad6 B32; } xRRSetCrtcConfigReply; #define sz_xRRSetCrtcConfigReply 32 @@ -472,8 +470,8 @@ typedef struct { CARD8 randrReqType; CARD16 length B16; RRCrtc crtc B32; -} xGetCrtcGammaSizeReq; -#define sz_xGetCrtcGammaSizeReq 8 +} xRRGetCrtcGammaSizeReq; +#define sz_xRRGetCrtcGammaSizeReq 8 typedef struct { BYTE type; @@ -487,16 +485,16 @@ typedef struct { CARD16 pad4 B32; CARD16 pad5 B32; CARD16 pad6 B32; -} xGetCrtcGammaSizeReply; -#define sz_xGetCrtcGammaSizeReply 32 +} xRRGetCrtcGammaSizeReply; +#define sz_xRRGetCrtcGammaSizeReply 32 typedef struct { CARD8 reqType; CARD8 randrReqType; CARD16 length B16; RRCrtc crtc B32; -} xGetCrtcGammaReq; -#define sz_xGetCrtcGammaReq 8 +} xRRGetCrtcGammaReq; +#define sz_xRRGetCrtcGammaReq 8 typedef struct { BYTE type; @@ -510,8 +508,8 @@ typedef struct { CARD16 pad4 B32; CARD16 pad5 B32; CARD16 pad6 B32; -} xGetCrtcGammaReply; -#define sz_xGetCrtcGammaReply 32 +} xRRGetCrtcGammaReply; +#define sz_xRRGetCrtcGammaReply 32 typedef struct { CARD8 reqType; diff --git a/randrproto.txt b/randrproto.txt index cd9bfff..c8d77a2 100644 --- a/randrproto.txt +++ b/randrproto.txt @@ -245,6 +245,10 @@ MODEFLAG { HSyncPositive DoubleClock ClockDivideBy2 } +MODEOPTION { ScalingNone, + ScalingMaxAspect, + ScalingMax } + MODEINFO { id: MODE name: STRING widthInPixels, heightInPixels: CARD16 @@ -252,7 +256,8 @@ MODEINFO { id: MODE dotClock: CARD32 hSyncStart, hSyncEnd, hTotal, hSkew: CARD16 vSyncStart, vSyncEnd, vTotal: CARD16 - modeFlags: SETofMODEFLAG } + modeFlags: SETofMODEFLAG + modeOptions: SETofMODEOPTION } REFRESH { rates: LISTofCARD16 } @@ -774,6 +779,7 @@ dynamic changes in the display environment. config-timestamp: TIMESTAMP x, y: INT16 mode: MODE + options: SETofMODEOPTION rotation: ROTATION outputs: LISTofOUTPUT ▶ @@ -1495,7 +1501,7 @@ A.2.1 Protocol Requests added with version 1.2 2 INT16 y 4 MODE mode 2 ROTATION rotation/reflection - 2 n number of outputs + 2 unused 4n LISTofOUTPUT outputs ▶ 1 1 Reply @@ -1503,8 +1509,7 @@ A.2.1 Protocol Requests added with version 1.2 2 CARD16 sequence number 4 0 reply length 4 TIMESTAMP new timestamp - 1 SUBPIXELORDER subpixel order - 19 unused + 20 unused └─── ┌─── RRGetCrtcGammaSize @@ -1617,6 +1622,15 @@ A.3.1 Protocol Events added with version 1.2 11 unused └─── +A.4 Protocol Errors + +┌─── + ERRORS + Base + 0 Output + Base + 1 Crtc + Base + 2 Mode +└─── + Bibliography [RANDR] Gettys, Jim and Keith Packard, "The X Resize and Rotate -- cgit v1.2.1