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 #define sz_xGEQueryVersionReply    32
83 
84 #endif /* _GEPROTO_H_ */
85 
86