Git init
[framework/uifw/xorg/proto/x11proto-xext.git] / geproto.h
1 /*
2  * Copyright © 2007-2008 Peter Hutterer
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice (including the next
12  * paragraph) shall be included in all copies or substantial portions of the
13  * Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  *
23  * Authors: Peter Hutterer, University of South Australia, NICTA
24  *
25  */
26
27 #ifndef _GEPROTO_H_
28 #define _GEPROTO_H_
29
30 #include<X11/Xproto.h>
31 #include<X11/X.h>
32 #include<X11/extensions/ge.h>
33
34
35 /*********************************************************
36  *
37  * Protocol request constants
38  *
39  */
40
41 #define X_GEGetExtensionVersion 1
42
43 /*********************************************************
44  *
45  * XGE protocol requests/replies
46  *
47  */
48
49 /* generic request */
50 typedef struct {
51     CARD8   reqType;
52     CARD8   ReqType;
53     CARD16  length B16;
54 } xGEReq;
55
56
57 /* QueryVersion */
58 typedef struct {
59     CARD8       reqType;       /* input extension major code   */
60     CARD8       ReqType;       /* always X_GEQueryVersion */
61     CARD16      length B16;
62     CARD16      majorVersion B16;
63     CARD16      minorVersion B16;
64 } xGEQueryVersionReq;
65
66 #define sz_xGEQueryVersionReq    8
67
68 typedef struct {
69     CARD8       repType;        /* X_Reply                      */
70     CARD8       RepType;        /* always X_GEQueryVersion */
71     CARD16      sequenceNumber B16;
72     CARD32      length B32;
73     CARD16      majorVersion B16;
74     CARD16      minorVersion B16;
75     CARD32      pad00 B32;
76     CARD32      pad01 B32;
77     CARD32      pad02 B32;
78     CARD32      pad03 B32;
79     CARD32      pad04 B32;
80 } xGEQueryVersionReply;
81
82 #ifndef _F_ENABLE_XI2_SENDEVENT_
83 #define sz_xGEQueryVersionReply    32
84 #else//_F_ENABLE_XI2_SENDEVENT_
85 typedef struct {
86     CARD8   reqType;
87     CARD8   ReqType;
88     CARD16  length B16;
89     CARD8   propagate;
90     CARD8   pad1;
91     CARD16  pad2;
92     CARD32  destination B32;
93     CARD32  eventMask B32;
94 } xGESendEventReq;
95
96 #define sz_xGESendEventReq    16
97 #endif//_F_ENABLE_XI2_SENDEVENT_
98
99 #endif /* _GEPROTO_H_ */
100