1/*
2 * This file generated automatically from xtest.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_Test_API XCB Test API
8 * @brief Test XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XTEST_H
13#define __XTEST_H
14
15#include "xcb.h"
16#include "xproto.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define XCB_TEST_MAJOR_VERSION 2
23#define XCB_TEST_MINOR_VERSION 2
24
25extern xcb_extension_t xcb_test_id;
26
27/**
28 * @brief xcb_test_get_version_cookie_t
29 **/
30typedef struct xcb_test_get_version_cookie_t {
31 unsigned int sequence;
32} xcb_test_get_version_cookie_t;
33
34/** Opcode for xcb_test_get_version. */
35#define XCB_TEST_GET_VERSION 0
36
37/**
38 * @brief xcb_test_get_version_request_t
39 **/
40typedef struct xcb_test_get_version_request_t {
41 uint8_t major_opcode;
42 uint8_t minor_opcode;
43 uint16_t length;
44 uint8_t major_version;
45 uint8_t pad0;
46 uint16_t minor_version;
47} xcb_test_get_version_request_t;
48
49/**
50 * @brief xcb_test_get_version_reply_t
51 **/
52typedef struct xcb_test_get_version_reply_t {
53 uint8_t response_type;
54 uint8_t major_version;
55 uint16_t sequence;
56 uint32_t length;
57 uint16_t minor_version;
58} xcb_test_get_version_reply_t;
59
60typedef enum xcb_test_cursor_t {
61 XCB_TEST_CURSOR_NONE = 0,
62 XCB_TEST_CURSOR_CURRENT = 1
63} xcb_test_cursor_t;
64
65/**
66 * @brief xcb_test_compare_cursor_cookie_t
67 **/
68typedef struct xcb_test_compare_cursor_cookie_t {
69 unsigned int sequence;
70} xcb_test_compare_cursor_cookie_t;
71
72/** Opcode for xcb_test_compare_cursor. */
73#define XCB_TEST_COMPARE_CURSOR 1
74
75/**
76 * @brief xcb_test_compare_cursor_request_t
77 **/
78typedef struct xcb_test_compare_cursor_request_t {
79 uint8_t major_opcode;
80 uint8_t minor_opcode;
81 uint16_t length;
82 xcb_window_t window;
83 xcb_cursor_t cursor;
84} xcb_test_compare_cursor_request_t;
85
86/**
87 * @brief xcb_test_compare_cursor_reply_t
88 **/
89typedef struct xcb_test_compare_cursor_reply_t {
90 uint8_t response_type;
91 uint8_t same;
92 uint16_t sequence;
93 uint32_t length;
94} xcb_test_compare_cursor_reply_t;
95
96/** Opcode for xcb_test_fake_input. */
97#define XCB_TEST_FAKE_INPUT 2
98
99/**
100 * @brief xcb_test_fake_input_request_t
101 **/
102typedef struct xcb_test_fake_input_request_t {
103 uint8_t major_opcode;
104 uint8_t minor_opcode;
105 uint16_t length;
106 uint8_t type;
107 uint8_t detail;
108 uint8_t pad0[2];
109 uint32_t time;
110 xcb_window_t root;
111 uint8_t pad1[8];
112 int16_t rootX;
113 int16_t rootY;
114 uint8_t pad2[7];
115 uint8_t deviceid;
116} xcb_test_fake_input_request_t;
117
118/** Opcode for xcb_test_grab_control. */
119#define XCB_TEST_GRAB_CONTROL 3
120
121/**
122 * @brief xcb_test_grab_control_request_t
123 **/
124typedef struct xcb_test_grab_control_request_t {
125 uint8_t major_opcode;
126 uint8_t minor_opcode;
127 uint16_t length;
128 uint8_t impervious;
129 uint8_t pad0[3];
130} xcb_test_grab_control_request_t;
131
132/**
133 *
134 * @param c The connection
135 * @return A cookie
136 *
137 * Delivers a request to the X server.
138 *
139 */
140xcb_test_get_version_cookie_t
141xcb_test_get_version (xcb_connection_t *c,
142 uint8_t major_version,
143 uint16_t minor_version);
144
145/**
146 *
147 * @param c The connection
148 * @return A cookie
149 *
150 * Delivers a request to the X server.
151 *
152 * This form can be used only if the request will cause
153 * a reply to be generated. Any returned error will be
154 * placed in the event queue.
155 */
156xcb_test_get_version_cookie_t
157xcb_test_get_version_unchecked (xcb_connection_t *c,
158 uint8_t major_version,
159 uint16_t minor_version);
160
161/**
162 * Return the reply
163 * @param c The connection
164 * @param cookie The cookie
165 * @param e The xcb_generic_error_t supplied
166 *
167 * Returns the reply of the request asked by
168 *
169 * The parameter @p e supplied to this function must be NULL if
170 * xcb_test_get_version_unchecked(). is used.
171 * Otherwise, it stores the error if any.
172 *
173 * The returned value must be freed by the caller using free().
174 */
175xcb_test_get_version_reply_t *
176xcb_test_get_version_reply (xcb_connection_t *c,
177 xcb_test_get_version_cookie_t cookie /**< */,
178 xcb_generic_error_t **e);
179
180/**
181 *
182 * @param c The connection
183 * @return A cookie
184 *
185 * Delivers a request to the X server.
186 *
187 */
188xcb_test_compare_cursor_cookie_t
189xcb_test_compare_cursor (xcb_connection_t *c,
190 xcb_window_t window,
191 xcb_cursor_t cursor);
192
193/**
194 *
195 * @param c The connection
196 * @return A cookie
197 *
198 * Delivers a request to the X server.
199 *
200 * This form can be used only if the request will cause
201 * a reply to be generated. Any returned error will be
202 * placed in the event queue.
203 */
204xcb_test_compare_cursor_cookie_t
205xcb_test_compare_cursor_unchecked (xcb_connection_t *c,
206 xcb_window_t window,
207 xcb_cursor_t cursor);
208
209/**
210 * Return the reply
211 * @param c The connection
212 * @param cookie The cookie
213 * @param e The xcb_generic_error_t supplied
214 *
215 * Returns the reply of the request asked by
216 *
217 * The parameter @p e supplied to this function must be NULL if
218 * xcb_test_compare_cursor_unchecked(). is used.
219 * Otherwise, it stores the error if any.
220 *
221 * The returned value must be freed by the caller using free().
222 */
223xcb_test_compare_cursor_reply_t *
224xcb_test_compare_cursor_reply (xcb_connection_t *c,
225 xcb_test_compare_cursor_cookie_t cookie /**< */,
226 xcb_generic_error_t **e);
227
228/**
229 *
230 * @param c The connection
231 * @return A cookie
232 *
233 * Delivers a request to the X server.
234 *
235 * This form can be used only if the request will not cause
236 * a reply to be generated. Any returned error will be
237 * saved for handling by xcb_request_check().
238 */
239xcb_void_cookie_t
240xcb_test_fake_input_checked (xcb_connection_t *c,
241 uint8_t type,
242 uint8_t detail,
243 uint32_t time,
244 xcb_window_t root,
245 int16_t rootX,
246 int16_t rootY,
247 uint8_t deviceid);
248
249/**
250 *
251 * @param c The connection
252 * @return A cookie
253 *
254 * Delivers a request to the X server.
255 *
256 */
257xcb_void_cookie_t
258xcb_test_fake_input (xcb_connection_t *c,
259 uint8_t type,
260 uint8_t detail,
261 uint32_t time,
262 xcb_window_t root,
263 int16_t rootX,
264 int16_t rootY,
265 uint8_t deviceid);
266
267/**
268 *
269 * @param c The connection
270 * @return A cookie
271 *
272 * Delivers a request to the X server.
273 *
274 * This form can be used only if the request will not cause
275 * a reply to be generated. Any returned error will be
276 * saved for handling by xcb_request_check().
277 */
278xcb_void_cookie_t
279xcb_test_grab_control_checked (xcb_connection_t *c,
280 uint8_t impervious);
281
282/**
283 *
284 * @param c The connection
285 * @return A cookie
286 *
287 * Delivers a request to the X server.
288 *
289 */
290xcb_void_cookie_t
291xcb_test_grab_control (xcb_connection_t *c,
292 uint8_t impervious);
293
294
295#ifdef __cplusplus
296}
297#endif
298
299#endif
300
301/**
302 * @}
303 */
304