VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/XFree86-4.3/X11/extensions/Xdbeproto.h@ 99743

Last change on this file since 99743 was 69098, checked in by vboxsync, 7 years ago

Clean up XFree86 driver header files.
bugref:3810: X11 Guest Additions maintenance
Over the years we have cleaned up the layout in the tree of the X.Org
header files we use to build drivers. The XFree86 ones were still in their
original, rather sub-optimal layout. This change fixes that.

  • Property svn:eol-style set to native
File size: 8.6 KB
Line 
1/* $Xorg: Xdbeproto.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
2/******************************************************************************
3 *
4 * Copyright (c) 1994, 1995 Hewlett-Packard Company
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining
7 * a copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sublicense, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
21 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
22 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
23 * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 *
25 * Except as contained in this notice, the name of the Hewlett-Packard
26 * Company shall not be used in advertising or otherwise to promote the
27 * sale, use or other dealings in this Software without prior written
28 * authorization from the Hewlett-Packard Company.
29 *
30 * Header file for Xlib-related DBE
31 *
32 *****************************************************************************/
33
34
35#ifndef XDBE_PROTO_H
36#define XDBE_PROTO_H
37
38/* INCLUDES */
39
40
41/* DEFINES */
42
43/* Values for swap_action field of XdbeSwapInfo structure */
44#define XdbeUndefined 0
45#define XdbeBackground 1
46#define XdbeUntouched 2
47#define XdbeCopied 3
48
49#ifdef NEED_DBE_PROTOCOL
50
51#define DBE_PROTOCOL_NAME "DOUBLE-BUFFER"
52
53/* Current version numbers */
54#define DBE_MAJOR_VERSION 1
55#define DBE_MINOR_VERSION 0
56
57/* Used when adding extension; also used in Xdbe macros */
58#define DbeNumberEvents 0
59#define DbeBadBuffer 0
60#define DbeNumberErrors (DbeBadBuffer + 1)
61
62/* Request values used in (S)ProcDbeDispatch() */
63#define X_DbeGetVersion 0
64#define X_DbeAllocateBackBufferName 1
65#define X_DbeDeallocateBackBufferName 2
66#define X_DbeSwapBuffers 3
67#define X_DbeBeginIdiom 4
68#define X_DbeEndIdiom 5
69#define X_DbeGetVisualInfo 6
70#define X_DbeGetBackBufferAttributes 7
71
72typedef CARD8 xDbeSwapAction;
73typedef CARD32 xDbeBackBuffer;
74
75#endif /* NEED_DBE_PROTOCOL */
76
77
78/* TYPEDEFS */
79
80/* Client data types */
81
82/* XdbeVisualInfo and XdbeScreenVisualInfo are defined in this file,
83 * "Xdbeproto.h", rather than "Xdbe.h" because the server uses these data
84 * types.
85 */
86
87typedef struct
88{
89 VisualID visual; /* one visual ID that supports double-buffering */
90 int depth; /* depth of visual in bits */
91 int perflevel; /* performance level of visual */
92}
93XdbeVisualInfo;
94
95typedef struct
96{
97 int count; /* number of items in visual_depth */
98 XdbeVisualInfo *visinfo; /* list of visuals & depths for scrn */
99}
100XdbeScreenVisualInfo;
101
102/* Protocol data types */
103
104#ifdef NEED_DBE_PROTOCOL
105
106typedef struct
107{
108 CARD32 window B32; /* window */
109 xDbeSwapAction swapAction; /* swap action */
110 CARD8 pad1; /* unused */
111 CARD16 pad2 B16;
112
113} xDbeSwapInfo;
114
115typedef struct
116{
117 CARD32 visualID B32; /* associated visual */
118 CARD8 depth; /* depth of visual */
119 CARD8 perfLevel; /* performance level hint */
120 CARD16 pad1 B16;
121
122} xDbeVisInfo;
123#define sz_xDbeVisInfo 8
124
125typedef struct
126{
127 CARD32 n B32; /* number of visual info items in list */
128
129} xDbeScreenVisInfo; /* followed by n xDbeVisInfo items */
130
131typedef struct
132{
133 CARD32 window B32; /* window */
134
135} xDbeBufferAttributes;
136
137
138/* Requests and replies */
139
140typedef struct
141{
142 CARD8 reqType; /* major-opcode: always codes->major_opcode */
143 CARD8 dbeReqType; /* minor-opcode: always X_DbeGetVersion (0) */
144 CARD16 length B16; /* request length: (2) */
145 CARD8 majorVersion; /* client-major-version */
146 CARD8 minorVersion; /* client-minor-version */
147 CARD16 unused B16; /* unused */
148
149} xDbeGetVersionReq;
150#define sz_xDbeGetVersionReq 8
151
152typedef struct
153{
154 BYTE type; /* Reply: X_Reply (1) */
155 CARD8 unused; /* unused */
156 CARD16 sequenceNumber B16; /* sequence number */
157 CARD32 length B32; /* reply length: (0) */
158 CARD8 majorVersion; /* server-major-version */
159 CARD8 minorVersion; /* server-minor-version */
160 CARD16 pad1 B16; /* unused */
161 CARD32 pad2 B32;
162 CARD32 pad3 B32;
163 CARD32 pad4 B32;
164 CARD32 pad5 B32;
165 CARD32 pad6 B32;
166
167} xDbeGetVersionReply;
168#define sz_xDbeGetVersionReply 32
169
170typedef struct
171{
172 CARD8 reqType; /* major-opcode: codes->major_opcode */
173 CARD8 dbeReqType; /* X_DbeAllocateBackBufferName (1) */
174 CARD16 length B16; /* request length: (4) */
175 CARD32 window B32; /* window */
176 xDbeBackBuffer buffer B32; /* back buffer name */
177 xDbeSwapAction swapAction; /* swap action hint */
178 CARD8 pad1; /* unused */
179 CARD16 pad2 B16;
180
181} xDbeAllocateBackBufferNameReq;
182#define sz_xDbeAllocateBackBufferNameReq 16
183
184typedef struct
185{
186 CARD8 reqType; /* major-opcode: codes->major_opcode */
187 CARD8 dbeReqType; /* X_DbeDeallocateBackBufferName (2) */
188 CARD16 length B16; /* request length: (2) */
189 xDbeBackBuffer buffer B32; /* back buffer name */
190
191} xDbeDeallocateBackBufferNameReq;
192#define sz_xDbeDeallocateBackBufferNameReq 8
193
194typedef struct
195{
196 CARD8 reqType; /* major-opcode: always codes->major_opcode */
197 CARD8 dbeReqType; /* minor-opcode: always X_DbeSwapBuffers (3) */
198 CARD16 length B16; /* request length: (2+2n) */
199 CARD32 n B32; /* n, number of window/swap action pairs */
200
201} xDbeSwapBuffersReq; /* followed by n window/swap action pairs */
202#define sz_xDbeSwapBuffersReq 8
203
204typedef struct
205{
206 CARD8 reqType; /* major-opcode: always codes->major_opcode */
207 CARD8 dbeReqType; /* minor-opcode: always X_DbeBeginIdom (4) */
208 CARD16 length B16; /* request length: (1) */
209
210} xDbeBeginIdiomReq;
211#define sz_xDbeBeginIdiomReq 4
212
213typedef struct
214{
215 CARD8 reqType; /* major-opcode: always codes->major_opcode */
216 CARD8 dbeReqType; /* minor-opcode: always X_DbeEndIdom (5) */
217 CARD16 length B16; /* request length: (1) */
218
219} xDbeEndIdiomReq;
220#define sz_xDbeEndIdiomReq 4
221
222typedef struct
223{
224 CARD8 reqType; /* always codes->major_opcode */
225 CARD8 dbeReqType; /* always X_DbeGetVisualInfo (6) */
226 CARD16 length B16; /* request length: (2+n) */
227 CARD32 n B32; /* n, number of drawables in list */
228
229} xDbeGetVisualInfoReq; /* followed by n drawables */
230#define sz_xDbeGetVisualInfoReq 8
231
232typedef struct
233{
234 BYTE type; /* Reply: X_Reply (1) */
235 CARD8 unused; /* unused */
236 CARD16 sequenceNumber B16; /* sequence number */
237 CARD32 length B32; /* reply length */
238 CARD32 m; /* m, number of visual infos in list */
239 CARD32 pad1 B32; /* unused */
240 CARD32 pad2 B32;
241 CARD32 pad3 B32;
242 CARD32 pad4 B32;
243 CARD32 pad5 B32;
244
245} xDbeGetVisualInfoReply; /* followed by m visual infos */
246#define sz_xDbeGetVisualInfoReply 32
247
248typedef struct
249{
250 CARD8 reqType; /* always codes->major_opcode */
251 CARD8 dbeReqType; /* X_DbeGetBackBufferAttributes (7) */
252 CARD16 length B16; /* request length: (2) */
253 xDbeBackBuffer buffer B32; /* back buffer name */
254
255} xDbeGetBackBufferAttributesReq;
256#define sz_xDbeGetBackBufferAttributesReq 8
257
258typedef struct
259{
260 BYTE type; /* Reply: X_Reply (1) */
261 CARD8 unused; /* unused */
262 CARD16 sequenceNumber B16; /* sequence number */
263 CARD32 length B32; /* reply length: (0) */
264 CARD32 attributes; /* attributes */
265 CARD32 pad1 B32; /* unused */
266 CARD32 pad2 B32;
267 CARD32 pad3 B32;
268 CARD32 pad4 B32;
269 CARD32 pad5 B32;
270
271} xDbeGetBackBufferAttributesReply;
272#define sz_xDbeGetBackBufferAttributesReply 32
273
274#endif /* NEED_DBE_PROTOCOL */
275
276#endif /* XDBE_PROTO_H */
277
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette