1/* $Xorg: dpmsstr.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
2/*****************************************************************
3
4Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
5
6Permission is hereby granted, free of charge, to any person obtaining a copy
7of this software and associated documentation files (the "Software"), to deal
8in the Software without restriction, including without limitation the rights
9to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10copies of the Software.
11
12The above copyright notice and this permission notice shall be included in
13all copies or substantial portions of the Software.
14
15THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
19BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
20WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
21IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23Except as contained in this notice, the name of Digital Equipment Corporation
24shall not be used in advertising or otherwise to promote the sale, use or other
25dealings in this Software without prior written authorization from Digital
26Equipment Corporation.
27
28******************************************************************/
29/* $XFree86$ */
30
31/*
32 * HISTORY
33 */
34/*
35 * @(#)RCSfile: dpmsstr.h,v Revision: 1.1.4.2  (DEC) Date: 1995/11/21 19:34:19
36 */
37
38#ifndef _DPMSSTR_H_
39#define _DPMSSTR_H_
40
41#define X_DPMSGetVersion	0
42#define X_DPMSCapable		1
43#define X_DPMSGetTimeouts	2
44#define X_DPMSSetTimeouts	3
45#define X_DPMSEnable		4
46#define X_DPMSDisable		5
47#define X_DPMSForceLevel       	6
48#define X_DPMSInfo       	7
49
50#define DPMSNumberEvents	0
51
52#define DPMSNumberErrors	0
53
54#define DPMSMajorVersion	1
55#define DPMSMinorVersion	1
56
57#define DPMSExtensionName	"DPMS"
58
59typedef struct {
60    CARD8	reqType;	/* always DPMSCode */
61    CARD8	dpmsReqType;	/* always X_DPMSGetVersion */
62    CARD16	length B16;
63    CARD16	majorVersion B16;
64    CARD16	minorVersion B16;
65} xDPMSGetVersionReq;
66#define sz_xDPMSGetVersionReq 8
67
68typedef struct {
69    BYTE	type;			/* X_Reply */
70    CARD8	pad0;
71    CARD16	sequenceNumber B16;
72    CARD32	length B32;
73    CARD16	majorVersion B16;
74    CARD16	minorVersion B16;
75    CARD32	pad1 B32;
76    CARD32	pad2 B32;
77    CARD32	pad3 B32;
78    CARD32	pad4 B32;
79    CARD32	pad5 B32;
80} xDPMSGetVersionReply;
81#define sz_xDPMSGetVersionReply 32
82
83typedef struct {
84    CARD8	reqType;	/* always DPMSCode */
85    CARD8	dpmsReqType;	/* always X_DPMSCapable */
86    CARD16	length B16;
87} xDPMSCapableReq;
88#define sz_xDPMSCapableReq 4
89
90typedef struct {
91    BYTE	type;			/* X_Reply */
92    CARD8	pad0;
93    CARD16	sequenceNumber B16;
94    CARD32	length B32;
95    BOOL	capable;
96    CARD8	pad1;
97    CARD16	pad2 B16;
98    CARD32	pad3 B32;
99    CARD32	pad4 B32;
100    CARD32	pad5 B32;
101    CARD32	pad6 B32;
102    CARD32	pad7 B32;
103} xDPMSCapableReply;
104#define sz_xDPMSCapableReply 32
105
106typedef struct {
107    CARD8	reqType;	/* always DPMSCode */
108    CARD8	dpmsReqType;	/* always X_DPMSGetTimeouts */
109    CARD16	length B16;
110} xDPMSGetTimeoutsReq;
111#define sz_xDPMSGetTimeoutsReq 4
112
113typedef struct {
114    BYTE	type;			/* X_Reply */
115    CARD8	pad0;
116    CARD16	sequenceNumber B16;
117    CARD32	length B32;
118    CARD16	standby B16;
119    CARD16	suspend B16;
120    CARD16	off B16;
121    CARD16	pad1 B16;
122    CARD32	pad2 B32;
123    CARD32	pad3 B32;
124    CARD32	pad4 B32;
125    CARD32	pad5 B32;
126} xDPMSGetTimeoutsReply;
127#define sz_xDPMSGetTimeoutsReply 32
128
129typedef struct {
130    CARD8	reqType;	/* always DPMSCode */
131    CARD8	dpmsReqType;	/* always X_DPMSSetTimeouts */
132    CARD16	length B16;
133    CARD16	standby B16;
134    CARD16	suspend B16;
135    CARD16	off B16;
136    CARD16	pad0 B16;
137} xDPMSSetTimeoutsReq;
138#define sz_xDPMSSetTimeoutsReq 12
139
140typedef struct {
141    CARD8	reqType;	/* always DPMSCode */
142    CARD8	dpmsReqType;	/* always X_DPMSEnable */
143    CARD16	length B16;
144} xDPMSEnableReq;
145#define sz_xDPMSEnableReq 4
146
147typedef struct {
148    CARD8	reqType;	/* always DPMSCode */
149    CARD8	dpmsReqType;	/* always X_DPMSDisable */
150    CARD16	length B16;
151} xDPMSDisableReq;
152#define sz_xDPMSDisableReq 4
153
154typedef struct {
155    CARD8	reqType;	/* always DPMSCode */
156    CARD8	dpmsReqType;	/* always X_DPMSForceLevel */
157    CARD16	length B16;
158    CARD16	level B16;	/* power level requested */
159    CARD16	pad0 B16;
160} xDPMSForceLevelReq;
161#define sz_xDPMSForceLevelReq 8
162
163typedef struct {
164    CARD8	reqType;	/* always DPMSCode */
165    CARD8	dpmsReqType;	/* always X_DPMSInfo */
166    CARD16	length B16;
167} xDPMSInfoReq;
168#define sz_xDPMSInfoReq 4
169
170typedef struct {
171    BYTE	type;			/* X_Reply */
172    CARD8	pad0;
173    CARD16	sequenceNumber B16;
174    CARD32	length B32;
175    CARD16	power_level B16;
176    BOOL	state;
177    CARD8	pad1;
178    CARD32	pad2 B32;
179    CARD32	pad3 B32;
180    CARD32	pad4 B32;
181    CARD32	pad5 B32;
182    CARD32	pad6 B32;
183} xDPMSInfoReply;
184#define sz_xDPMSInfoReply 32
185
186#endif /* _DPMSSTR_H_ */
187