upload tizen2.0 source
[framework/uifw/xorg/proto/x11proto-xext.git] / dbeproto.h
1 /******************************************************************************
2  *
3  * Copyright (c) 1994, 1995  Hewlett-Packard Company
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included
14  * in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19  * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
20  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
22  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  *
24  * Except as contained in this notice, the name of the Hewlett-Packard
25  * Company shall not be used in advertising or otherwise to promote the
26  * sale, use or other dealings in this Software without prior written
27  * authorization from the Hewlett-Packard Company.
28  *
29  *     Header file for Xlib-related DBE
30  *
31  *****************************************************************************/
32
33 #ifndef DBE_PROTO_H
34 #define DBE_PROTO_H
35
36 #include <X11/extensions/dbe.h>
37
38 /* Request values used in (S)ProcDbeDispatch() */
39 #define X_DbeGetVersion                 0
40 #define X_DbeAllocateBackBufferName     1
41 #define X_DbeDeallocateBackBufferName   2
42 #define X_DbeSwapBuffers                3
43 #define X_DbeBeginIdiom                 4
44 #define X_DbeEndIdiom                   5
45 #define X_DbeGetVisualInfo              6
46 #define X_DbeGetBackBufferAttributes    7
47
48 typedef CARD8  xDbeSwapAction;
49 typedef CARD32 xDbeBackBuffer;
50
51 /* TYPEDEFS */
52
53 /* Protocol data types */
54
55 typedef struct
56 {
57     CARD32              window B32;     /* window      */
58     xDbeSwapAction      swapAction;     /* swap action */
59     CARD8               pad1;           /* unused      */
60     CARD16              pad2 B16;
61
62 } xDbeSwapInfo;
63
64 typedef struct
65 {
66     CARD32      visualID B32;   /* associated visual      */
67     CARD8       depth;          /* depth of visual        */
68     CARD8       perfLevel;      /* performance level hint */
69     CARD16      pad1 B16;
70
71 } xDbeVisInfo;
72 #define sz_xDbeVisInfo  8
73
74 typedef struct
75 {
76     CARD32      n B32;  /* number of visual info items in list  */
77
78 } xDbeScreenVisInfo;    /* followed by n xDbeVisInfo items */
79
80 typedef struct
81 {
82     CARD32      window B32;     /* window */
83
84 } xDbeBufferAttributes;
85
86
87 /* Requests and replies */
88
89 typedef struct
90 {
91     CARD8       reqType;        /* major-opcode: always codes->major_opcode */
92     CARD8       dbeReqType;     /* minor-opcode: always X_DbeGetVersion (0) */
93     CARD16      length B16;     /* request length: (2)                      */
94     CARD8       majorVersion;   /* client-major-version                     */
95     CARD8       minorVersion;   /* client-minor-version                     */
96     CARD16      unused B16;     /* unused                                   */
97
98 } xDbeGetVersionReq;
99 #define sz_xDbeGetVersionReq    8
100
101 typedef struct
102 {
103     BYTE        type;                   /* Reply: X_Reply (1)   */
104     CARD8       unused;                 /* unused               */
105     CARD16      sequenceNumber B16;     /* sequence number      */
106     CARD32      length B32;             /* reply length: (0)    */
107     CARD8       majorVersion;           /* server-major-version */
108     CARD8       minorVersion;           /* server-minor-version */
109     CARD16      pad1 B16;               /* unused               */
110     CARD32      pad2 B32;
111     CARD32      pad3 B32;
112     CARD32      pad4 B32;
113     CARD32      pad5 B32;
114     CARD32      pad6 B32;
115
116 } xDbeGetVersionReply;
117 #define sz_xDbeGetVersionReply  32
118
119 typedef struct
120 {
121     CARD8               reqType;        /* major-opcode: codes->major_opcode */
122     CARD8               dbeReqType;     /* X_DbeAllocateBackBufferName (1)   */
123     CARD16              length B16;     /* request length: (4)               */
124     CARD32              window B32;     /* window                            */
125     xDbeBackBuffer      buffer B32;     /* back buffer name                  */
126     xDbeSwapAction      swapAction;     /* swap action hint                  */
127     CARD8               pad1;           /* unused                            */
128     CARD16              pad2 B16;
129
130 } xDbeAllocateBackBufferNameReq;
131 #define sz_xDbeAllocateBackBufferNameReq        16
132
133 typedef struct
134 {
135     CARD8               reqType;        /* major-opcode: codes->major_opcode */
136     CARD8               dbeReqType;     /* X_DbeDeallocateBackBufferName (2) */
137     CARD16              length B16;     /* request length: (2)               */
138     xDbeBackBuffer      buffer B32;     /* back buffer name                  */
139
140 } xDbeDeallocateBackBufferNameReq;
141 #define sz_xDbeDeallocateBackBufferNameReq      8
142
143 typedef struct
144 {
145     CARD8       reqType;        /* major-opcode: always codes->major_opcode  */
146     CARD8       dbeReqType;     /* minor-opcode: always X_DbeSwapBuffers (3) */
147     CARD16      length B16;     /* request length: (2+2n)                    */
148     CARD32      n B32;          /* n, number of window/swap action pairs     */
149
150 } xDbeSwapBuffersReq;           /* followed by n window/swap action pairs    */
151 #define sz_xDbeSwapBuffersReq   8
152
153 typedef struct
154 {
155     CARD8       reqType;        /* major-opcode: always codes->major_opcode */
156     CARD8       dbeReqType;     /* minor-opcode: always X_DbeBeginIdom (4)  */
157     CARD16      length B16;     /* request length: (1)                      */
158
159 } xDbeBeginIdiomReq;
160 #define sz_xDbeBeginIdiomReq    4
161
162 typedef struct
163 {
164     CARD8       reqType;        /* major-opcode: always codes->major_opcode */
165     CARD8       dbeReqType;     /* minor-opcode: always X_DbeEndIdom (5)    */
166     CARD16      length B16;     /* request length: (1)                      */
167
168 } xDbeEndIdiomReq;
169 #define sz_xDbeEndIdiomReq      4
170
171 typedef struct
172 {
173     CARD8       reqType;        /* always codes->major_opcode     */
174     CARD8       dbeReqType;     /* always X_DbeGetVisualInfo (6)  */
175     CARD16      length B16;     /* request length: (2+n)          */
176     CARD32      n B32;          /* n, number of drawables in list */
177
178 } xDbeGetVisualInfoReq;         /* followed by n drawables        */
179 #define sz_xDbeGetVisualInfoReq 8
180
181 typedef struct
182 {
183     BYTE        type;                   /* Reply: X_Reply (1)                */
184     CARD8       unused;                 /* unused                            */
185     CARD16      sequenceNumber B16;     /* sequence number                   */
186     CARD32      length B32;             /* reply length                      */
187     CARD32      m;                      /* m, number of visual infos in list */
188     CARD32      pad1 B32;               /* unused                            */
189     CARD32      pad2 B32;
190     CARD32      pad3 B32;
191     CARD32      pad4 B32;
192     CARD32      pad5 B32;
193
194 } xDbeGetVisualInfoReply;               /* followed by m visual infos        */
195 #define sz_xDbeGetVisualInfoReply       32
196
197 typedef struct
198 {
199     CARD8               reqType;        /* always codes->major_opcode       */
200     CARD8               dbeReqType;     /* X_DbeGetBackBufferAttributes (7) */
201     CARD16              length B16;     /* request length: (2)              */
202     xDbeBackBuffer      buffer B32;     /* back buffer name                 */
203
204 } xDbeGetBackBufferAttributesReq;
205 #define sz_xDbeGetBackBufferAttributesReq       8
206
207 typedef struct
208 {
209     BYTE        type;                   /* Reply: X_Reply (1) */
210     CARD8       unused;                 /* unused             */
211     CARD16      sequenceNumber B16;     /* sequence number    */
212     CARD32      length B32;             /* reply length: (0)  */
213     CARD32      attributes;             /* attributes         */
214     CARD32      pad1 B32;               /* unused             */
215     CARD32      pad2 B32;
216     CARD32      pad3 B32;
217     CARD32      pad4 B32;
218     CARD32      pad5 B32;
219
220 } xDbeGetBackBufferAttributesReply;
221 #define sz_xDbeGetBackBufferAttributesReply     32
222
223 #endif /* DBE_PROTO_H */
224