1/*
2
3Copyright (c) 1995  Jon Tombs
4Copyright (c) 1995  XFree86 Inc.
5
6*/
7
8#ifndef _XF86DGAPROTO1_H_
9#define _XF86DGAPROTO1_H_
10
11#include <X11/extensions/xf86dga1const.h>
12
13typedef struct _XF86DGAQueryVersion {
14    CARD8	reqType;		/* always DGAReqCode */
15    CARD8	dgaReqType;		/* always X_DGAQueryVersion */
16    CARD16	length;
17} xXF86DGAQueryVersionReq;
18#define sz_xXF86DGAQueryVersionReq	4
19
20typedef struct {
21    BYTE	type;			/* X_Reply */
22    BOOL	pad1;
23    CARD16	sequenceNumber;
24    CARD32	length;
25    CARD16	majorVersion;		/* major version of DGA protocol */
26    CARD16	minorVersion;		/* minor version of DGA protocol */
27    CARD32	pad2;
28    CARD32	pad3;
29    CARD32	pad4;
30    CARD32	pad5;
31    CARD32	pad6;
32} xXF86DGAQueryVersionReply;
33#define sz_xXF86DGAQueryVersionReply	32
34
35typedef struct _XF86DGAGetVideoLL {
36    CARD8	reqType;		/* always DGAReqCode */
37    CARD8	dgaReqType;		/* always X_XF86DGAGetVideoLL */
38    CARD16	length;
39    CARD16	screen;
40    CARD16	pad;
41} xXF86DGAGetVideoLLReq;
42#define sz_xXF86DGAGetVideoLLReq	8
43
44typedef struct _XF86DGAInstallColormap{
45    CARD8	reqType;
46    CARD8	dgaReqType;
47    CARD16	length;
48    CARD16	screen;
49    CARD16	pad2;
50    CARD32	id;  /* colormap. */
51} xXF86DGAInstallColormapReq;
52#define sz_xXF86DGAInstallColormapReq        12
53
54
55typedef struct {
56    BYTE	type;
57    BOOL	pad1;
58    CARD16	sequenceNumber;
59    CARD32	length;
60    CARD32	offset;
61    CARD32	width;
62    CARD32	bank_size;
63    CARD32	ram_size;
64    CARD32	pad4;
65    CARD32	pad5;
66} xXF86DGAGetVideoLLReply;
67#define sz_xXF86DGAGetVideoLLReply	32
68
69typedef struct _XF86DGADirectVideo {
70    CARD8	reqType;		/* always DGAReqCode */
71    CARD8	dgaReqType;		/* always X_XF86DGADirectVideo */
72    CARD16	length;
73    CARD16	screen;
74    CARD16	enable;
75} xXF86DGADirectVideoReq;
76#define sz_xXF86DGADirectVideoReq	8
77
78
79typedef struct _XF86DGAGetViewPortSize {
80    CARD8	reqType;		/* always DGAReqCode */
81    CARD8	dgaReqType;		/* always X_XF86DGAGetViewPort */
82    CARD16	length;
83    CARD16	screen;
84    CARD16	pad;
85} xXF86DGAGetViewPortSizeReq;
86#define sz_xXF86DGAGetViewPortSizeReq	8
87
88typedef struct {
89    BYTE	type;
90    BOOL	pad1;
91    CARD16	sequenceNumber;
92    CARD32	length;
93    CARD32	width;
94    CARD32	height;
95    CARD32	pad2;
96    CARD32	pad3;
97    CARD32	pad4;
98    CARD32	pad5;
99} xXF86DGAGetViewPortSizeReply;
100#define sz_xXF86DGAGetViewPortSizeReply	32
101
102typedef struct _XF86DGASetViewPort {
103    CARD8	reqType;		/* always DGAReqCode */
104    CARD8	dgaReqType;		/* always X_XF86DGASetViewPort */
105    CARD16	length;
106    CARD16	screen;
107    CARD16	pad;
108    CARD32	x;
109    CARD32	y;
110} xXF86DGASetViewPortReq;
111#define sz_xXF86DGASetViewPortReq	16
112
113typedef struct _XF86DGAGetVidPage {
114    CARD8	reqType;		/* always DGAReqCode */
115    CARD8	dgaReqType;		/* always X_XF86DGAGetVidPage */
116    CARD16	length;
117    CARD16	screen;
118    CARD16	pad;
119} xXF86DGAGetVidPageReq;
120#define sz_xXF86DGAGetVidPageReq	8
121
122typedef struct {
123    BYTE	type;
124    BOOL	pad1;
125    CARD16	sequenceNumber;
126    CARD32	length;
127    CARD32	vpage;
128    CARD32	pad;
129    CARD32	pad2;
130    CARD32	pad3;
131    CARD32	pad4;
132    CARD32	pad5;
133} xXF86DGAGetVidPageReply;
134#define sz_xXF86DGAGetVidPageReply	32
135
136
137typedef struct _XF86DGASetVidPage {
138    CARD8	reqType;		/* always DGAReqCode */
139    CARD8	dgaReqType;		/* always X_XF86DGASetVidPage */
140    CARD16	length;
141    CARD16	screen;
142    CARD16	vpage;
143} xXF86DGASetVidPageReq;
144#define sz_xXF86DGASetVidPageReq	8
145
146
147typedef struct _XF86DGAQueryDirectVideo {
148    CARD8	reqType;		/* always DGAReqCode */
149    CARD8	dgaReqType;		/* always X_DGAQueryVersion */
150    CARD16	length;
151    CARD16	screen;
152    CARD16	pad;
153} xXF86DGAQueryDirectVideoReq;
154#define sz_xXF86DGAQueryDirectVideoReq	8
155
156typedef struct {
157    BYTE	type;
158    BOOL	pad1;
159    CARD16	sequenceNumber;
160    CARD32	length;
161    CARD32	flags;
162    CARD32	pad;
163    CARD32	pad2;
164    CARD32	pad3;
165    CARD32	pad4;
166    CARD32	pad5;
167} xXF86DGAQueryDirectVideoReply;
168#define sz_xXF86DGAQueryDirectVideoReply 32
169
170
171typedef struct _XF86DGAViewPortChanged {
172    CARD8	reqType;		/* always DGAReqCode */
173    CARD8	dgaReqType;		/* always X_DGAQueryVersion */
174    CARD16	length;
175    CARD16	screen;
176    CARD16	n;
177} xXF86DGAViewPortChangedReq;
178#define sz_xXF86DGAViewPortChangedReq	8
179
180typedef struct {
181    BYTE	type;
182    BOOL	pad1;
183    CARD16	sequenceNumber;
184    CARD32	length;
185    CARD32	result;
186    CARD32	pad;
187    CARD32	pad2;
188    CARD32	pad3;
189    CARD32	pad4;
190    CARD32	pad5;
191} xXF86DGAViewPortChangedReply;
192#define sz_xXF86DGAViewPortChangedReply 32
193
194#endif /* _XF86DGAPROTO1_H_ */
195
196