e14743d1 |
1 | /* $XFree86: xc/include/extensions/xf86dgastr.h,v 3.14 2001/08/01 00:44:36 tsi Exp $ */ |
2 | /* |
3 | |
4 | Copyright (c) 1995 Jon Tombs |
5 | Copyright (c) 1995 XFree86 Inc. |
6 | |
7 | */ |
8 | |
9 | #ifndef _XF86DGASTR_H_ |
10 | #define _XF86DGASTR_H_ |
11 | |
12 | #include "xf86dga1str.h" |
13 | |
14 | #define XF86DGANAME "XFree86-DGA" |
15 | |
16 | #define XDGA_MAJOR_VERSION 2 /* current version numbers */ |
17 | #define XDGA_MINOR_VERSION 0 |
18 | |
19 | |
20 | typedef struct _XDGAQueryVersion { |
21 | CARD8 reqType; /* always DGAReqCode */ |
22 | CARD8 dgaReqType; /* always X_DGAQueryVersion */ |
23 | CARD16 length B16; |
24 | } xXDGAQueryVersionReq; |
25 | #define sz_xXDGAQueryVersionReq 4 |
26 | |
27 | typedef struct { |
28 | BYTE type; /* X_Reply */ |
29 | BOOL pad1; |
30 | CARD16 sequenceNumber B16; |
31 | CARD32 length B32; |
32 | CARD16 majorVersion B16; /* major version of DGA protocol */ |
33 | CARD16 minorVersion B16; /* minor version of DGA protocol */ |
34 | CARD32 pad2 B32; |
35 | CARD32 pad3 B32; |
36 | CARD32 pad4 B32; |
37 | CARD32 pad5 B32; |
38 | CARD32 pad6 B32; |
39 | } xXDGAQueryVersionReply; |
40 | #define sz_xXDGAQueryVersionReply 32 |
41 | |
42 | typedef struct _XDGAQueryModes { |
43 | CARD8 reqType; |
44 | CARD8 dgaReqType; |
45 | CARD16 length B16; |
46 | CARD32 screen B32; |
47 | } xXDGAQueryModesReq; |
48 | #define sz_xXDGAQueryModesReq 8 |
49 | |
50 | typedef struct { |
51 | BYTE type; /* X_Reply */ |
52 | BOOL pad1; |
53 | CARD16 sequenceNumber B16; |
54 | CARD32 length B32; |
55 | CARD32 number B32; /* number of modes available */ |
56 | CARD32 pad2 B32; |
57 | CARD32 pad3 B32; |
58 | CARD32 pad4 B32; |
59 | CARD32 pad5 B32; |
60 | CARD32 pad6 B32; |
61 | } xXDGAQueryModesReply; |
62 | #define sz_xXDGAQueryModesReply 32 |
63 | |
64 | |
65 | typedef struct _XDGASetMode { |
66 | CARD8 reqType; |
67 | CARD8 dgaReqType; |
68 | CARD16 length B16; |
69 | CARD32 screen B32; |
70 | CARD32 mode B32; /* mode number to init */ |
71 | CARD32 pid B32; /* Pixmap descriptor */ |
72 | } xXDGASetModeReq; |
73 | #define sz_xXDGASetModeReq 16 |
74 | |
75 | typedef struct { |
76 | BYTE type; /* X_Reply */ |
77 | BOOL pad1; |
78 | CARD16 sequenceNumber B16; |
79 | CARD32 length B32; |
80 | CARD32 offset B32; /* offset into framebuffer map */ |
81 | CARD32 flags B32; |
82 | CARD32 pad2 B32; |
83 | CARD32 pad3 B32; |
84 | CARD32 pad4 B32; |
85 | CARD32 pad5 B32; |
86 | } xXDGASetModeReply; |
87 | #define sz_xXDGASetModeReply 32 |
88 | |
89 | typedef struct { |
90 | CARD8 byte_order; |
91 | CARD8 depth; |
92 | CARD16 num B16; |
93 | CARD16 bpp B16; |
94 | CARD16 name_size B16; |
95 | CARD32 vsync_num B32; |
96 | CARD32 vsync_den B32; |
97 | CARD32 flags B32; |
98 | CARD16 image_width B16; |
99 | CARD16 image_height B16; |
100 | CARD16 pixmap_width B16; |
101 | CARD16 pixmap_height B16; |
102 | CARD32 bytes_per_scanline B32; |
103 | CARD32 red_mask B32; |
104 | CARD32 green_mask B32; |
105 | CARD32 blue_mask B32; |
106 | CARD16 visual_class B16; |
107 | CARD16 pad1 B16; |
108 | CARD16 viewport_width B16; |
109 | CARD16 viewport_height B16; |
110 | CARD16 viewport_xstep B16; |
111 | CARD16 viewport_ystep B16; |
112 | CARD16 viewport_xmax B16; |
113 | CARD16 viewport_ymax B16; |
114 | CARD32 viewport_flags B32; |
115 | CARD32 reserved1 B32; |
116 | CARD32 reserved2 B32; |
117 | } xXDGAModeInfo; |
118 | #define sz_xXDGAModeInfo 72 |
119 | |
120 | typedef struct _XDGAOpenFramebuffer { |
121 | CARD8 reqType; |
122 | CARD8 dgaReqType; |
123 | CARD16 length B16; |
124 | CARD32 screen B32; |
125 | } xXDGAOpenFramebufferReq; |
126 | #define sz_xXDGAOpenFramebufferReq 8 |
127 | |
128 | typedef struct { |
129 | BYTE type; /* X_Reply */ |
130 | BOOL pad1; |
131 | CARD16 sequenceNumber B16; |
132 | CARD32 length B32; /* device name size if there is one */ |
133 | CARD32 mem1 B32; /* physical memory */ |
134 | CARD32 mem2 B32; /* spillover for _alpha_ */ |
135 | CARD32 size B32; /* size of map in bytes */ |
136 | CARD32 offset B32; /* optional offset into device */ |
137 | CARD32 extra B32; /* extra info associated with the map */ |
138 | CARD32 pad2 B32; |
139 | } xXDGAOpenFramebufferReply; |
140 | #define sz_xXDGAOpenFramebufferReply 32 |
141 | |
142 | |
143 | typedef struct _XDGACloseFramebuffer { |
144 | CARD8 reqType; |
145 | CARD8 dgaReqType; |
146 | CARD16 length B16; |
147 | CARD32 screen B32; |
148 | } xXDGACloseFramebufferReq; |
149 | #define sz_xXDGACloseFramebufferReq 8 |
150 | |
151 | |
152 | typedef struct _XDGASetViewport { |
153 | CARD8 reqType; |
154 | CARD8 dgaReqType; |
155 | CARD16 length B16; |
156 | CARD32 screen B32; |
157 | CARD16 x B16; |
158 | CARD16 y B16; |
159 | CARD32 flags B32; |
160 | } xXDGASetViewportReq; |
161 | #define sz_xXDGASetViewportReq 16 |
162 | |
163 | |
164 | typedef struct _XDGAInstallColormap { |
165 | CARD8 reqType; |
166 | CARD8 dgaReqType; |
167 | CARD16 length B16; |
168 | CARD32 screen B32; |
169 | CARD32 cmap B32; |
170 | } xXDGAInstallColormapReq; |
171 | #define sz_xXDGAInstallColormapReq 12 |
172 | |
173 | typedef struct _XDGASelectInput { |
174 | CARD8 reqType; |
175 | CARD8 dgaReqType; |
176 | CARD16 length B16; |
177 | CARD32 screen B32; |
178 | CARD32 mask B32; |
179 | } xXDGASelectInputReq; |
180 | #define sz_xXDGASelectInputReq 12 |
181 | |
182 | typedef struct _XDGAFillRectangle { |
183 | CARD8 reqType; |
184 | CARD8 dgaReqType; |
185 | CARD16 length B16; |
186 | CARD32 screen B32; |
187 | CARD16 x B16; |
188 | CARD16 y B16; |
189 | CARD16 width B16; |
190 | CARD16 height B16; |
191 | CARD32 color B32; |
192 | } xXDGAFillRectangleReq; |
193 | #define sz_xXDGAFillRectangleReq 20 |
194 | |
195 | |
196 | typedef struct _XDGACopyArea { |
197 | CARD8 reqType; |
198 | CARD8 dgaReqType; |
199 | CARD16 length B16; |
200 | CARD32 screen B32; |
201 | CARD16 srcx B16; |
202 | CARD16 srcy B16; |
203 | CARD16 width B16; |
204 | CARD16 height B16; |
205 | CARD16 dstx B16; |
206 | CARD16 dsty B16; |
207 | } xXDGACopyAreaReq; |
208 | #define sz_xXDGACopyAreaReq 20 |
209 | |
210 | typedef struct _XDGACopyTransparentArea { |
211 | CARD8 reqType; |
212 | CARD8 dgaReqType; |
213 | CARD16 length B16; |
214 | CARD32 screen B32; |
215 | CARD16 srcx B16; |
216 | CARD16 srcy B16; |
217 | CARD16 width B16; |
218 | CARD16 height B16; |
219 | CARD16 dstx B16; |
220 | CARD16 dsty B16; |
221 | CARD32 key B32; |
222 | } xXDGACopyTransparentAreaReq; |
223 | #define sz_xXDGACopyTransparentAreaReq 24 |
224 | |
225 | |
226 | typedef struct _XDGAGetViewportStatus { |
227 | CARD8 reqType; |
228 | CARD8 dgaReqType; |
229 | CARD16 length B16; |
230 | CARD32 screen B32; |
231 | } xXDGAGetViewportStatusReq; |
232 | #define sz_xXDGAGetViewportStatusReq 8 |
233 | |
234 | typedef struct { |
235 | BYTE type; |
236 | BOOL pad1; |
237 | CARD16 sequenceNumber B16; |
238 | CARD32 length B32; |
239 | CARD32 status B32; |
240 | CARD32 pad2 B32; |
241 | CARD32 pad3 B32; |
242 | CARD32 pad4 B32; |
243 | CARD32 pad5 B32; |
244 | CARD32 pad6 B32; |
245 | } xXDGAGetViewportStatusReply; |
246 | #define sz_xXDGAGetViewportStatusReply 32 |
247 | |
248 | typedef struct _XDGASync { |
249 | CARD8 reqType; |
250 | CARD8 dgaReqType; |
251 | CARD16 length B16; |
252 | CARD32 screen B32; |
253 | } xXDGASyncReq; |
254 | #define sz_xXDGASyncReq 8 |
255 | |
256 | typedef struct { |
257 | BYTE type; |
258 | BOOL pad1; |
259 | CARD16 sequenceNumber B16; |
260 | CARD32 length B32; |
261 | CARD32 pad2 B32; |
262 | CARD32 pad3 B32; |
263 | CARD32 pad4 B32; |
264 | CARD32 pad5 B32; |
265 | CARD32 pad6 B32; |
266 | CARD32 pad7 B32; |
267 | } xXDGASyncReply; |
268 | #define sz_xXDGASyncReply 32 |
269 | |
270 | typedef struct _XDGASetClientVersion { |
271 | CARD8 reqType; |
272 | CARD8 dgaReqType; |
273 | CARD16 length B16; |
274 | CARD16 major B16; |
275 | CARD16 minor B16; |
276 | } xXDGASetClientVersionReq; |
277 | #define sz_xXDGASetClientVersionReq 8 |
278 | |
279 | |
280 | typedef struct { |
281 | CARD8 reqType; |
282 | CARD8 dgaReqType; |
283 | CARD16 length B16; |
284 | CARD32 screen B32; |
285 | CARD16 x B16; |
286 | CARD16 y B16; |
287 | CARD32 flags B32; |
288 | } xXDGAChangePixmapModeReq; |
289 | #define sz_xXDGAChangePixmapModeReq 16 |
290 | |
291 | typedef struct { |
292 | BYTE type; |
293 | BOOL pad1; |
294 | CARD16 sequenceNumber B16; |
295 | CARD32 length B32; |
296 | CARD16 x B16; |
297 | CARD16 y B16; |
298 | CARD32 pad3 B32; |
299 | CARD32 pad4 B32; |
300 | CARD32 pad5 B32; |
301 | CARD32 pad6 B32; |
302 | CARD32 pad7 B32; |
303 | } xXDGAChangePixmapModeReply; |
304 | #define sz_xXDGAChangePixmapModeReply 32 |
305 | |
306 | typedef struct _XDGACreateColormap { |
307 | CARD8 reqType; |
308 | CARD8 dgaReqType; |
309 | CARD16 length B16; |
310 | CARD32 screen B32; |
311 | CARD32 id B32; |
312 | CARD32 mode B32; |
313 | CARD8 alloc; |
314 | CARD8 pad1; |
315 | CARD16 pad2; |
316 | } xXDGACreateColormapReq; |
317 | #define sz_xXDGACreateColormapReq 20 |
318 | |
319 | |
320 | typedef struct { |
321 | union { |
322 | struct { |
323 | BYTE type; |
324 | BYTE detail; |
325 | CARD16 sequenceNumber B16; |
326 | } u; |
327 | struct { |
328 | CARD32 pad0 B32; |
329 | CARD32 time B32; |
330 | INT16 dx B16; |
331 | INT16 dy B16; |
332 | INT16 screen B16; |
333 | CARD16 state B16; |
334 | CARD32 pad1 B32; |
335 | CARD32 pad2 B32; |
336 | CARD32 pad3 B32; |
337 | CARD32 pad4 B32; |
338 | } event; |
339 | } u; |
340 | } dgaEvent; |
341 | |
342 | |
343 | #endif /* _XF86DGASTR_H_ */ |
344 | |