17cf0acd0Smrg/************************************************************ 27cf0acd0Smrg 37cf0acd0SmrgCopyright (c) 2003, Oracle and/or its affiliates. All rights reserved. 47cf0acd0Smrg 5bc5f02f5SmrgPermission is hereby granted, free of charge, to any person obtaining a 67cf0acd0Smrgcopy of this software and associated documentation files (the "Software"), 77cf0acd0Smrgto deal in the Software without restriction, including without limitation 87cf0acd0Smrgthe rights to use, copy, modify, merge, publish, distribute, sublicense, 97cf0acd0Smrgand/or sell copies of the Software, and to permit persons to whom the 107cf0acd0SmrgSoftware is furnished to do so, subject to the following conditions: 117cf0acd0Smrg 127cf0acd0SmrgThe above copyright notice and this permission notice (including the next 137cf0acd0Smrgparagraph) shall be included in all copies or substantial portions of the 147cf0acd0SmrgSoftware. 157cf0acd0Smrg 167cf0acd0SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 177cf0acd0SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 187cf0acd0SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 197cf0acd0SmrgTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 207cf0acd0SmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 217cf0acd0SmrgFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 227cf0acd0SmrgDEALINGS IN THE SOFTWARE. 237cf0acd0Smrg 247cf0acd0Smrg************************************************************/ 257cf0acd0Smrg 267cf0acd0Smrg#ifndef _XEVIEPROTO_H_ 277cf0acd0Smrg#define _XEVIEPROTO_H_ 287cf0acd0Smrg 297cf0acd0Smrg#define XEVIENAME "XEVIE" 307cf0acd0Smrg 317cf0acd0Smrg#define XEVIE_MAJOR_VERSION 1 327cf0acd0Smrg#define XEVIE_MINOR_VERSION 0 33bc5f02f5Smrg 34bc5f02f5Smrg#define X_XevieQueryVersion 0 35bc5f02f5Smrg#define X_XevieStart 1 36bc5f02f5Smrg#define X_XevieEnd 2 37bc5f02f5Smrg#define X_XevieSend 3 38bc5f02f5Smrg#define X_XevieSelectInput 4 39bc5f02f5Smrg 40bc5f02f5Smrg#define XevieNumberErrors 0 41bc5f02f5Smrg 427cf0acd0Smrgtypedef struct _XevieQueryVersion { 437cf0acd0Smrg CARD8 reqType; 447cf0acd0Smrg CARD8 xevieReqType; 457cf0acd0Smrg CARD16 length B16; 467cf0acd0Smrg CARD16 client_major_version B16; 477cf0acd0Smrg CARD16 client_minor_version B16; 487cf0acd0Smrg} xXevieQueryVersionReq; 497cf0acd0Smrg#define sz_xXevieQueryVersionReq 8 507cf0acd0Smrg 517cf0acd0Smrgtypedef struct { 527cf0acd0Smrg BYTE type; 537cf0acd0Smrg BOOL pad1; 547cf0acd0Smrg CARD16 sequence_number B16; 557cf0acd0Smrg CARD32 length B32; 567cf0acd0Smrg CARD16 server_major_version B16; 577cf0acd0Smrg CARD16 server_minor_version B16; 587cf0acd0Smrg CARD32 pad2 B32; 597cf0acd0Smrg CARD32 pad3 B32; 607cf0acd0Smrg CARD32 pad4 B32; 617cf0acd0Smrg CARD32 pad5 B32; 627cf0acd0Smrg CARD32 pad6 B32; 637cf0acd0Smrg} xXevieQueryVersionReply; 647cf0acd0Smrg#define sz_xXevieQueryVersionReply 32 657cf0acd0Smrg 667cf0acd0Smrgtypedef struct _XevieStart { 677cf0acd0Smrg CARD8 reqType; 687cf0acd0Smrg CARD8 xevieReqType; 697cf0acd0Smrg CARD16 length B16; 707cf0acd0Smrg CARD32 screen B32; 717cf0acd0Smrg} xXevieStartReq; 727cf0acd0Smrg#define sz_xXevieStartReq 8 737cf0acd0Smrg 747cf0acd0Smrgtypedef struct { 757cf0acd0Smrg BYTE type; 767cf0acd0Smrg BOOL pad1; 777cf0acd0Smrg CARD16 sequence_number B16; 787cf0acd0Smrg CARD32 length B32; 797cf0acd0Smrg CARD32 pad2 B32; 807cf0acd0Smrg CARD32 pad3 B32; 817cf0acd0Smrg CARD32 pad4 B32; 827cf0acd0Smrg CARD32 pad5 B32; 837cf0acd0Smrg CARD32 pad6 B32; 847cf0acd0Smrg CARD32 pad7 B32; 857cf0acd0Smrg} xXevieStartReply; 867cf0acd0Smrg#define sz_xXevieStartReply 32 877cf0acd0Smrg 887cf0acd0Smrgtypedef struct _XevieEnd { 897cf0acd0Smrg CARD8 reqType; 907cf0acd0Smrg CARD8 xevieReqType; 917cf0acd0Smrg CARD16 length B16; 927cf0acd0Smrg CARD32 cmap B32; 937cf0acd0Smrg} xXevieEndReq; 947cf0acd0Smrg#define sz_xXevieEndReq 8 957cf0acd0Smrg 967cf0acd0Smrgtypedef struct { 977cf0acd0Smrg BYTE type; /* X_Reply */ 987cf0acd0Smrg BOOL pad1; 997cf0acd0Smrg CARD16 sequence_number B16; 1007cf0acd0Smrg CARD32 length B32; 1017cf0acd0Smrg CARD32 pad2 B32; 1027cf0acd0Smrg CARD32 pad3 B32; 1037cf0acd0Smrg CARD32 pad4 B32; 1047cf0acd0Smrg CARD32 pad5 B32; 1057cf0acd0Smrg CARD32 pad6 B32; 1067cf0acd0Smrg CARD32 pad7 B32; 1077cf0acd0Smrg} xXevieEndReply; 1087cf0acd0Smrg#define sz_xXevieEndReply 32 1097cf0acd0Smrg 1107cf0acd0Smrgtypedef struct _XevieSend { 1117cf0acd0Smrg CARD8 reqType; 1127cf0acd0Smrg CARD8 xevieReqType; 1137cf0acd0Smrg CARD16 length B16; 1147cf0acd0Smrg xEvent event; 1157cf0acd0Smrg CARD32 dataType B32; 1167cf0acd0Smrg} xXevieSendReq; 1177cf0acd0Smrg#define sz_xXevieSendReq 104 1187cf0acd0Smrg 1197cf0acd0Smrgtypedef struct { 1207cf0acd0Smrg BYTE type; 1217cf0acd0Smrg BOOL pad1; 1227cf0acd0Smrg CARD16 sequence_number B16; 1237cf0acd0Smrg CARD32 length B32; 1247cf0acd0Smrg CARD32 pad2 B32; 1257cf0acd0Smrg CARD32 pad3 B32; 1267cf0acd0Smrg CARD32 pad4 B32; 1277cf0acd0Smrg CARD32 pad5 B32; 1287cf0acd0Smrg CARD32 pad6 B32; 1297cf0acd0Smrg CARD32 pad7 B32; 1307cf0acd0Smrg} xXevieSendReply; 1317cf0acd0Smrg#define sz_xXevieSendReply 32 1327cf0acd0Smrg 1337cf0acd0Smrgtypedef struct _XevieSelectInput { 1347cf0acd0Smrg CARD8 reqType; 1357cf0acd0Smrg CARD8 xevieReqType; 1367cf0acd0Smrg CARD16 length B16; 1377cf0acd0Smrg CARD32 event_mask B32; 1387cf0acd0Smrg} xXevieSelectInputReq; 1397cf0acd0Smrg#define sz_xXevieSelectInputReq 8 1407cf0acd0Smrg 1417cf0acd0Smrgtypedef struct { 1427cf0acd0Smrg BYTE type; 1437cf0acd0Smrg BOOL pad1; 1447cf0acd0Smrg CARD16 sequence_number B16; 1457cf0acd0Smrg CARD32 length B32; 1467cf0acd0Smrg CARD32 pad2 B32; 1477cf0acd0Smrg CARD32 pad3 B32; 1487cf0acd0Smrg CARD32 pad4 B32; 1497cf0acd0Smrg CARD32 pad5 B32; 1507cf0acd0Smrg CARD32 pad6 B32; 1517cf0acd0Smrg CARD32 pad7 B32; 1527cf0acd0Smrg} xXevieSelectInputReply; 1537cf0acd0Smrg#define sz_xXevieSelectInputReply 32 1547cf0acd0Smrg 1557cf0acd0Smrg#endif /* } _XEVIEPROTO_H_ */ 1567cf0acd0Smrg 157