xtestproto.h revision 17ca54c3
1/* 2 3Copyright 1992, 1998 The Open Group 4 5Permission to use, copy, modify, distribute, and sell this software and its 6documentation for any purpose is hereby granted without fee, provided that 7the above copyright notice appear in all copies and that both that 8copyright notice and this permission notice appear in supporting 9documentation. 10 11The above copyright notice and this permission notice shall be included in 12all copies or substantial portions of the Software. 13 14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 21Except as contained in this notice, the name of The Open Group shall not be 22used in advertising or otherwise to promote the sale, use or other dealings 23in this Software without prior written authorization from The Open Group. 24 25*/ 26 27#ifndef _XTESTPROTO_H_ 28#define _XTESTPROTO_H_ 29 30#include <X11/extensions/xtestconst.h> 31 32#define Window CARD32 33#define Time CARD32 34#define Cursor CARD32 35 36#define X_XTestGetVersion 0 37#define X_XTestCompareCursor 1 38#define X_XTestFakeInput 2 39#define X_XTestGrabControl 3 40 41typedef struct { 42 CARD8 reqType; /* always XTestReqCode */ 43 CARD8 xtReqType; /* always X_XTestGetVersion */ 44 CARD16 length B16; 45 CARD8 majorVersion; 46 CARD8 pad; 47 CARD16 minorVersion B16; 48} xXTestGetVersionReq; 49#define sz_xXTestGetVersionReq 8 50 51typedef struct { 52 BYTE type; /* X_Reply */ 53 CARD8 majorVersion; 54 CARD16 sequenceNumber B16; 55 CARD32 length B32; 56 CARD16 minorVersion B16; 57 CARD16 pad0 B16; 58 CARD32 pad1 B32; 59 CARD32 pad2 B32; 60 CARD32 pad3 B32; 61 CARD32 pad4 B32; 62 CARD32 pad5 B32; 63} xXTestGetVersionReply; 64#define sz_xXTestGetVersionReply 32 65 66typedef struct { 67 CARD8 reqType; /* always XTestReqCode */ 68 CARD8 xtReqType; /* always X_XTestCompareCursor */ 69 CARD16 length B16; 70 Window window B32; 71 Cursor cursor B32; 72} xXTestCompareCursorReq; 73#define sz_xXTestCompareCursorReq 12 74 75typedef struct { 76 BYTE type; /* X_Reply */ 77 BOOL same; 78 CARD16 sequenceNumber B16; 79 CARD32 length B32; 80 CARD32 pad0 B32; 81 CARD32 pad1 B32; 82 CARD32 pad2 B32; 83 CARD32 pad3 B32; 84 CARD32 pad4 B32; 85 CARD32 pad5 B32; 86} xXTestCompareCursorReply; 87#define sz_xXTestCompareCursorReply 32 88 89/* used only on the client side */ 90typedef struct { 91 CARD8 reqType; /* always XTestReqCode */ 92 CARD8 xtReqType; /* always X_XTestFakeInput */ 93 CARD16 length B16; 94 BYTE type; 95 BYTE detail; 96 CARD16 pad0 B16; 97 Time time B32; 98 Window root B32; 99 CARD32 pad1 B32; 100 CARD32 pad2 B32; 101 INT16 rootX B16, rootY B16; 102 CARD32 pad3 B32; 103 CARD16 pad4 B16; 104 CARD8 pad5; 105 CARD8 deviceid; 106} xXTestFakeInputReq; 107#define sz_xXTestFakeInputReq 36 108 109typedef struct { 110 CARD8 reqType; /* always XTestReqCode */ 111 CARD8 xtReqType; /* always X_XTestGrabControl */ 112 CARD16 length B16; 113 BOOL impervious; 114 CARD8 pad0; 115 CARD8 pad1; 116 CARD8 pad2; 117} xXTestGrabControlReq; 118#define sz_xXTestGrabControlReq 8 119 120#undef Window 121#undef Time 122#undef Cursor 123 124#endif /* _XTESTPROTO_H_ */ 125