1/* $XFree86: xc/include/extensions/xf86rushstr.h,v 1.4 2000/02/29 03:09:02 dawes Exp $ */
2/*
3
4Copyright (c) 1998  Daryll Strauss
5
6*/
7
8#ifndef _XF86RUSHSTR_H_
9#define _XF86RUSHSTR_H_
10
11#include <X11/extensions/xf86rush.h>
12
13#define XF86RUSHNAME "XFree86-Rush"
14
15#define XF86RUSH_MAJOR_VERSION	1	/* current version numbers */
16#define XF86RUSH_MINOR_VERSION	1
17
18typedef struct _XF86RushQueryVersion {
19    CARD8	reqType;		/* always RushReqCode */
20    CARD8	rushReqType;		/* always X_RushQueryVersion */
21    CARD16	length;
22} xXF86RushQueryVersionReq;
23#define sz_xXF86RushQueryVersionReq	4
24
25typedef struct {
26    BYTE	type;			/* X_Reply */
27    BOOL	pad1;
28    CARD16	sequenceNumber;
29    CARD32	length;
30    CARD16	majorVersion;		/* major version of Rush protocol */
31    CARD16	minorVersion;		/* minor version of Rush protocol */
32    CARD32	pad2;
33    CARD32	pad3;
34    CARD32	pad4;
35    CARD32	pad5;
36    CARD32	pad6;
37} xXF86RushQueryVersionReply;
38#define sz_xXF86RushQueryVersionReply	32
39
40typedef struct _XF86RushLockPixmap {
41    CARD8	reqType;		/* always RushReqCode */
42    CARD8	rushReqType;		/* always X_RushLockPixmap */
43    CARD16	length;
44    CARD16	screen;
45    CARD16	pad;
46    CARD32	pixmap;
47} xXF86RushLockPixmapReq;
48#define sz_xXF86RushLockPixmapReq	12
49
50typedef struct {
51    BYTE	type;
52    BOOL	pad1;
53    CARD16	sequenceNumber;
54    CARD32	length;
55    CARD32	addr;
56    CARD32	pad2;
57    CARD32	pad3;
58    CARD32	pad4;
59    CARD32	pad5;
60    CARD32	pad6;
61} xXF86RushLockPixmapReply;
62#define sz_xXF86RushLockPixmapReply	32
63
64typedef struct _XF86RushUnlockPixmap {
65    CARD8	reqType;		/* always RushReqCode */
66    CARD8	rushReqType;		/* always X_RushUnlockPixmap */
67    CARD16	length;
68    CARD16	screen;
69    CARD16	pad;
70    CARD32	pixmap;
71} xXF86RushUnlockPixmapReq;
72#define sz_xXF86RushUnlockPixmapReq	12
73
74typedef struct _XF86RushUnlockAllPixmaps {
75    CARD8	reqType;		/* always RushReqCode */
76    CARD8	rushReqType;		/* always X_RushUnlockAllPixmaps */
77    CARD16      length;
78} xXF86RushUnlockAllPixmapsReq;
79#define sz_xXF86RushUnlockAllPixmapsReq   4
80
81typedef struct _XF86RushSetCopyMode {
82    CARD8       reqType;                /* always RushReqCode */
83    CARD8       rushReqType;            /* always X_RushSetCopyMode */
84    CARD16      length;
85    CARD16      screen;
86    CARD16      pad;
87    CARD32      CopyMode;
88} xXF86RushSetCopyModeReq;
89#define sz_xXF86RushSetCopyModeReq      12
90
91
92typedef struct _XF86RushSetPixelStride {
93    CARD8       reqType;                /* always RushReqCode */
94    CARD8       rushReqType;            /* always X_RushSetCopyMode */
95    CARD16      length;
96    CARD16      screen;
97    CARD16      pad;
98    CARD32      PixelStride;
99} xXF86RushSetPixelStrideReq;
100#define sz_xXF86RushSetPixelStrideReq      12
101
102typedef struct {
103    CARD8	reqType;               /* always RushReqCode */
104    CARD8	rushReqType;           /* always X_RushOverlayPixmap */
105    CARD16	length;
106    XvPortID	port;
107    Drawable	drawable;
108    GContext	gc;
109    Pixmap	pixmap;
110    CARD32	id;
111    INT16	src_x;
112    INT16	src_y;
113    CARD16	src_w;
114    CARD16	src_h;
115    INT16	drw_x;
116    INT16	drw_y;
117    CARD16	drw_w;
118    CARD16	drw_h;
119} xXF86RushOverlayPixmapReq;
120#define sz_xXF86RushOverlayPixmapReq 40
121
122typedef struct _XF86RushStatusRegOffset {
123    CARD8	reqType;		/* always RushReqCode */
124    CARD8	rushReqType;		/* always X_RushStatusRegOffset */
125    CARD16      length;
126    CARD16      screen;
127    CARD16      pad;
128} xXF86RushStatusRegOffsetReq;
129#define sz_xXF86RushStatusRegOffsetReq   8
130
131typedef struct {
132    BYTE	type;			/* X_Reply */
133    BOOL	pad1;
134    CARD16	sequenceNumber;
135    CARD32	length;
136    CARD32	offset;			/* Offset of Rush status reg in mem */
137    CARD32	pad2;
138    CARD32	pad3;
139    CARD32	pad4;
140    CARD32	pad5;
141    CARD32	pad6;
142} xXF86RushStatusRegOffsetReply;
143#define sz_xXF86RushStatusRegOffsetReply	32
144
145typedef struct _XF86RushAT3DEnableRegs {
146    CARD8	reqType;		/* always RushReqCode */
147    CARD8	rushReqType;		/* always X_RushAT3DEnableRegs */
148    CARD16      length;
149    CARD16      screen;
150    CARD16      pad;
151} xXF86RushAT3DEnableRegsReq;
152#define sz_xXF86RushAT3DEnableRegsReq   8
153
154typedef struct _XF86RushAT3DDisableRegs {
155    CARD8	reqType;		/* always RushReqCode */
156    CARD8	rushReqType;		/* always X_RushAT3DDisableRegs */
157    CARD16      length;
158    CARD16      screen;
159    CARD16      pad;
160} xXF86RushAT3DDisableRegsReq;
161#define sz_xXF86RushAT3DDisableRegsReq   8
162
163#endif /* _XF86RUSHSTR_H_ */
164