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