• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
345