117ca54c3Smrg/*
217ca54c3Smrg
317ca54c3SmrgCopyright 1992, 1998  The Open Group
417ca54c3Smrg
517ca54c3SmrgPermission to use, copy, modify, distribute, and sell this software and its
617ca54c3Smrgdocumentation for any purpose is hereby granted without fee, provided that
717ca54c3Smrgthe above copyright notice appear in all copies and that both that
817ca54c3Smrgcopyright notice and this permission notice appear in supporting
917ca54c3Smrgdocumentation.
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
1717ca54c3SmrgOPEN GROUP 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 Open Group 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 Open Group.
2417ca54c3Smrg
2517ca54c3Smrg*/
2617ca54c3Smrg
2717ca54c3Smrg#ifndef _XTESTPROTO_H_
2817ca54c3Smrg#define _XTESTPROTO_H_
2917ca54c3Smrg
3017ca54c3Smrg#include <X11/extensions/xtestconst.h>
3117ca54c3Smrg
3217ca54c3Smrg#define Window CARD32
3317ca54c3Smrg#define Time CARD32
3417ca54c3Smrg#define Cursor CARD32
3517ca54c3Smrg
3617ca54c3Smrg#define X_XTestGetVersion	0
3717ca54c3Smrg#define X_XTestCompareCursor	1
3817ca54c3Smrg#define X_XTestFakeInput	2
3917ca54c3Smrg#define X_XTestGrabControl	3
4017ca54c3Smrg
4117ca54c3Smrgtypedef struct {
4217ca54c3Smrg    CARD8	reqType;	/* always XTestReqCode */
4317ca54c3Smrg    CARD8	xtReqType;	/* always X_XTestGetVersion */
44ea1d6981Smrg    CARD16	length;
4517ca54c3Smrg    CARD8	majorVersion;
4617ca54c3Smrg    CARD8	pad;
47ea1d6981Smrg    CARD16	minorVersion;
4817ca54c3Smrg} xXTestGetVersionReq;
4917ca54c3Smrg#define sz_xXTestGetVersionReq 8
5017ca54c3Smrg
5117ca54c3Smrgtypedef struct {
5217ca54c3Smrg    BYTE	type;			/* X_Reply */
5317ca54c3Smrg    CARD8	majorVersion;
54ea1d6981Smrg    CARD16	sequenceNumber;
55ea1d6981Smrg    CARD32	length;
56ea1d6981Smrg    CARD16	minorVersion;
57ea1d6981Smrg    CARD16	pad0;
58ea1d6981Smrg    CARD32	pad1;
59ea1d6981Smrg    CARD32	pad2;
60ea1d6981Smrg    CARD32	pad3;
61ea1d6981Smrg    CARD32	pad4;
62ea1d6981Smrg    CARD32	pad5;
6317ca54c3Smrg} xXTestGetVersionReply;
6417ca54c3Smrg#define sz_xXTestGetVersionReply 32
6517ca54c3Smrg
6617ca54c3Smrgtypedef struct {
6717ca54c3Smrg    CARD8	reqType;	/* always XTestReqCode */
6817ca54c3Smrg    CARD8	xtReqType;	/* always X_XTestCompareCursor */
69ea1d6981Smrg    CARD16	length;
70ea1d6981Smrg    Window	window;
71ea1d6981Smrg    Cursor	cursor;
7217ca54c3Smrg} xXTestCompareCursorReq;
7317ca54c3Smrg#define sz_xXTestCompareCursorReq 12
7417ca54c3Smrg
7517ca54c3Smrgtypedef struct {
7617ca54c3Smrg    BYTE	type;			/* X_Reply */
7717ca54c3Smrg    BOOL	same;
78ea1d6981Smrg    CARD16	sequenceNumber;
79ea1d6981Smrg    CARD32	length;
80ea1d6981Smrg    CARD32	pad0;
81ea1d6981Smrg    CARD32	pad1;
82ea1d6981Smrg    CARD32	pad2;
83ea1d6981Smrg    CARD32	pad3;
84ea1d6981Smrg    CARD32	pad4;
85ea1d6981Smrg    CARD32	pad5;
8617ca54c3Smrg} xXTestCompareCursorReply;
8717ca54c3Smrg#define sz_xXTestCompareCursorReply 32
8817ca54c3Smrg
8917ca54c3Smrg/* used only on the client side */
9017ca54c3Smrgtypedef struct {
9117ca54c3Smrg    CARD8	reqType;	/* always XTestReqCode */
9217ca54c3Smrg    CARD8	xtReqType;	/* always X_XTestFakeInput */
93ea1d6981Smrg    CARD16	length;
9417ca54c3Smrg    BYTE	type;
9517ca54c3Smrg    BYTE	detail;
96ea1d6981Smrg    CARD16	pad0;
97ea1d6981Smrg    Time	time;
98ea1d6981Smrg    Window	root;
99ea1d6981Smrg    CARD32	pad1;
100ea1d6981Smrg    CARD32	pad2;
101ea1d6981Smrg    INT16	rootX, rootY;
102ea1d6981Smrg    CARD32	pad3;
103ea1d6981Smrg    CARD16	pad4;
10417ca54c3Smrg    CARD8	pad5;
10517ca54c3Smrg    CARD8	deviceid;
10617ca54c3Smrg} xXTestFakeInputReq;
10717ca54c3Smrg#define sz_xXTestFakeInputReq 36
10817ca54c3Smrg
10917ca54c3Smrgtypedef struct {
11017ca54c3Smrg    CARD8	reqType;	/* always XTestReqCode */
11117ca54c3Smrg    CARD8	xtReqType;	/* always X_XTestGrabControl */
112ea1d6981Smrg    CARD16	length;
11317ca54c3Smrg    BOOL	impervious;
11417ca54c3Smrg    CARD8	pad0;
11517ca54c3Smrg    CARD8	pad1;
11617ca54c3Smrg    CARD8	pad2;
11717ca54c3Smrg} xXTestGrabControlReq;
11817ca54c3Smrg#define sz_xXTestGrabControlReq 8
11917ca54c3Smrg
12017ca54c3Smrg#undef Window
12117ca54c3Smrg#undef Time
12217ca54c3Smrg#undef Cursor
12317ca54c3Smrg
12417ca54c3Smrg#endif /* _XTESTPROTO_H_ */
125