1/*
2 * This file generated automatically from xtest.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6#include <string.h>
7#include <assert.h>
8#include "xcbext.h"
9#include "xtest.h"
10#include "xproto.h"
11
12xcb_extension_t xcb_test_id = { "XTEST", 0 };
13
14
15/*****************************************************************************
16 **
17 ** xcb_test_get_version_cookie_t xcb_test_get_version
18 **
19 ** @param xcb_connection_t *c
20 ** @param uint8_t           major_version
21 ** @param uint16_t          minor_version
22 ** @returns xcb_test_get_version_cookie_t
23 **
24 *****************************************************************************/
25
26xcb_test_get_version_cookie_t
27xcb_test_get_version (xcb_connection_t *c  /**< */,
28                      uint8_t           major_version  /**< */,
29                      uint16_t          minor_version  /**< */)
30{
31    static const xcb_protocol_request_t xcb_req = {
32        /* count */ 2,
33        /* ext */ &xcb_test_id,
34        /* opcode */ XCB_TEST_GET_VERSION,
35        /* isvoid */ 0
36    };
37
38    struct iovec xcb_parts[4];
39    xcb_test_get_version_cookie_t xcb_ret;
40    xcb_test_get_version_request_t xcb_out;
41
42    xcb_out.major_version = major_version;
43    xcb_out.pad0 = 0;
44    xcb_out.minor_version = minor_version;
45
46    xcb_parts[2].iov_base = (char *) &xcb_out;
47    xcb_parts[2].iov_len = sizeof(xcb_out);
48    xcb_parts[3].iov_base = 0;
49    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
50    xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
51    return xcb_ret;
52}
53
54
55/*****************************************************************************
56 **
57 ** xcb_test_get_version_cookie_t xcb_test_get_version_unchecked
58 **
59 ** @param xcb_connection_t *c
60 ** @param uint8_t           major_version
61 ** @param uint16_t          minor_version
62 ** @returns xcb_test_get_version_cookie_t
63 **
64 *****************************************************************************/
65
66xcb_test_get_version_cookie_t
67xcb_test_get_version_unchecked (xcb_connection_t *c  /**< */,
68                                uint8_t           major_version  /**< */,
69                                uint16_t          minor_version  /**< */)
70{
71    static const xcb_protocol_request_t xcb_req = {
72        /* count */ 2,
73        /* ext */ &xcb_test_id,
74        /* opcode */ XCB_TEST_GET_VERSION,
75        /* isvoid */ 0
76    };
77
78    struct iovec xcb_parts[4];
79    xcb_test_get_version_cookie_t xcb_ret;
80    xcb_test_get_version_request_t xcb_out;
81
82    xcb_out.major_version = major_version;
83    xcb_out.pad0 = 0;
84    xcb_out.minor_version = minor_version;
85
86    xcb_parts[2].iov_base = (char *) &xcb_out;
87    xcb_parts[2].iov_len = sizeof(xcb_out);
88    xcb_parts[3].iov_base = 0;
89    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
90    xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
91    return xcb_ret;
92}
93
94
95/*****************************************************************************
96 **
97 ** xcb_test_get_version_reply_t * xcb_test_get_version_reply
98 **
99 ** @param xcb_connection_t               *c
100 ** @param xcb_test_get_version_cookie_t   cookie
101 ** @param xcb_generic_error_t           **e
102 ** @returns xcb_test_get_version_reply_t *
103 **
104 *****************************************************************************/
105
106xcb_test_get_version_reply_t *
107xcb_test_get_version_reply (xcb_connection_t               *c  /**< */,
108                            xcb_test_get_version_cookie_t   cookie  /**< */,
109                            xcb_generic_error_t           **e  /**< */)
110{
111    return (xcb_test_get_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
112}
113
114
115/*****************************************************************************
116 **
117 ** xcb_test_compare_cursor_cookie_t xcb_test_compare_cursor
118 **
119 ** @param xcb_connection_t *c
120 ** @param xcb_window_t      window
121 ** @param xcb_cursor_t      cursor
122 ** @returns xcb_test_compare_cursor_cookie_t
123 **
124 *****************************************************************************/
125
126xcb_test_compare_cursor_cookie_t
127xcb_test_compare_cursor (xcb_connection_t *c  /**< */,
128                         xcb_window_t      window  /**< */,
129                         xcb_cursor_t      cursor  /**< */)
130{
131    static const xcb_protocol_request_t xcb_req = {
132        /* count */ 2,
133        /* ext */ &xcb_test_id,
134        /* opcode */ XCB_TEST_COMPARE_CURSOR,
135        /* isvoid */ 0
136    };
137
138    struct iovec xcb_parts[4];
139    xcb_test_compare_cursor_cookie_t xcb_ret;
140    xcb_test_compare_cursor_request_t xcb_out;
141
142    xcb_out.window = window;
143    xcb_out.cursor = cursor;
144
145    xcb_parts[2].iov_base = (char *) &xcb_out;
146    xcb_parts[2].iov_len = sizeof(xcb_out);
147    xcb_parts[3].iov_base = 0;
148    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
149    xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
150    return xcb_ret;
151}
152
153
154/*****************************************************************************
155 **
156 ** xcb_test_compare_cursor_cookie_t xcb_test_compare_cursor_unchecked
157 **
158 ** @param xcb_connection_t *c
159 ** @param xcb_window_t      window
160 ** @param xcb_cursor_t      cursor
161 ** @returns xcb_test_compare_cursor_cookie_t
162 **
163 *****************************************************************************/
164
165xcb_test_compare_cursor_cookie_t
166xcb_test_compare_cursor_unchecked (xcb_connection_t *c  /**< */,
167                                   xcb_window_t      window  /**< */,
168                                   xcb_cursor_t      cursor  /**< */)
169{
170    static const xcb_protocol_request_t xcb_req = {
171        /* count */ 2,
172        /* ext */ &xcb_test_id,
173        /* opcode */ XCB_TEST_COMPARE_CURSOR,
174        /* isvoid */ 0
175    };
176
177    struct iovec xcb_parts[4];
178    xcb_test_compare_cursor_cookie_t xcb_ret;
179    xcb_test_compare_cursor_request_t xcb_out;
180
181    xcb_out.window = window;
182    xcb_out.cursor = cursor;
183
184    xcb_parts[2].iov_base = (char *) &xcb_out;
185    xcb_parts[2].iov_len = sizeof(xcb_out);
186    xcb_parts[3].iov_base = 0;
187    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
188    xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
189    return xcb_ret;
190}
191
192
193/*****************************************************************************
194 **
195 ** xcb_test_compare_cursor_reply_t * xcb_test_compare_cursor_reply
196 **
197 ** @param xcb_connection_t                  *c
198 ** @param xcb_test_compare_cursor_cookie_t   cookie
199 ** @param xcb_generic_error_t              **e
200 ** @returns xcb_test_compare_cursor_reply_t *
201 **
202 *****************************************************************************/
203
204xcb_test_compare_cursor_reply_t *
205xcb_test_compare_cursor_reply (xcb_connection_t                  *c  /**< */,
206                               xcb_test_compare_cursor_cookie_t   cookie  /**< */,
207                               xcb_generic_error_t              **e  /**< */)
208{
209    return (xcb_test_compare_cursor_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
210}
211
212
213/*****************************************************************************
214 **
215 ** xcb_void_cookie_t xcb_test_fake_input_checked
216 **
217 ** @param xcb_connection_t *c
218 ** @param uint8_t           type
219 ** @param uint8_t           detail
220 ** @param uint32_t          time
221 ** @param xcb_window_t      root
222 ** @param uint16_t          rootX
223 ** @param uint16_t          rootY
224 ** @param uint8_t           deviceid
225 ** @returns xcb_void_cookie_t
226 **
227 *****************************************************************************/
228
229xcb_void_cookie_t
230xcb_test_fake_input_checked (xcb_connection_t *c  /**< */,
231                             uint8_t           type  /**< */,
232                             uint8_t           detail  /**< */,
233                             uint32_t          time  /**< */,
234                             xcb_window_t      root  /**< */,
235                             uint16_t          rootX  /**< */,
236                             uint16_t          rootY  /**< */,
237                             uint8_t           deviceid  /**< */)
238{
239    static const xcb_protocol_request_t xcb_req = {
240        /* count */ 2,
241        /* ext */ &xcb_test_id,
242        /* opcode */ XCB_TEST_FAKE_INPUT,
243        /* isvoid */ 1
244    };
245
246    struct iovec xcb_parts[4];
247    xcb_void_cookie_t xcb_ret;
248    xcb_test_fake_input_request_t xcb_out;
249
250    xcb_out.type = type;
251    xcb_out.detail = detail;
252    memset(xcb_out.pad0, 0, 2);
253    xcb_out.time = time;
254    xcb_out.root = root;
255    memset(xcb_out.pad1, 0, 8);
256    xcb_out.rootX = rootX;
257    xcb_out.rootY = rootY;
258    memset(xcb_out.pad2, 0, 7);
259    xcb_out.deviceid = deviceid;
260
261    xcb_parts[2].iov_base = (char *) &xcb_out;
262    xcb_parts[2].iov_len = sizeof(xcb_out);
263    xcb_parts[3].iov_base = 0;
264    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
265    xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
266    return xcb_ret;
267}
268
269
270/*****************************************************************************
271 **
272 ** xcb_void_cookie_t xcb_test_fake_input
273 **
274 ** @param xcb_connection_t *c
275 ** @param uint8_t           type
276 ** @param uint8_t           detail
277 ** @param uint32_t          time
278 ** @param xcb_window_t      root
279 ** @param uint16_t          rootX
280 ** @param uint16_t          rootY
281 ** @param uint8_t           deviceid
282 ** @returns xcb_void_cookie_t
283 **
284 *****************************************************************************/
285
286xcb_void_cookie_t
287xcb_test_fake_input (xcb_connection_t *c  /**< */,
288                     uint8_t           type  /**< */,
289                     uint8_t           detail  /**< */,
290                     uint32_t          time  /**< */,
291                     xcb_window_t      root  /**< */,
292                     uint16_t          rootX  /**< */,
293                     uint16_t          rootY  /**< */,
294                     uint8_t           deviceid  /**< */)
295{
296    static const xcb_protocol_request_t xcb_req = {
297        /* count */ 2,
298        /* ext */ &xcb_test_id,
299        /* opcode */ XCB_TEST_FAKE_INPUT,
300        /* isvoid */ 1
301    };
302
303    struct iovec xcb_parts[4];
304    xcb_void_cookie_t xcb_ret;
305    xcb_test_fake_input_request_t xcb_out;
306
307    xcb_out.type = type;
308    xcb_out.detail = detail;
309    memset(xcb_out.pad0, 0, 2);
310    xcb_out.time = time;
311    xcb_out.root = root;
312    memset(xcb_out.pad1, 0, 8);
313    xcb_out.rootX = rootX;
314    xcb_out.rootY = rootY;
315    memset(xcb_out.pad2, 0, 7);
316    xcb_out.deviceid = deviceid;
317
318    xcb_parts[2].iov_base = (char *) &xcb_out;
319    xcb_parts[2].iov_len = sizeof(xcb_out);
320    xcb_parts[3].iov_base = 0;
321    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
322    xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
323    return xcb_ret;
324}
325
326
327/*****************************************************************************
328 **
329 ** xcb_void_cookie_t xcb_test_grab_control_checked
330 **
331 ** @param xcb_connection_t *c
332 ** @param uint8_t           impervious
333 ** @returns xcb_void_cookie_t
334 **
335 *****************************************************************************/
336
337xcb_void_cookie_t
338xcb_test_grab_control_checked (xcb_connection_t *c  /**< */,
339                               uint8_t           impervious  /**< */)
340{
341    static const xcb_protocol_request_t xcb_req = {
342        /* count */ 2,
343        /* ext */ &xcb_test_id,
344        /* opcode */ XCB_TEST_GRAB_CONTROL,
345        /* isvoid */ 1
346    };
347
348    struct iovec xcb_parts[4];
349    xcb_void_cookie_t xcb_ret;
350    xcb_test_grab_control_request_t xcb_out;
351
352    xcb_out.impervious = impervious;
353    memset(xcb_out.pad0, 0, 3);
354
355    xcb_parts[2].iov_base = (char *) &xcb_out;
356    xcb_parts[2].iov_len = sizeof(xcb_out);
357    xcb_parts[3].iov_base = 0;
358    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
359    xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
360    return xcb_ret;
361}
362
363
364/*****************************************************************************
365 **
366 ** xcb_void_cookie_t xcb_test_grab_control
367 **
368 ** @param xcb_connection_t *c
369 ** @param uint8_t           impervious
370 ** @returns xcb_void_cookie_t
371 **
372 *****************************************************************************/
373
374xcb_void_cookie_t
375xcb_test_grab_control (xcb_connection_t *c  /**< */,
376                       uint8_t           impervious  /**< */)
377{
378    static const xcb_protocol_request_t xcb_req = {
379        /* count */ 2,
380        /* ext */ &xcb_test_id,
381        /* opcode */ XCB_TEST_GRAB_CONTROL,
382        /* isvoid */ 1
383    };
384
385    struct iovec xcb_parts[4];
386    xcb_void_cookie_t xcb_ret;
387    xcb_test_grab_control_request_t xcb_out;
388
389    xcb_out.impervious = impervious;
390    memset(xcb_out.pad0, 0, 3);
391
392    xcb_parts[2].iov_base = (char *) &xcb_out;
393    xcb_parts[2].iov_len = sizeof(xcb_out);
394    xcb_parts[3].iov_base = 0;
395    xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
396    xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
397    return xcb_ret;
398}
399
400