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