1/************************************************************
2Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
3Permission to use, copy, modify, and distribute this
4software and its documentation for any purpose and without
5fee is hereby granted, provided that the above copyright
6notice appear in all copies and that both that copyright
7notice and this permission notice appear in supporting
8documentation, and that the name of Silicon Graphics not be
9used in advertising or publicity pertaining to distribution
10of the software without specific prior written permission.
11Silicon Graphics makes no representation about the suitability
12of this software for any purpose. It is provided "as is"
13without any express or implied warranty.
14SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
15SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
16AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
17GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
18DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
19DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
20OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
21THE USE OR PERFORMANCE OF THIS SOFTWARE.
22********************************************************/
23
24#ifndef _EVIPROTO_H_
25#define _EVIPROTO_H_
26
27#include <X11/extensions/EVI.h>
28
29#define X_EVIQueryVersion		0
30#define X_EVIGetVisualInfo		1
31
32#define VisualID CARD32
33
34typedef CARD32 VisualID32;
35#define sz_VisualID32 4
36
37typedef struct _xExtendedVisualInfo {
38    VisualID	core_visual_id B32;
39    INT8	screen;
40    INT8	level;
41    CARD8	transparency_type;
42    CARD8	pad0;
43    CARD32	transparency_value B32;
44    CARD8	min_hw_colormaps;
45    CARD8	max_hw_colormaps;
46    CARD16	num_colormap_conflicts B16;
47} xExtendedVisualInfo;
48#define sz_xExtendedVisualInfo 16
49
50typedef struct _XEVIQueryVersion {
51    CARD8	reqType;		/* always XEVIReqCode */
52    CARD8	xeviReqType;		/* always X_EVIQueryVersion */
53    CARD16	length B16;
54} xEVIQueryVersionReq;
55#define sz_xEVIQueryVersionReq	4
56
57typedef struct {
58    BYTE	type;			/* X_Reply */
59    CARD8 	unused;
60    CARD16	sequenceNumber B16;
61    CARD32	length B32;
62    CARD16	majorVersion B16;	/* major version of EVI protocol */
63    CARD16	minorVersion B16;	/* minor version of EVI protocol */
64    CARD32	pad0 B32;
65    CARD32	pad1 B32;
66    CARD32	pad2 B32;
67    CARD32	pad3 B32;
68    CARD32	pad4 B32;
69} xEVIQueryVersionReply;
70#define sz_xEVIQueryVersionReply	32
71
72typedef struct _XEVIGetVisualInfoReq {
73    CARD8	reqType;	/* always XEVIReqCode */
74    CARD8	xeviReqType;	/* always X_EVIGetVisualInfo */
75    CARD16      length B16;
76    CARD32 	n_visual B32;
77} xEVIGetVisualInfoReq;
78#define sz_xEVIGetVisualInfoReq	8
79
80typedef struct _XEVIGetVisualInfoReply {
81    BYTE	type;  /* X_Reply */
82    CARD8	unused;
83    CARD16	sequenceNumber B16;
84    CARD32	length B32;
85    CARD32	n_info B32;
86    CARD32	n_conflicts B32;
87    CARD32	pad0 B32;
88    CARD32	pad1 B32;
89    CARD32	pad2 B32;
90    CARD32	pad3 B32;
91} xEVIGetVisualInfoReply;
92#define sz_xEVIGetVisualInfoReply	32
93
94#undef VisualID
95
96#endif /* _EVIPROTO_H_ */
97