SDL-1.2.14
[sdl_omap.git] / src / video / Xext / extensions / panoramiXproto.h
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