1 /* 2 3 Copyright 1992, 1998 The Open Group 4 5 Permission to use, copy, modify, distribute, and sell this software and its 6 documentation for any purpose is hereby granted without fee, provided that 7 the above copyright notice appear in all copies and that both that 8 copyright notice and this permission notice appear in supporting 9 documentation. 10 11 The above copyright notice and this permission notice shall be included in 12 all copies or substantial portions of the Software. 13 14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 21 Except as contained in this notice, the name of The Open Group shall not be 22 used in advertising or otherwise to promote the sale, use or other dealings 23 in 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 41 typedef 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 51 typedef 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 66 typedef 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 75 typedef 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 */ 90 typedef 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 109 typedef 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