e14743d1 |
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 |