19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* $Xorg: panoramiXproto.h,v 1.4 2000/08/18 04:05:45 coskrey Exp $ */ 29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/***************************************************************** 39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallCopyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. 49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPermission is hereby granted, free of charge, to any person obtaining a copy 59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallof this software and associated documentation files (the "Software"), to deal 69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallin the Software without restriction, including without limitation the rights 79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallto use, copy, modify, merge, publish, distribute, sublicense, and/or sell 89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallcopies of the Software. 99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThe above copyright notice and this permission notice shall be included in 119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallall copies or substantial portions of the Software. 129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallDIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, 179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallBUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, 189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallExcept as contained in this notice, the name of Digital Equipment Corporation 229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallshall not be used in advertising or otherwise to promote the sale, use or other 239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halldealings in this Software without prior written authorization from Digital 249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallEquipment Corporation. 259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall******************************************************************/ 269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* $XFree86: xc/include/extensions/panoramiXproto.h,v 3.6 2001/01/17 17:53:22 dawes Exp $ */ 279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */ 299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifndef _PANORAMIXPROTO_H_ 319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define _PANORAMIXPROTO_H_ 329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define PANORAMIX_PROTOCOL_NAME "XINERAMA" 349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define X_PanoramiXQueryVersion 0 369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define X_PanoramiXGetState 1 379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define X_PanoramiXGetScreenCount 2 389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define X_PanoramiXGetScreenSize 3 399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define X_XineramaIsActive 4 419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define X_XineramaQueryScreens 5 429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _PanoramiXQueryVersion { 449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 reqType; /* always PanoramiXReqCode */ 459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 panoramiXReqType; /* always X_PanoramiXQueryVersion */ 469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 length B16; 479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 clientMajor; 489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 clientMinor; 499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 unused B16; 509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXQueryVersionReq; 519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xPanoramiXQueryVersionReq 8 539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 type; /* must be X_Reply */ 569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 pad1; /* unused */ 579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 sequenceNumber B16; /* last sequence number */ 589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 length B32; /* 0 */ 599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 majorVersion B16; 609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 minorVersion B16; 619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad2 B32; /* unused */ 629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad3 B32; /* unused */ 639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad4 B32; /* unused */ 649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad5 B32; /* unused */ 659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad6 B32; /* unused */ 669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXQueryVersionReply; 679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xPanoramiXQueryVersionReply 32 699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _PanoramiXGetState { 729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 reqType; /* always PanoramiXReqCode */ 739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ 749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 length B16; 759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 window B32; 769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXGetStateReq; 779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xPanoramiXGetStateReq 8 789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE type; 819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE state; 829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 sequenceNumber B16; 839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 length B32; 849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 window B32; 859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad1 B32; /* unused */ 869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad2 B32; /* unused */ 879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad3 B32; /* unused */ 889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad4 B32; /* unused */ 899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad5 B32; /* unused */ 909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXGetStateReply; 919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_panoramiXGetStateReply 32 939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _PanoramiXGetScreenCount { 959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 reqType; /* always PanoramiXReqCode */ 969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 panoramiXReqType; /* always X_PanoramiXGetScreenCount */ 979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 length B16; 989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 window B32; 999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXGetScreenCountReq; 1009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xPanoramiXGetScreenCountReq 8 1019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE type; 1049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE ScreenCount; 1059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 sequenceNumber B16; 1069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 length B32; 1079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 window B32; 1089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad1 B32; /* unused */ 1099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad2 B32; /* unused */ 1109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad3 B32; /* unused */ 1119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad4 B32; /* unused */ 1129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad5 B32; /* unused */ 1139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXGetScreenCountReply; 1149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_panoramiXGetScreenCountReply 32 1159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _PanoramiXGetScreenSize { 1179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 reqType; /* always PanoramiXReqCode */ 1189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 panoramiXReqType; /* always X_PanoramiXGetState */ 1199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 length B16; 1209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 window B32; 1219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 screen B32; 1229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXGetScreenSizeReq; 1239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xPanoramiXGetScreenSizeReq 12 1249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE type; 1279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 pad1; 1289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 sequenceNumber B16; 1299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 length B32; 1309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 width B32; 1319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 height B32; 1329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 window B32; 1339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 screen B32; 1349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad2 B32; /* unused */ 1359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad3 B32; /* unused */ 1369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xPanoramiXGetScreenSizeReply; 1379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_panoramiXGetScreenSizeReply 32 1389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/************ Alternate protocol ******************/ 1409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 reqType; 1439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 panoramiXReqType; 1449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 length B16; 1459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXineramaIsActiveReq; 1469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXineramaIsActiveReq 4 1479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE type; 1509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 pad1; 1519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 sequenceNumber B16; 1529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 length B32; 1539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 state B32; 1549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad2 B32; 1559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad3 B32; 1569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad4 B32; 1579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad5 B32; 1589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad6 B32; 1599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXineramaIsActiveReply; 1609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_XineramaIsActiveReply 32 1619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 reqType; 1659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 panoramiXReqType; 1669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 length B16; 1679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXineramaQueryScreensReq; 1689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXineramaQueryScreensReq 4 1699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall BYTE type; 1729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD8 pad1; 1739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 sequenceNumber B16; 1749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 length B32; 1759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 number B32; 1769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad2 B32; 1779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad3 B32; 1789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad4 B32; 1799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad5 B32; 1809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD32 pad6 B32; 1819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXineramaQueryScreensReply; 1829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_XineramaQueryScreensReply 32 1839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct { 1859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall INT16 x_org B16; 1869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall INT16 y_org B16; 1879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 width B16; 1889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall CARD16 height B16; 1899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXineramaScreenInfo; 1909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_XineramaScreenInfo 8 1919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 1929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif 193