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