upload tizen2.0 source
[framework/uifw/xorg/proto/x11proto-xf86dga.git] / xf86dgaproto.h
1 /*
2
3 Copyright (c) 1995  Jon Tombs
4 Copyright (c) 1995  XFree86 Inc.
5
6 */
7
8 #ifndef _XF86DGAPROTO_H_
9 #define _XF86DGAPROTO_H_
10
11 #include <X11/extensions/xf86dga1proto.h>
12 #include <X11/extensions/xf86dgaconst.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 /* _XF86DGAPROTO_H_ */
344