117ca54c3Smrg/*
217ca54c3SmrgCopyright (c) 1992  X Consortium
317ca54c3Smrg
417ca54c3SmrgPermission is hereby granted, free of charge, to any person obtaining a copy
517ca54c3Smrgof this software and associated documentation files (the "Software"), to deal
617ca54c3Smrgin the Software without restriction, including without limitation the rights
717ca54c3Smrgto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
817ca54c3Smrgcopies of the Software, and to permit persons to whom the Software is
917ca54c3Smrgfurnished to do so, subject to the following conditions:
1017ca54c3Smrg
1117ca54c3SmrgThe above copyright notice and this permission notice shall be included in
1217ca54c3Smrgall copies or substantial portions of the Software.
1317ca54c3Smrg
1417ca54c3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1517ca54c3SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1617ca54c3SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
1717ca54c3SmrgX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1817ca54c3SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1917ca54c3SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2017ca54c3Smrg
2117ca54c3SmrgExcept as contained in this notice, the name of the X Consortium shall not be
2217ca54c3Smrgused in advertising or otherwise to promote the sale, use or other dealings
2317ca54c3Smrgin this Software without prior written authorization from the X Consortium.
2417ca54c3Smrg *
2517ca54c3Smrg * Author:  Keith Packard, MIT X Consortium
2617ca54c3Smrg */
2717ca54c3Smrg
2817ca54c3Smrg#ifndef _SAVERPROTO_H_
2917ca54c3Smrg#define _SAVERPROTO_H_
3017ca54c3Smrg
3117ca54c3Smrg#include <X11/extensions/saver.h>
3217ca54c3Smrg
3317ca54c3Smrg#define Window CARD32
3417ca54c3Smrg#define Drawable CARD32
3517ca54c3Smrg#define Font CARD32
3617ca54c3Smrg#define Pixmap CARD32
3717ca54c3Smrg#define Cursor CARD32
3817ca54c3Smrg#define Colormap CARD32
3917ca54c3Smrg#define GContext CARD32
4017ca54c3Smrg#define Atom CARD32
4117ca54c3Smrg#define VisualID CARD32
4217ca54c3Smrg#define Time CARD32
4317ca54c3Smrg#define KeyCode CARD8
4417ca54c3Smrg#define KeySym CARD32
4517ca54c3Smrg
4617ca54c3Smrg#define X_ScreenSaverQueryVersion   0
4717ca54c3Smrg
4817ca54c3Smrgtypedef struct _ScreenSaverQueryVersion {
4917ca54c3Smrg    CARD8 reqType;		/* always ScreenSaverReqCode */
5017ca54c3Smrg    CARD8 saverReqType;		/* always X_ScreenSaverQueryVersion */
51ea1d6981Smrg    CARD16 length;
5217ca54c3Smrg    CARD8 clientMajor;
5317ca54c3Smrg    CARD8 clientMinor;
54ea1d6981Smrg    CARD16 unused;
5517ca54c3Smrg} xScreenSaverQueryVersionReq;
5617ca54c3Smrg#define sz_xScreenSaverQueryVersionReq	8
5717ca54c3Smrg
5817ca54c3Smrgtypedef struct {
5917ca54c3Smrg    CARD8 type;			/* X_Reply */
6017ca54c3Smrg    CARD8 unused;			/* not used */
61ea1d6981Smrg    CARD16 sequenceNumber;
62ea1d6981Smrg    CARD32 length;
63ea1d6981Smrg    CARD16 majorVersion;	/* major version of protocol */
64ea1d6981Smrg    CARD16 minorVersion;	/* minor version of protocol */
65ea1d6981Smrg    CARD32 pad0;
66ea1d6981Smrg    CARD32 pad1;
67ea1d6981Smrg    CARD32 pad2;
68ea1d6981Smrg    CARD32 pad3;
69ea1d6981Smrg    CARD32 pad4;
7017ca54c3Smrg} xScreenSaverQueryVersionReply;
7117ca54c3Smrg#define sz_xScreenSaverQueryVersionReply	32
7217ca54c3Smrg
7317ca54c3Smrg#define X_ScreenSaverQueryInfo   1
7417ca54c3Smrg
7517ca54c3Smrgtypedef struct _ScreenSaverQueryInfo {
7617ca54c3Smrg    CARD8 reqType;		/* always ScreenSaverReqCode */
7717ca54c3Smrg    CARD8 saverReqType;		/* always X_ScreenSaverQueryInfo */
78ea1d6981Smrg    CARD16 length;
79ea1d6981Smrg    Drawable drawable;
8017ca54c3Smrg} xScreenSaverQueryInfoReq;
8117ca54c3Smrg#define sz_xScreenSaverQueryInfoReq	8
8217ca54c3Smrg
8317ca54c3Smrgtypedef struct {
8417ca54c3Smrg    CARD8 type;			/* X_Reply */
8517ca54c3Smrg    BYTE state;			/* Off, On */
86ea1d6981Smrg    CARD16 sequenceNumber;
87ea1d6981Smrg    CARD32 length;
88ea1d6981Smrg    Window window;
89ea1d6981Smrg    CARD32 tilOrSince;
90ea1d6981Smrg    CARD32 idle;
91ea1d6981Smrg    CARD32 eventMask;
9217ca54c3Smrg    BYTE kind;			/* Blanked, Internal, External */
9317ca54c3Smrg    CARD8 pad0;
94ea1d6981Smrg    CARD16 pad1;
95ea1d6981Smrg    CARD32 pad2;
9617ca54c3Smrg} xScreenSaverQueryInfoReply;
9717ca54c3Smrg#define sz_xScreenSaverQueryInfoReply	32
9817ca54c3Smrg
9917ca54c3Smrg#define X_ScreenSaverSelectInput   2
10017ca54c3Smrg
10117ca54c3Smrgtypedef struct _ScreenSaverSelectInput {
10217ca54c3Smrg    CARD8 reqType;		/* always ScreenSaverReqCode */
10317ca54c3Smrg    CARD8 saverReqType;		/* always X_ScreenSaverSelectInput */
104ea1d6981Smrg    CARD16 length;
105ea1d6981Smrg    Drawable drawable;
106ea1d6981Smrg    CARD32 eventMask;
10717ca54c3Smrg} xScreenSaverSelectInputReq;
10817ca54c3Smrg#define sz_xScreenSaverSelectInputReq	12
10917ca54c3Smrg
11017ca54c3Smrg#define X_ScreenSaverSetAttributes   3
11117ca54c3Smrg
11217ca54c3Smrgtypedef struct _ScreenSaverSetAttributes {
11317ca54c3Smrg    CARD8 reqType;		/* always ScreenSaverReqCode */
11417ca54c3Smrg    CARD8 saverReqType;		/* always X_ScreenSaverSetAttributes */
115ea1d6981Smrg    CARD16 length;
116ea1d6981Smrg    Drawable drawable;
117ea1d6981Smrg    INT16 x, y;
118ea1d6981Smrg    CARD16 width, height, borderWidth;
11917ca54c3Smrg    BYTE c_class;
12017ca54c3Smrg    CARD8 depth;
121ea1d6981Smrg    VisualID visualID;
122ea1d6981Smrg    CARD32 mask;
12317ca54c3Smrg} xScreenSaverSetAttributesReq;
12417ca54c3Smrg#define sz_xScreenSaverSetAttributesReq	28
12517ca54c3Smrg
12617ca54c3Smrg#define X_ScreenSaverUnsetAttributes   4
12717ca54c3Smrg
12817ca54c3Smrgtypedef struct _ScreenSaverUnsetAttributes {
12917ca54c3Smrg    CARD8 reqType;		/* always ScreenSaverReqCode */
13017ca54c3Smrg    CARD8 saverReqType;		/* always X_ScreenSaverUnsetAttributes */
131ea1d6981Smrg    CARD16 length;
132ea1d6981Smrg    Drawable drawable;
13317ca54c3Smrg} xScreenSaverUnsetAttributesReq;
13417ca54c3Smrg#define sz_xScreenSaverUnsetAttributesReq	8
13517ca54c3Smrg
13617ca54c3Smrg#define X_ScreenSaverSuspend   5
13717ca54c3Smrg
13817ca54c3Smrgtypedef struct _ScreenSaverSuspend {
13917ca54c3Smrg    CARD8 reqType;
14017ca54c3Smrg    CARD8 saverReqType;
141ea1d6981Smrg    CARD16 length;
142ea1d6981Smrg    CARD32 suspend;		/* a boolean, but using the wrong encoding */
14317ca54c3Smrg} xScreenSaverSuspendReq;
14417ca54c3Smrg#define sz_xScreenSaverSuspendReq	8
14517ca54c3Smrg
14617ca54c3Smrgtypedef struct _ScreenSaverNotify {
14717ca54c3Smrg    CARD8 type;			/* always eventBase + ScreenSaverNotify */
14817ca54c3Smrg    BYTE state;			/* off, on, cycle */
149ea1d6981Smrg    CARD16 sequenceNumber;
150ea1d6981Smrg    Time timestamp;
151ea1d6981Smrg    Window root;
152ea1d6981Smrg    Window window;		/* screen saver window */
15317ca54c3Smrg    BYTE kind;			/* blanked, internal, external */
15417ca54c3Smrg    BYTE forced;
155ea1d6981Smrg    CARD16 pad0;
156ea1d6981Smrg    CARD32 pad1;
157ea1d6981Smrg    CARD32 pad2;
158ea1d6981Smrg    CARD32 pad3;
15917ca54c3Smrg} xScreenSaverNotifyEvent;
16017ca54c3Smrg#define sz_xScreenSaverNotifyEvent	32
16117ca54c3Smrg
16217ca54c3Smrg#undef Window
16317ca54c3Smrg#undef Drawable
16417ca54c3Smrg#undef Font
16517ca54c3Smrg#undef Pixmap
16617ca54c3Smrg#undef Cursor
16717ca54c3Smrg#undef Colormap
16817ca54c3Smrg#undef GContext
16917ca54c3Smrg#undef Atom
17017ca54c3Smrg#undef VisualID
17117ca54c3Smrg#undef Time
17217ca54c3Smrg#undef KeyCode
17317ca54c3Smrg#undef KeySym
17417ca54c3Smrg
17517ca54c3Smrg#endif /* _SAVERPROTO_H_ */
176