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