117ca54c3Smrg/* $XFree86: xc/include/extensions/xf86rushstr.h,v 1.4 2000/02/29 03:09:02 dawes Exp $ */
217ca54c3Smrg/*
317ca54c3Smrg
417ca54c3SmrgCopyright (c) 1998  Daryll Strauss
517ca54c3Smrg
617ca54c3Smrg*/
717ca54c3Smrg
817ca54c3Smrg#ifndef _XF86RUSHSTR_H_
917ca54c3Smrg#define _XF86RUSHSTR_H_
1017ca54c3Smrg
1117ca54c3Smrg#include <X11/extensions/xf86rush.h>
1217ca54c3Smrg
1317ca54c3Smrg#define XF86RUSHNAME "XFree86-Rush"
1417ca54c3Smrg
1517ca54c3Smrg#define XF86RUSH_MAJOR_VERSION	1	/* current version numbers */
1617ca54c3Smrg#define XF86RUSH_MINOR_VERSION	1
1717ca54c3Smrg
1817ca54c3Smrgtypedef struct _XF86RushQueryVersion {
1917ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
2017ca54c3Smrg    CARD8	rushReqType;		/* always X_RushQueryVersion */
21ea1d6981Smrg    CARD16	length;
2217ca54c3Smrg} xXF86RushQueryVersionReq;
2317ca54c3Smrg#define sz_xXF86RushQueryVersionReq	4
2417ca54c3Smrg
2517ca54c3Smrgtypedef struct {
2617ca54c3Smrg    BYTE	type;			/* X_Reply */
2717ca54c3Smrg    BOOL	pad1;
28ea1d6981Smrg    CARD16	sequenceNumber;
29ea1d6981Smrg    CARD32	length;
30ea1d6981Smrg    CARD16	majorVersion;		/* major version of Rush protocol */
31ea1d6981Smrg    CARD16	minorVersion;		/* minor version of Rush protocol */
32ea1d6981Smrg    CARD32	pad2;
33ea1d6981Smrg    CARD32	pad3;
34ea1d6981Smrg    CARD32	pad4;
35ea1d6981Smrg    CARD32	pad5;
36ea1d6981Smrg    CARD32	pad6;
3717ca54c3Smrg} xXF86RushQueryVersionReply;
3817ca54c3Smrg#define sz_xXF86RushQueryVersionReply	32
3917ca54c3Smrg
4017ca54c3Smrgtypedef struct _XF86RushLockPixmap {
4117ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
4217ca54c3Smrg    CARD8	rushReqType;		/* always X_RushLockPixmap */
43ea1d6981Smrg    CARD16	length;
44ea1d6981Smrg    CARD16	screen;
45ea1d6981Smrg    CARD16	pad;
46ea1d6981Smrg    CARD32	pixmap;
4717ca54c3Smrg} xXF86RushLockPixmapReq;
4817ca54c3Smrg#define sz_xXF86RushLockPixmapReq	12
4917ca54c3Smrg
5017ca54c3Smrgtypedef struct {
5117ca54c3Smrg    BYTE	type;
5217ca54c3Smrg    BOOL	pad1;
53ea1d6981Smrg    CARD16	sequenceNumber;
54ea1d6981Smrg    CARD32	length;
55ea1d6981Smrg    CARD32	addr;
56ea1d6981Smrg    CARD32	pad2;
57ea1d6981Smrg    CARD32	pad3;
58ea1d6981Smrg    CARD32	pad4;
59ea1d6981Smrg    CARD32	pad5;
60ea1d6981Smrg    CARD32	pad6;
6117ca54c3Smrg} xXF86RushLockPixmapReply;
6217ca54c3Smrg#define sz_xXF86RushLockPixmapReply	32
6317ca54c3Smrg
6417ca54c3Smrgtypedef struct _XF86RushUnlockPixmap {
6517ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
6617ca54c3Smrg    CARD8	rushReqType;		/* always X_RushUnlockPixmap */
67ea1d6981Smrg    CARD16	length;
68ea1d6981Smrg    CARD16	screen;
69ea1d6981Smrg    CARD16	pad;
70ea1d6981Smrg    CARD32	pixmap;
7117ca54c3Smrg} xXF86RushUnlockPixmapReq;
7217ca54c3Smrg#define sz_xXF86RushUnlockPixmapReq	12
7317ca54c3Smrg
7417ca54c3Smrgtypedef struct _XF86RushUnlockAllPixmaps {
7517ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
7617ca54c3Smrg    CARD8	rushReqType;		/* always X_RushUnlockAllPixmaps */
77ea1d6981Smrg    CARD16      length;
7817ca54c3Smrg} xXF86RushUnlockAllPixmapsReq;
7917ca54c3Smrg#define sz_xXF86RushUnlockAllPixmapsReq   4
8017ca54c3Smrg
8117ca54c3Smrgtypedef struct _XF86RushSetCopyMode {
8217ca54c3Smrg    CARD8       reqType;                /* always RushReqCode */
8317ca54c3Smrg    CARD8       rushReqType;            /* always X_RushSetCopyMode */
84ea1d6981Smrg    CARD16      length;
85ea1d6981Smrg    CARD16      screen;
86ea1d6981Smrg    CARD16      pad;
87ea1d6981Smrg    CARD32      CopyMode;
8817ca54c3Smrg} xXF86RushSetCopyModeReq;
8917ca54c3Smrg#define sz_xXF86RushSetCopyModeReq      12
9017ca54c3Smrg
9117ca54c3Smrg
9217ca54c3Smrgtypedef struct _XF86RushSetPixelStride {
9317ca54c3Smrg    CARD8       reqType;                /* always RushReqCode */
9417ca54c3Smrg    CARD8       rushReqType;            /* always X_RushSetCopyMode */
95ea1d6981Smrg    CARD16      length;
96ea1d6981Smrg    CARD16      screen;
97ea1d6981Smrg    CARD16      pad;
98ea1d6981Smrg    CARD32      PixelStride;
9917ca54c3Smrg} xXF86RushSetPixelStrideReq;
10017ca54c3Smrg#define sz_xXF86RushSetPixelStrideReq      12
10117ca54c3Smrg
10217ca54c3Smrgtypedef struct {
10317ca54c3Smrg    CARD8	reqType;               /* always RushReqCode */
10417ca54c3Smrg    CARD8	rushReqType;           /* always X_RushOverlayPixmap */
105ea1d6981Smrg    CARD16	length;
106ea1d6981Smrg    XvPortID	port;
107ea1d6981Smrg    Drawable	drawable;
108ea1d6981Smrg    GContext	gc;
109ea1d6981Smrg    Pixmap	pixmap;
110ea1d6981Smrg    CARD32	id;
111ea1d6981Smrg    INT16	src_x;
112ea1d6981Smrg    INT16	src_y;
113ea1d6981Smrg    CARD16	src_w;
114ea1d6981Smrg    CARD16	src_h;
115ea1d6981Smrg    INT16	drw_x;
116ea1d6981Smrg    INT16	drw_y;
117ea1d6981Smrg    CARD16	drw_w;
118ea1d6981Smrg    CARD16	drw_h;
11917ca54c3Smrg} xXF86RushOverlayPixmapReq;
12017ca54c3Smrg#define sz_xXF86RushOverlayPixmapReq 40
12117ca54c3Smrg
12217ca54c3Smrgtypedef struct _XF86RushStatusRegOffset {
12317ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
12417ca54c3Smrg    CARD8	rushReqType;		/* always X_RushStatusRegOffset */
125ea1d6981Smrg    CARD16      length;
126ea1d6981Smrg    CARD16      screen;
127ea1d6981Smrg    CARD16      pad;
12817ca54c3Smrg} xXF86RushStatusRegOffsetReq;
12917ca54c3Smrg#define sz_xXF86RushStatusRegOffsetReq   8
13017ca54c3Smrg
13117ca54c3Smrgtypedef struct {
13217ca54c3Smrg    BYTE	type;			/* X_Reply */
13317ca54c3Smrg    BOOL	pad1;
134ea1d6981Smrg    CARD16	sequenceNumber;
135ea1d6981Smrg    CARD32	length;
136ea1d6981Smrg    CARD32	offset;			/* Offset of Rush status reg in mem */
137ea1d6981Smrg    CARD32	pad2;
138ea1d6981Smrg    CARD32	pad3;
139ea1d6981Smrg    CARD32	pad4;
140ea1d6981Smrg    CARD32	pad5;
141ea1d6981Smrg    CARD32	pad6;
14217ca54c3Smrg} xXF86RushStatusRegOffsetReply;
14317ca54c3Smrg#define sz_xXF86RushStatusRegOffsetReply	32
14417ca54c3Smrg
14517ca54c3Smrgtypedef struct _XF86RushAT3DEnableRegs {
14617ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
14717ca54c3Smrg    CARD8	rushReqType;		/* always X_RushAT3DEnableRegs */
148ea1d6981Smrg    CARD16      length;
149ea1d6981Smrg    CARD16      screen;
150ea1d6981Smrg    CARD16      pad;
15117ca54c3Smrg} xXF86RushAT3DEnableRegsReq;
15217ca54c3Smrg#define sz_xXF86RushAT3DEnableRegsReq   8
15317ca54c3Smrg
15417ca54c3Smrgtypedef struct _XF86RushAT3DDisableRegs {
15517ca54c3Smrg    CARD8	reqType;		/* always RushReqCode */
15617ca54c3Smrg    CARD8	rushReqType;		/* always X_RushAT3DDisableRegs */
157ea1d6981Smrg    CARD16      length;
158ea1d6981Smrg    CARD16      screen;
159ea1d6981Smrg    CARD16      pad;
16017ca54c3Smrg} xXF86RushAT3DDisableRegsReq;
16117ca54c3Smrg#define sz_xXF86RushAT3DDisableRegsReq   8
16217ca54c3Smrg
16317ca54c3Smrg#endif /* _XF86RUSHSTR_H_ */
164