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