19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/* $XFree86: xc/include/extensions/xf86dgastr.h,v 3.14 2001/08/01 00:44:36 tsi Exp $ */
29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall/*
39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallCopyright (c) 1995  Jon Tombs
59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallCopyright (c) 1995  XFree86 Inc.
69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall*/
89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#ifndef _XF86DGASTR_H_
109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define _XF86DGASTR_H_
119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "xf86dga1str.h"
139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define XF86DGANAME "XFree86-DGA"
159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define XDGA_MAJOR_VERSION	2	/* current version numbers */
179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define XDGA_MINOR_VERSION	0
189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGAQueryVersion {
219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;		/* always DGAReqCode */
229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;		/* always X_DGAQueryVersion */
239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAQueryVersionReq;
259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAQueryVersionReq		4
269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;			/* X_Reply */
299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;
329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	majorVersion B16;	/* major version of DGA protocol */
339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	minorVersion B16;	/* minor version of DGA protocol */
349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad2 B32;
359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad3 B32;
369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad4 B32;
379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad5 B32;
389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad6 B32;
399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAQueryVersionReply;
409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAQueryVersionReply	32
419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGAQueryModes {
439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAQueryModesReq;
489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAQueryModesReq		8
499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;			/* X_Reply */
529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;
559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	number B32;		/* number of modes available */
569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad2 B32;
579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad3 B32;
589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad4 B32;
599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad5 B32;
609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad6 B32;
619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAQueryModesReply;
629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAQueryModesReply	32
639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGASetMode {
669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	mode B32;		/* mode number to init */
719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pid B32;		/* Pixmap descriptor */
729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASetModeReq;
739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASetModeReq		16
749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;			/* X_Reply */
779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;
809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	offset B32;		/* offset into framebuffer map */
819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	flags B32;
829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad2 B32;
839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad3 B32;
849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad4 B32;
859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad5 B32;
869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASetModeReply;
879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASetModeReply	32
889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD8	byte_order;
919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD8	depth;
929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16 	num B16;
939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	bpp B16;
949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	name_size B16;
959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	vsync_num B32;
969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	vsync_den B32;
979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	flags B32;
989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	image_width B16;
999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	image_height B16;
1009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	pixmap_width B16;
1019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	pixmap_height B16;
1029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	bytes_per_scanline B32;
1039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	red_mask B32;
1049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	green_mask B32;
1059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	blue_mask B32;
1069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	visual_class B16;
1079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	pad1 B16;
1089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	viewport_width B16;
1099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	viewport_height B16;
1109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	viewport_xstep B16;
1119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	viewport_ystep B16;
1129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	viewport_xmax B16;
1139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD16	viewport_ymax B16;
1149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	viewport_flags B32;
1159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	reserved1 B32;
1169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CARD32	reserved2 B32;
1179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAModeInfo;
1189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAModeInfo 72
1199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGAOpenFramebuffer {
1219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
1249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
1259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAOpenFramebufferReq;
1269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAOpenFramebufferReq	8
1279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
1299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;			/* X_Reply */
1309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
1319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
1329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;		/* device name size if there is one */
1339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	mem1 B32;		/* physical memory */
1349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	mem2 B32;		/* spillover for _alpha_ */
1359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	size B32;		/* size of map in bytes */
1369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	offset B32;		/* optional offset into device */
1379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	extra B32;		/* extra info associated with the map */
1389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad2 B32;
1399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAOpenFramebufferReply;
1409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAOpenFramebufferReply	32
1419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGACloseFramebuffer {
1449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
1479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
1489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGACloseFramebufferReq;
1499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGACloseFramebufferReq	8
1509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGASetViewport {
1539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
1569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
1579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	x B16;
1589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	y B16;
1599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	flags B32;
1609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASetViewportReq;
1619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASetViewportReq	16
1629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGAInstallColormap {
1659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
1689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
1699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	cmap B32;
1709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAInstallColormapReq;
1719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAInstallColormapReq	12
1729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGASelectInput {
1749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
1779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
1789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	mask B32;
1799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASelectInputReq;
1809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASelectInputReq	12
1819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGAFillRectangle {
1839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
1869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
1879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	x B16;
1889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	y B16;
1899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	width B16;
1909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	height B16;
1919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	color B32;
1929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAFillRectangleReq;
1939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAFillRectangleReq	20
1949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGACopyArea {
1979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
1989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
1999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
2009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
2019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	srcx B16;
2029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	srcy B16;
2039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	width B16;
2049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	height B16;
2059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	dstx B16;
2069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	dsty B16;
2079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGACopyAreaReq;
2089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGACopyAreaReq	20
2099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGACopyTransparentArea {
2119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
2129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
2139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
2149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
2159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	srcx B16;
2169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	srcy B16;
2179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	width B16;
2189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	height B16;
2199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	dstx B16;
2209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	dsty B16;
2219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	key B32;
2229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGACopyTransparentAreaReq;
2239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGACopyTransparentAreaReq	24
2249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGAGetViewportStatus {
2279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
2289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
2299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
2309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
2319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAGetViewportStatusReq;
2329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAGetViewportStatusReq	8
2339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
2359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;
2369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
2379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
2389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;
2399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	status B32;
2409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad2 B32;
2419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad3 B32;
2429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad4 B32;
2439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad5 B32;
2449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad6 B32;
2459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAGetViewportStatusReply;
2469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAGetViewportStatusReply	32
2479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGASync {
2499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
2509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
2519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
2529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
2539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASyncReq;
2549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASyncReq	8
2559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
2579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;
2589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
2599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
2609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;
2619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad2 B32;
2629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad3 B32;
2639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad4 B32;
2649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad5 B32;
2659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad6 B32;
2669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad7 B32;
2679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASyncReply;
2689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASyncReply	32
2699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGASetClientVersion {
2719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
2729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
2739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
2749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	major B16;
2759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	minor B16;
2769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGASetClientVersionReq;
2779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGASetClientVersionReq	8
2789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
2819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
2829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
2839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
2849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
2859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	x B16;
2869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	y B16;
2879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	flags B32;
2889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAChangePixmapModeReq;
2899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAChangePixmapModeReq	16
2909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
2929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BYTE	type;
2939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    BOOL	pad1;
2949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	sequenceNumber B16;
2959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	length B32;
2969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	x B16;
2979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	y B16;
2989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad3 B32;
2999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad4 B32;
3009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad5 B32;
3019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad6 B32;
3029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	pad7 B32;
3039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGAChangePixmapModeReply;
3049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGAChangePixmapModeReply	32
3059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
3069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct _XDGACreateColormap {
3079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	reqType;
3089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	dgaReqType;
3099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	length B16;
3109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	screen B32;
3119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	id B32;
3129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD32	mode B32;
3139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	alloc;
3149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD8	pad1;
3159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    CARD16	pad2;
3169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} xXDGACreateColormapReq;
3179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#define sz_xXDGACreateColormapReq	20
3189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
3199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
3209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltypedef struct {
3219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  union {
3229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    struct {
3239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      BYTE type;
3249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      BYTE detail;
3259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD16 sequenceNumber B16;
3269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    } u;
3279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    struct {
3289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD32 pad0 B32;
3299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD32 time B32;
3309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      INT16 dx B16;
3319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      INT16 dy B16;
3329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      INT16 screen B16;
3339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD16 state B16;
3349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD32 pad1 B32;
3359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD32 pad2 B32;
3369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD32 pad3 B32;
3379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall      CARD32 pad4 B32;
3389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    } event;
3399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  } u;
3409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall} dgaEvent;
3419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
3429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
3439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#endif /* _XF86DGASTR_H_ */
3449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
345