1 /* $Xorg: panoramiXproto.h,v 1.4 2000/08/18 04:05:45 coskrey Exp $ */ 2 /***************************************************************** 3 Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. 4 Permission is hereby granted, free of charge, to any person obtaining a copy 5 of this software and associated documentation files (the "Software"), to deal 6 in the Software without restriction, including without limitation the rights 7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 copies of the Software. 9 10 The above copyright notice and this permission notice shall be included in 11 all copies or substantial portions of the Software. 12 13 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 16 DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, 17 BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, 18 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 19 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 21 Except as contained in this notice, the name of Digital Equipment Corporation 22 shall not be used in advertising or otherwise to promote the sale, use or other 23 dealings in this Software without prior written authorization from Digital 24 Equipment Corporation. 25 ******************************************************************/ 26 /* $XFree86: xc/include/extensions/panoramiXproto.h,v 3.6 2001/01/17 17:53:22 dawes Exp $ */ 27 28 /* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */ 29 30 #ifndef _PANORAMIXPROTO_H_ 31 #define _PANORAMIXPROTO_H_ 32 33 #define PANORAMIX_PROTOCOL_NAME "XINERAMA" 34 35 #define X_PanoramiXQueryVersion 0 36 #define X_PanoramiXGetState 1 37 #define X_PanoramiXGetScreenCount 2 38 #define X_PanoramiXGetScreenSize 3 39 40 #define X_XineramaIsActive 4 41 #define X_XineramaQueryScreens 5 42 43 typedef struct _PanoramiXQueryVersion { 44 CARD8 reqType; /* always PanoramiXReqCode */ 45 CARD8 panoramiXReqType; /* always X_PanoramiXQueryVersion */ 46 CARD16 length B16; 47 CARD8 clientMajor; 48 CARD8 clientMinor; 49 CARD16 unused B16; 50 } xPanoramiXQueryVersionReq; 51 52 #define sz_xPanoramiXQueryVersionReq 8 53 54 typedef struct { 55 CARD8 type; /* must be X_Reply */ 56 CARD8 pad1; /* unused */ 57 CARD16 sequenceNumber B16; /* last sequence number */ 58 CARD32 length B32; /* 0 */ 59 CARD16 majorVersion B16; 60 CARD16 minorVersion B16; 61 CARD32 pad2 B32; /* unused */ 62 CARD32 pad3 B32; /* unused */ 63 CARD32 pad4 B32; /* unused */ 64 CARD32 pad5 B32; /* unused */ 65 CARD32 pad6 B32; /* unused */ 66 } xPanoramiXQueryVersionReply; 67 68 #define sz_xPanoramiXQueryVersionReply 32 69 70 71 typedef struct _PanoramiXGetState { 72 CARD8 reqType; /* always PanoramiXReqCode */ 73 CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ 74 CARD16 length B16; 75 CARD32 window B32; 76 } xPanoramiXGetStateReq; 77 #define sz_xPanoramiXGetStateReq 8 78 79 typedef struct { 80 BYTE type; 81 BYTE state; 82 CARD16 sequenceNumber B16; 83 CARD32 length B32; 84 CARD32 window B32; 85 CARD32 pad1 B32; /* unused */ 86 CARD32 pad2 B32; /* unused */ 87 CARD32 pad3 B32; /* unused */ 88 CARD32 pad4 B32; /* unused */ 89 CARD32 pad5 B32; /* unused */ 90 } xPanoramiXGetStateReply; 91 92 #define sz_panoramiXGetStateReply 32 93 94 typedef struct _PanoramiXGetScreenCount { 95 CARD8 reqType; /* always PanoramiXReqCode */ 96 CARD8 panoramiXReqType; /* always X_PanoramiXGetScreenCount */ 97 CARD16 length B16; 98 CARD32 window B32; 99 } xPanoramiXGetScreenCountReq; 100 #define sz_xPanoramiXGetScreenCountReq 8 101 102 typedef struct { 103 BYTE type; 104 BYTE ScreenCount; 105 CARD16 sequenceNumber B16; 106 CARD32 length B32; 107 CARD32 window B32; 108 CARD32 pad1 B32; /* unused */ 109 CARD32 pad2 B32; /* unused */ 110 CARD32 pad3 B32; /* unused */ 111 CARD32 pad4 B32; /* unused */ 112 CARD32 pad5 B32; /* unused */ 113 } xPanoramiXGetScreenCountReply; 114 #define sz_panoramiXGetScreenCountReply 32 115 116 typedef struct _PanoramiXGetScreenSize { 117 CARD8 reqType; /* always PanoramiXReqCode */ 118 CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ 119 CARD16 length B16; 120 CARD32 window B32; 121 CARD32 screen B32; 122 } xPanoramiXGetScreenSizeReq; 123 #define sz_xPanoramiXGetScreenSizeReq 12 124 125 typedef struct { 126 BYTE type; 127 CARD8 pad1; 128 CARD16 sequenceNumber B16; 129 CARD32 length B32; 130 CARD32 width B32; 131 CARD32 height B32; 132 CARD32 window B32; 133 CARD32 screen B32; 134 CARD32 pad2 B32; /* unused */ 135 CARD32 pad3 B32; /* unused */ 136 } xPanoramiXGetScreenSizeReply; 137 #define sz_panoramiXGetScreenSizeReply 32 138 139 /************ Alternate protocol ******************/ 140 141 typedef struct { 142 CARD8 reqType; 143 CARD8 panoramiXReqType; 144 CARD16 length B16; 145 } xXineramaIsActiveReq; 146 #define sz_xXineramaIsActiveReq 4 147 148 typedef struct { 149 BYTE type; 150 CARD8 pad1; 151 CARD16 sequenceNumber B16; 152 CARD32 length B32; 153 CARD32 state B32; 154 CARD32 pad2 B32; 155 CARD32 pad3 B32; 156 CARD32 pad4 B32; 157 CARD32 pad5 B32; 158 CARD32 pad6 B32; 159 } xXineramaIsActiveReply; 160 #define sz_XineramaIsActiveReply 32 161 162 163 typedef struct { 164 CARD8 reqType; 165 CARD8 panoramiXReqType; 166 CARD16 length B16; 167 } xXineramaQueryScreensReq; 168 #define sz_xXineramaQueryScreensReq 4 169 170 typedef struct { 171 BYTE type; 172 CARD8 pad1; 173 CARD16 sequenceNumber B16; 174 CARD32 length B32; 175 CARD32 number B32; 176 CARD32 pad2 B32; 177 CARD32 pad3 B32; 178 CARD32 pad4 B32; 179 CARD32 pad5 B32; 180 CARD32 pad6 B32; 181 } xXineramaQueryScreensReply; 182 #define sz_XineramaQueryScreensReply 32 183 184 typedef struct { 185 INT16 x_org B16; 186 INT16 y_org B16; 187 CARD16 width B16; 188 CARD16 height B16; 189 } xXineramaScreenInfo; 190 #define sz_XineramaScreenInfo 8 191 192 #endif 193