117ca54c3Smrg/************************************************************ 217ca54c3Smrg 368872e7fSmrgCopyright (c) 2003, Oracle and/or its affiliates. 417ca54c3Smrg 517ca54c3SmrgPermission is hereby granted, free of charge, to any person obtaining a 617ca54c3Smrgcopy of this software and associated documentation files (the "Software"), 717ca54c3Smrgto deal in the Software without restriction, including without limitation 817ca54c3Smrgthe rights to use, copy, modify, merge, publish, distribute, sublicense, 917ca54c3Smrgand/or sell copies of the Software, and to permit persons to whom the 1017ca54c3SmrgSoftware is furnished to do so, subject to the following conditions: 1117ca54c3Smrg 1217ca54c3SmrgThe above copyright notice and this permission notice (including the next 1317ca54c3Smrgparagraph) shall be included in all copies or substantial portions of the 1417ca54c3SmrgSoftware. 1517ca54c3Smrg 1617ca54c3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1717ca54c3SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1817ca54c3SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1917ca54c3SmrgTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 2017ca54c3SmrgLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 2117ca54c3SmrgFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 2217ca54c3SmrgDEALINGS IN THE SOFTWARE. 2317ca54c3Smrg 2417ca54c3Smrg************************************************************/ 2517ca54c3Smrg 2617ca54c3Smrg#ifndef _XEVIEPROTO_H_ 2717ca54c3Smrg#define _XEVIEPROTO_H_ 2817ca54c3Smrg 2917ca54c3Smrg#define XEVIENAME "XEVIE" 3017ca54c3Smrg 3117ca54c3Smrg#define XEVIE_MAJOR_VERSION 1 3217ca54c3Smrg#define XEVIE_MINOR_VERSION 0 3317ca54c3Smrg 3417ca54c3Smrg#define X_XevieQueryVersion 0 3517ca54c3Smrg#define X_XevieStart 1 3617ca54c3Smrg#define X_XevieEnd 2 3717ca54c3Smrg#define X_XevieSend 3 3817ca54c3Smrg#define X_XevieSelectInput 4 3917ca54c3Smrg 4017ca54c3Smrg#define XevieNumberErrors 0 4117ca54c3Smrg 4217ca54c3Smrgtypedef struct _XevieQueryVersion { 4317ca54c3Smrg CARD8 reqType; 4417ca54c3Smrg CARD8 xevieReqType; 45ea1d6981Smrg CARD16 length; 46ea1d6981Smrg CARD16 client_major_version; 47ea1d6981Smrg CARD16 client_minor_version; 4817ca54c3Smrg} xXevieQueryVersionReq; 4917ca54c3Smrg#define sz_xXevieQueryVersionReq 8 5017ca54c3Smrg 5117ca54c3Smrgtypedef struct { 5217ca54c3Smrg BYTE type; 5317ca54c3Smrg BOOL pad1; 54ea1d6981Smrg CARD16 sequence_number; 55ea1d6981Smrg CARD32 length; 56ea1d6981Smrg CARD16 server_major_version; 57ea1d6981Smrg CARD16 server_minor_version; 58ea1d6981Smrg CARD32 pad2; 59ea1d6981Smrg CARD32 pad3; 60ea1d6981Smrg CARD32 pad4; 61ea1d6981Smrg CARD32 pad5; 62ea1d6981Smrg CARD32 pad6; 6317ca54c3Smrg} xXevieQueryVersionReply; 6417ca54c3Smrg#define sz_xXevieQueryVersionReply 32 6517ca54c3Smrg 6617ca54c3Smrgtypedef struct _XevieStart { 6717ca54c3Smrg CARD8 reqType; 6817ca54c3Smrg CARD8 xevieReqType; 69ea1d6981Smrg CARD16 length; 70ea1d6981Smrg CARD32 screen; 7117ca54c3Smrg} xXevieStartReq; 7217ca54c3Smrg#define sz_xXevieStartReq 8 7317ca54c3Smrg 7417ca54c3Smrgtypedef struct { 7517ca54c3Smrg BYTE type; 7617ca54c3Smrg BOOL pad1; 77ea1d6981Smrg CARD16 sequence_number; 78ea1d6981Smrg CARD32 length; 79ea1d6981Smrg CARD32 pad2; 80ea1d6981Smrg CARD32 pad3; 81ea1d6981Smrg CARD32 pad4; 82ea1d6981Smrg CARD32 pad5; 83ea1d6981Smrg CARD32 pad6; 84ea1d6981Smrg CARD32 pad7; 8517ca54c3Smrg} xXevieStartReply; 8617ca54c3Smrg#define sz_xXevieStartReply 32 8717ca54c3Smrg 8817ca54c3Smrgtypedef struct _XevieEnd { 8917ca54c3Smrg CARD8 reqType; 9017ca54c3Smrg CARD8 xevieReqType; 91ea1d6981Smrg CARD16 length; 92ea1d6981Smrg CARD32 cmap; 9317ca54c3Smrg} xXevieEndReq; 9417ca54c3Smrg#define sz_xXevieEndReq 8 9517ca54c3Smrg 9617ca54c3Smrgtypedef struct { 9717ca54c3Smrg BYTE type; /* X_Reply */ 9817ca54c3Smrg BOOL pad1; 99ea1d6981Smrg CARD16 sequence_number; 100ea1d6981Smrg CARD32 length; 101ea1d6981Smrg CARD32 pad2; 102ea1d6981Smrg CARD32 pad3; 103ea1d6981Smrg CARD32 pad4; 104ea1d6981Smrg CARD32 pad5; 105ea1d6981Smrg CARD32 pad6; 106ea1d6981Smrg CARD32 pad7; 10717ca54c3Smrg} xXevieEndReply; 10817ca54c3Smrg#define sz_xXevieEndReply 32 10917ca54c3Smrg 11017ca54c3Smrgtypedef struct _XevieSend { 11117ca54c3Smrg CARD8 reqType; 11217ca54c3Smrg CARD8 xevieReqType; 113ea1d6981Smrg CARD16 length; 11417ca54c3Smrg xEvent event; 115ea1d6981Smrg CARD32 dataType; 11617ca54c3Smrg} xXevieSendReq; 11717ca54c3Smrg#define sz_xXevieSendReq 104 11817ca54c3Smrg 11917ca54c3Smrgtypedef struct { 12017ca54c3Smrg BYTE type; 12117ca54c3Smrg BOOL pad1; 122ea1d6981Smrg CARD16 sequence_number; 123ea1d6981Smrg CARD32 length; 124ea1d6981Smrg CARD32 pad2; 125ea1d6981Smrg CARD32 pad3; 126ea1d6981Smrg CARD32 pad4; 127ea1d6981Smrg CARD32 pad5; 128ea1d6981Smrg CARD32 pad6; 129ea1d6981Smrg CARD32 pad7; 13017ca54c3Smrg} xXevieSendReply; 13117ca54c3Smrg#define sz_xXevieSendReply 32 13217ca54c3Smrg 13317ca54c3Smrgtypedef struct _XevieSelectInput { 13417ca54c3Smrg CARD8 reqType; 13517ca54c3Smrg CARD8 xevieReqType; 136ea1d6981Smrg CARD16 length; 137ea1d6981Smrg CARD32 event_mask; 13817ca54c3Smrg} xXevieSelectInputReq; 13917ca54c3Smrg#define sz_xXevieSelectInputReq 8 14017ca54c3Smrg 14117ca54c3Smrgtypedef struct { 14217ca54c3Smrg BYTE type; 14317ca54c3Smrg BOOL pad1; 144ea1d6981Smrg CARD16 sequence_number; 145ea1d6981Smrg CARD32 length; 146ea1d6981Smrg CARD32 pad2; 147ea1d6981Smrg CARD32 pad3; 148ea1d6981Smrg CARD32 pad4; 149ea1d6981Smrg CARD32 pad5; 150ea1d6981Smrg CARD32 pad6; 151ea1d6981Smrg CARD32 pad7; 15217ca54c3Smrg} xXevieSelectInputReply; 15317ca54c3Smrg#define sz_xXevieSelectInputReply 32 15417ca54c3Smrg 15517ca54c3Smrg#endif /* } _XEVIEPROTO_H_ */ 15617ca54c3Smrg 157