xinput.c revision 1.1.12.1 1 1.1 mrg /*
2 1.1 mrg * This file generated automatically from xinput.xml by c_client.py.
3 1.1 mrg * Edit at your peril.
4 1.1 mrg */
5 1.1 mrg
6 1.1.12.1 tls #ifdef HAVE_CONFIG_H
7 1.1.12.1 tls #include "config.h"
8 1.1.12.1 tls #endif
9 1.1.12.1 tls #include <stdlib.h>
10 1.1 mrg #include <string.h>
11 1.1 mrg #include <assert.h>
12 1.1.12.1 tls #include <stddef.h> /* for offsetof() */
13 1.1 mrg #include "xcbext.h"
14 1.1 mrg #include "xinput.h"
15 1.1.12.1 tls
16 1.1.12.1 tls #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 1.1 mrg #include "xproto.h"
18 1.1 mrg
19 1.1 mrg xcb_extension_t xcb_input_id = { "XInputExtension", 0 };
20 1.1 mrg
21 1.1 mrg
22 1.1 mrg /*****************************************************************************
23 1.1 mrg **
24 1.1 mrg ** void xcb_input_key_code_next
25 1.1 mrg **
26 1.1 mrg ** @param xcb_input_key_code_iterator_t *i
27 1.1 mrg ** @returns void
28 1.1 mrg **
29 1.1 mrg *****************************************************************************/
30 1.1 mrg
31 1.1 mrg void
32 1.1 mrg xcb_input_key_code_next (xcb_input_key_code_iterator_t *i /**< */)
33 1.1 mrg {
34 1.1 mrg --i->rem;
35 1.1 mrg ++i->data;
36 1.1 mrg i->index += sizeof(xcb_input_key_code_t);
37 1.1 mrg }
38 1.1 mrg
39 1.1 mrg
40 1.1 mrg /*****************************************************************************
41 1.1 mrg **
42 1.1 mrg ** xcb_generic_iterator_t xcb_input_key_code_end
43 1.1 mrg **
44 1.1 mrg ** @param xcb_input_key_code_iterator_t i
45 1.1 mrg ** @returns xcb_generic_iterator_t
46 1.1 mrg **
47 1.1 mrg *****************************************************************************/
48 1.1 mrg
49 1.1 mrg xcb_generic_iterator_t
50 1.1 mrg xcb_input_key_code_end (xcb_input_key_code_iterator_t i /**< */)
51 1.1 mrg {
52 1.1 mrg xcb_generic_iterator_t ret;
53 1.1 mrg ret.data = i.data + i.rem;
54 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
55 1.1 mrg ret.rem = 0;
56 1.1 mrg return ret;
57 1.1 mrg }
58 1.1 mrg
59 1.1 mrg
60 1.1 mrg /*****************************************************************************
61 1.1 mrg **
62 1.1 mrg ** void xcb_input_event_class_next
63 1.1 mrg **
64 1.1 mrg ** @param xcb_input_event_class_iterator_t *i
65 1.1 mrg ** @returns void
66 1.1 mrg **
67 1.1 mrg *****************************************************************************/
68 1.1 mrg
69 1.1 mrg void
70 1.1 mrg xcb_input_event_class_next (xcb_input_event_class_iterator_t *i /**< */)
71 1.1 mrg {
72 1.1 mrg --i->rem;
73 1.1 mrg ++i->data;
74 1.1 mrg i->index += sizeof(xcb_input_event_class_t);
75 1.1 mrg }
76 1.1 mrg
77 1.1 mrg
78 1.1 mrg /*****************************************************************************
79 1.1 mrg **
80 1.1 mrg ** xcb_generic_iterator_t xcb_input_event_class_end
81 1.1 mrg **
82 1.1 mrg ** @param xcb_input_event_class_iterator_t i
83 1.1 mrg ** @returns xcb_generic_iterator_t
84 1.1 mrg **
85 1.1 mrg *****************************************************************************/
86 1.1 mrg
87 1.1 mrg xcb_generic_iterator_t
88 1.1 mrg xcb_input_event_class_end (xcb_input_event_class_iterator_t i /**< */)
89 1.1 mrg {
90 1.1 mrg xcb_generic_iterator_t ret;
91 1.1 mrg ret.data = i.data + i.rem;
92 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
93 1.1 mrg ret.rem = 0;
94 1.1 mrg return ret;
95 1.1 mrg }
96 1.1 mrg
97 1.1.12.1 tls int
98 1.1.12.1 tls xcb_input_get_extension_version_sizeof (const void *_buffer /**< */)
99 1.1.12.1 tls {
100 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
101 1.1.12.1 tls const xcb_input_get_extension_version_request_t *_aux = (xcb_input_get_extension_version_request_t *)_buffer;
102 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
103 1.1.12.1 tls unsigned int xcb_block_len = 0;
104 1.1.12.1 tls unsigned int xcb_pad = 0;
105 1.1.12.1 tls unsigned int xcb_align_to;
106 1.1.12.1 tls
107 1.1.12.1 tls
108 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_get_extension_version_request_t);
109 1.1.12.1 tls xcb_tmp += xcb_block_len;
110 1.1.12.1 tls /* name */
111 1.1.12.1 tls xcb_block_len += _aux->name_len * sizeof(char);
112 1.1.12.1 tls xcb_tmp += xcb_block_len;
113 1.1.12.1 tls xcb_align_to = ALIGNOF(char);
114 1.1.12.1 tls /* insert padding */
115 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
116 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
117 1.1.12.1 tls if (0 != xcb_pad) {
118 1.1.12.1 tls xcb_tmp += xcb_pad;
119 1.1.12.1 tls xcb_pad = 0;
120 1.1.12.1 tls }
121 1.1.12.1 tls xcb_block_len = 0;
122 1.1.12.1 tls
123 1.1.12.1 tls return xcb_buffer_len;
124 1.1.12.1 tls }
125 1.1.12.1 tls
126 1.1 mrg
127 1.1 mrg /*****************************************************************************
128 1.1 mrg **
129 1.1 mrg ** xcb_input_get_extension_version_cookie_t xcb_input_get_extension_version
130 1.1 mrg **
131 1.1 mrg ** @param xcb_connection_t *c
132 1.1 mrg ** @param uint16_t name_len
133 1.1 mrg ** @param const char *name
134 1.1 mrg ** @returns xcb_input_get_extension_version_cookie_t
135 1.1 mrg **
136 1.1 mrg *****************************************************************************/
137 1.1 mrg
138 1.1 mrg xcb_input_get_extension_version_cookie_t
139 1.1 mrg xcb_input_get_extension_version (xcb_connection_t *c /**< */,
140 1.1 mrg uint16_t name_len /**< */,
141 1.1 mrg const char *name /**< */)
142 1.1 mrg {
143 1.1 mrg static const xcb_protocol_request_t xcb_req = {
144 1.1 mrg /* count */ 4,
145 1.1 mrg /* ext */ &xcb_input_id,
146 1.1 mrg /* opcode */ XCB_INPUT_GET_EXTENSION_VERSION,
147 1.1 mrg /* isvoid */ 0
148 1.1 mrg };
149 1.1 mrg
150 1.1 mrg struct iovec xcb_parts[6];
151 1.1 mrg xcb_input_get_extension_version_cookie_t xcb_ret;
152 1.1 mrg xcb_input_get_extension_version_request_t xcb_out;
153 1.1 mrg
154 1.1 mrg xcb_out.name_len = name_len;
155 1.1 mrg memset(xcb_out.pad0, 0, 2);
156 1.1 mrg
157 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
158 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
159 1.1 mrg xcb_parts[3].iov_base = 0;
160 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
161 1.1.12.1 tls /* char name */
162 1.1 mrg xcb_parts[4].iov_base = (char *) name;
163 1.1 mrg xcb_parts[4].iov_len = name_len * sizeof(char);
164 1.1 mrg xcb_parts[5].iov_base = 0;
165 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
166 1.1.12.1 tls
167 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
168 1.1 mrg return xcb_ret;
169 1.1 mrg }
170 1.1 mrg
171 1.1 mrg
172 1.1 mrg /*****************************************************************************
173 1.1 mrg **
174 1.1 mrg ** xcb_input_get_extension_version_cookie_t xcb_input_get_extension_version_unchecked
175 1.1 mrg **
176 1.1 mrg ** @param xcb_connection_t *c
177 1.1 mrg ** @param uint16_t name_len
178 1.1 mrg ** @param const char *name
179 1.1 mrg ** @returns xcb_input_get_extension_version_cookie_t
180 1.1 mrg **
181 1.1 mrg *****************************************************************************/
182 1.1 mrg
183 1.1 mrg xcb_input_get_extension_version_cookie_t
184 1.1 mrg xcb_input_get_extension_version_unchecked (xcb_connection_t *c /**< */,
185 1.1 mrg uint16_t name_len /**< */,
186 1.1 mrg const char *name /**< */)
187 1.1 mrg {
188 1.1 mrg static const xcb_protocol_request_t xcb_req = {
189 1.1 mrg /* count */ 4,
190 1.1 mrg /* ext */ &xcb_input_id,
191 1.1 mrg /* opcode */ XCB_INPUT_GET_EXTENSION_VERSION,
192 1.1 mrg /* isvoid */ 0
193 1.1 mrg };
194 1.1 mrg
195 1.1 mrg struct iovec xcb_parts[6];
196 1.1 mrg xcb_input_get_extension_version_cookie_t xcb_ret;
197 1.1 mrg xcb_input_get_extension_version_request_t xcb_out;
198 1.1 mrg
199 1.1 mrg xcb_out.name_len = name_len;
200 1.1 mrg memset(xcb_out.pad0, 0, 2);
201 1.1 mrg
202 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
203 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
204 1.1 mrg xcb_parts[3].iov_base = 0;
205 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
206 1.1.12.1 tls /* char name */
207 1.1 mrg xcb_parts[4].iov_base = (char *) name;
208 1.1 mrg xcb_parts[4].iov_len = name_len * sizeof(char);
209 1.1 mrg xcb_parts[5].iov_base = 0;
210 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
211 1.1.12.1 tls
212 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
213 1.1 mrg return xcb_ret;
214 1.1 mrg }
215 1.1 mrg
216 1.1 mrg
217 1.1 mrg /*****************************************************************************
218 1.1 mrg **
219 1.1 mrg ** xcb_input_get_extension_version_reply_t * xcb_input_get_extension_version_reply
220 1.1 mrg **
221 1.1 mrg ** @param xcb_connection_t *c
222 1.1 mrg ** @param xcb_input_get_extension_version_cookie_t cookie
223 1.1 mrg ** @param xcb_generic_error_t **e
224 1.1 mrg ** @returns xcb_input_get_extension_version_reply_t *
225 1.1 mrg **
226 1.1 mrg *****************************************************************************/
227 1.1 mrg
228 1.1 mrg xcb_input_get_extension_version_reply_t *
229 1.1 mrg xcb_input_get_extension_version_reply (xcb_connection_t *c /**< */,
230 1.1 mrg xcb_input_get_extension_version_cookie_t cookie /**< */,
231 1.1 mrg xcb_generic_error_t **e /**< */)
232 1.1 mrg {
233 1.1 mrg return (xcb_input_get_extension_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
234 1.1 mrg }
235 1.1 mrg
236 1.1 mrg
237 1.1 mrg /*****************************************************************************
238 1.1 mrg **
239 1.1 mrg ** void xcb_input_device_info_next
240 1.1 mrg **
241 1.1 mrg ** @param xcb_input_device_info_iterator_t *i
242 1.1 mrg ** @returns void
243 1.1 mrg **
244 1.1 mrg *****************************************************************************/
245 1.1 mrg
246 1.1 mrg void
247 1.1 mrg xcb_input_device_info_next (xcb_input_device_info_iterator_t *i /**< */)
248 1.1 mrg {
249 1.1 mrg --i->rem;
250 1.1 mrg ++i->data;
251 1.1 mrg i->index += sizeof(xcb_input_device_info_t);
252 1.1 mrg }
253 1.1 mrg
254 1.1 mrg
255 1.1 mrg /*****************************************************************************
256 1.1 mrg **
257 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_info_end
258 1.1 mrg **
259 1.1 mrg ** @param xcb_input_device_info_iterator_t i
260 1.1 mrg ** @returns xcb_generic_iterator_t
261 1.1 mrg **
262 1.1 mrg *****************************************************************************/
263 1.1 mrg
264 1.1 mrg xcb_generic_iterator_t
265 1.1 mrg xcb_input_device_info_end (xcb_input_device_info_iterator_t i /**< */)
266 1.1 mrg {
267 1.1 mrg xcb_generic_iterator_t ret;
268 1.1 mrg ret.data = i.data + i.rem;
269 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
270 1.1 mrg ret.rem = 0;
271 1.1 mrg return ret;
272 1.1 mrg }
273 1.1 mrg
274 1.1.12.1 tls int
275 1.1.12.1 tls xcb_input_list_input_devices_sizeof (const void *_buffer /**< */)
276 1.1.12.1 tls {
277 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
278 1.1.12.1 tls const xcb_input_list_input_devices_reply_t *_aux = (xcb_input_list_input_devices_reply_t *)_buffer;
279 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
280 1.1.12.1 tls unsigned int xcb_block_len = 0;
281 1.1.12.1 tls unsigned int xcb_pad = 0;
282 1.1.12.1 tls unsigned int xcb_align_to;
283 1.1.12.1 tls
284 1.1.12.1 tls
285 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_list_input_devices_reply_t);
286 1.1.12.1 tls xcb_tmp += xcb_block_len;
287 1.1.12.1 tls /* devices */
288 1.1.12.1 tls xcb_block_len += _aux->devices_len * sizeof(xcb_input_device_info_t);
289 1.1.12.1 tls xcb_tmp += xcb_block_len;
290 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_device_info_t);
291 1.1.12.1 tls /* insert padding */
292 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
293 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
294 1.1.12.1 tls if (0 != xcb_pad) {
295 1.1.12.1 tls xcb_tmp += xcb_pad;
296 1.1.12.1 tls xcb_pad = 0;
297 1.1.12.1 tls }
298 1.1.12.1 tls xcb_block_len = 0;
299 1.1.12.1 tls
300 1.1.12.1 tls return xcb_buffer_len;
301 1.1.12.1 tls }
302 1.1.12.1 tls
303 1.1 mrg
304 1.1 mrg /*****************************************************************************
305 1.1 mrg **
306 1.1 mrg ** xcb_input_list_input_devices_cookie_t xcb_input_list_input_devices
307 1.1 mrg **
308 1.1 mrg ** @param xcb_connection_t *c
309 1.1 mrg ** @returns xcb_input_list_input_devices_cookie_t
310 1.1 mrg **
311 1.1 mrg *****************************************************************************/
312 1.1 mrg
313 1.1 mrg xcb_input_list_input_devices_cookie_t
314 1.1 mrg xcb_input_list_input_devices (xcb_connection_t *c /**< */)
315 1.1 mrg {
316 1.1 mrg static const xcb_protocol_request_t xcb_req = {
317 1.1 mrg /* count */ 2,
318 1.1 mrg /* ext */ &xcb_input_id,
319 1.1 mrg /* opcode */ XCB_INPUT_LIST_INPUT_DEVICES,
320 1.1 mrg /* isvoid */ 0
321 1.1 mrg };
322 1.1 mrg
323 1.1 mrg struct iovec xcb_parts[4];
324 1.1 mrg xcb_input_list_input_devices_cookie_t xcb_ret;
325 1.1 mrg xcb_input_list_input_devices_request_t xcb_out;
326 1.1 mrg
327 1.1 mrg
328 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
329 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
330 1.1 mrg xcb_parts[3].iov_base = 0;
331 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
332 1.1.12.1 tls
333 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
334 1.1 mrg return xcb_ret;
335 1.1 mrg }
336 1.1 mrg
337 1.1 mrg
338 1.1 mrg /*****************************************************************************
339 1.1 mrg **
340 1.1 mrg ** xcb_input_list_input_devices_cookie_t xcb_input_list_input_devices_unchecked
341 1.1 mrg **
342 1.1 mrg ** @param xcb_connection_t *c
343 1.1 mrg ** @returns xcb_input_list_input_devices_cookie_t
344 1.1 mrg **
345 1.1 mrg *****************************************************************************/
346 1.1 mrg
347 1.1 mrg xcb_input_list_input_devices_cookie_t
348 1.1 mrg xcb_input_list_input_devices_unchecked (xcb_connection_t *c /**< */)
349 1.1 mrg {
350 1.1 mrg static const xcb_protocol_request_t xcb_req = {
351 1.1 mrg /* count */ 2,
352 1.1 mrg /* ext */ &xcb_input_id,
353 1.1 mrg /* opcode */ XCB_INPUT_LIST_INPUT_DEVICES,
354 1.1 mrg /* isvoid */ 0
355 1.1 mrg };
356 1.1 mrg
357 1.1 mrg struct iovec xcb_parts[4];
358 1.1 mrg xcb_input_list_input_devices_cookie_t xcb_ret;
359 1.1 mrg xcb_input_list_input_devices_request_t xcb_out;
360 1.1 mrg
361 1.1 mrg
362 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
363 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
364 1.1 mrg xcb_parts[3].iov_base = 0;
365 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
366 1.1.12.1 tls
367 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
368 1.1 mrg return xcb_ret;
369 1.1 mrg }
370 1.1 mrg
371 1.1 mrg
372 1.1 mrg /*****************************************************************************
373 1.1 mrg **
374 1.1 mrg ** xcb_input_device_info_t * xcb_input_list_input_devices_devices
375 1.1 mrg **
376 1.1 mrg ** @param const xcb_input_list_input_devices_reply_t *R
377 1.1 mrg ** @returns xcb_input_device_info_t *
378 1.1 mrg **
379 1.1 mrg *****************************************************************************/
380 1.1 mrg
381 1.1 mrg xcb_input_device_info_t *
382 1.1 mrg xcb_input_list_input_devices_devices (const xcb_input_list_input_devices_reply_t *R /**< */)
383 1.1 mrg {
384 1.1 mrg return (xcb_input_device_info_t *) (R + 1);
385 1.1 mrg }
386 1.1 mrg
387 1.1 mrg
388 1.1 mrg /*****************************************************************************
389 1.1 mrg **
390 1.1 mrg ** int xcb_input_list_input_devices_devices_length
391 1.1 mrg **
392 1.1 mrg ** @param const xcb_input_list_input_devices_reply_t *R
393 1.1 mrg ** @returns int
394 1.1 mrg **
395 1.1 mrg *****************************************************************************/
396 1.1 mrg
397 1.1 mrg int
398 1.1 mrg xcb_input_list_input_devices_devices_length (const xcb_input_list_input_devices_reply_t *R /**< */)
399 1.1 mrg {
400 1.1 mrg return R->devices_len;
401 1.1 mrg }
402 1.1 mrg
403 1.1 mrg
404 1.1 mrg /*****************************************************************************
405 1.1 mrg **
406 1.1 mrg ** xcb_input_device_info_iterator_t xcb_input_list_input_devices_devices_iterator
407 1.1 mrg **
408 1.1 mrg ** @param const xcb_input_list_input_devices_reply_t *R
409 1.1 mrg ** @returns xcb_input_device_info_iterator_t
410 1.1 mrg **
411 1.1 mrg *****************************************************************************/
412 1.1 mrg
413 1.1 mrg xcb_input_device_info_iterator_t
414 1.1 mrg xcb_input_list_input_devices_devices_iterator (const xcb_input_list_input_devices_reply_t *R /**< */)
415 1.1 mrg {
416 1.1 mrg xcb_input_device_info_iterator_t i;
417 1.1 mrg i.data = (xcb_input_device_info_t *) (R + 1);
418 1.1 mrg i.rem = R->devices_len;
419 1.1 mrg i.index = (char *) i.data - (char *) R;
420 1.1 mrg return i;
421 1.1 mrg }
422 1.1 mrg
423 1.1 mrg
424 1.1 mrg /*****************************************************************************
425 1.1 mrg **
426 1.1 mrg ** xcb_input_list_input_devices_reply_t * xcb_input_list_input_devices_reply
427 1.1 mrg **
428 1.1 mrg ** @param xcb_connection_t *c
429 1.1 mrg ** @param xcb_input_list_input_devices_cookie_t cookie
430 1.1 mrg ** @param xcb_generic_error_t **e
431 1.1 mrg ** @returns xcb_input_list_input_devices_reply_t *
432 1.1 mrg **
433 1.1 mrg *****************************************************************************/
434 1.1 mrg
435 1.1 mrg xcb_input_list_input_devices_reply_t *
436 1.1 mrg xcb_input_list_input_devices_reply (xcb_connection_t *c /**< */,
437 1.1 mrg xcb_input_list_input_devices_cookie_t cookie /**< */,
438 1.1 mrg xcb_generic_error_t **e /**< */)
439 1.1 mrg {
440 1.1 mrg return (xcb_input_list_input_devices_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
441 1.1 mrg }
442 1.1 mrg
443 1.1 mrg
444 1.1 mrg /*****************************************************************************
445 1.1 mrg **
446 1.1 mrg ** void xcb_input_input_info_next
447 1.1 mrg **
448 1.1 mrg ** @param xcb_input_input_info_iterator_t *i
449 1.1 mrg ** @returns void
450 1.1 mrg **
451 1.1 mrg *****************************************************************************/
452 1.1 mrg
453 1.1 mrg void
454 1.1 mrg xcb_input_input_info_next (xcb_input_input_info_iterator_t *i /**< */)
455 1.1 mrg {
456 1.1 mrg --i->rem;
457 1.1 mrg ++i->data;
458 1.1 mrg i->index += sizeof(xcb_input_input_info_t);
459 1.1 mrg }
460 1.1 mrg
461 1.1 mrg
462 1.1 mrg /*****************************************************************************
463 1.1 mrg **
464 1.1 mrg ** xcb_generic_iterator_t xcb_input_input_info_end
465 1.1 mrg **
466 1.1 mrg ** @param xcb_input_input_info_iterator_t i
467 1.1 mrg ** @returns xcb_generic_iterator_t
468 1.1 mrg **
469 1.1 mrg *****************************************************************************/
470 1.1 mrg
471 1.1 mrg xcb_generic_iterator_t
472 1.1 mrg xcb_input_input_info_end (xcb_input_input_info_iterator_t i /**< */)
473 1.1 mrg {
474 1.1 mrg xcb_generic_iterator_t ret;
475 1.1 mrg ret.data = i.data + i.rem;
476 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
477 1.1 mrg ret.rem = 0;
478 1.1 mrg return ret;
479 1.1 mrg }
480 1.1 mrg
481 1.1 mrg
482 1.1 mrg /*****************************************************************************
483 1.1 mrg **
484 1.1 mrg ** void xcb_input_key_info_next
485 1.1 mrg **
486 1.1 mrg ** @param xcb_input_key_info_iterator_t *i
487 1.1 mrg ** @returns void
488 1.1 mrg **
489 1.1 mrg *****************************************************************************/
490 1.1 mrg
491 1.1 mrg void
492 1.1 mrg xcb_input_key_info_next (xcb_input_key_info_iterator_t *i /**< */)
493 1.1 mrg {
494 1.1 mrg --i->rem;
495 1.1 mrg ++i->data;
496 1.1 mrg i->index += sizeof(xcb_input_key_info_t);
497 1.1 mrg }
498 1.1 mrg
499 1.1 mrg
500 1.1 mrg /*****************************************************************************
501 1.1 mrg **
502 1.1 mrg ** xcb_generic_iterator_t xcb_input_key_info_end
503 1.1 mrg **
504 1.1 mrg ** @param xcb_input_key_info_iterator_t i
505 1.1 mrg ** @returns xcb_generic_iterator_t
506 1.1 mrg **
507 1.1 mrg *****************************************************************************/
508 1.1 mrg
509 1.1 mrg xcb_generic_iterator_t
510 1.1 mrg xcb_input_key_info_end (xcb_input_key_info_iterator_t i /**< */)
511 1.1 mrg {
512 1.1 mrg xcb_generic_iterator_t ret;
513 1.1 mrg ret.data = i.data + i.rem;
514 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
515 1.1 mrg ret.rem = 0;
516 1.1 mrg return ret;
517 1.1 mrg }
518 1.1 mrg
519 1.1 mrg
520 1.1 mrg /*****************************************************************************
521 1.1 mrg **
522 1.1 mrg ** void xcb_input_button_info_next
523 1.1 mrg **
524 1.1 mrg ** @param xcb_input_button_info_iterator_t *i
525 1.1 mrg ** @returns void
526 1.1 mrg **
527 1.1 mrg *****************************************************************************/
528 1.1 mrg
529 1.1 mrg void
530 1.1 mrg xcb_input_button_info_next (xcb_input_button_info_iterator_t *i /**< */)
531 1.1 mrg {
532 1.1 mrg --i->rem;
533 1.1 mrg ++i->data;
534 1.1 mrg i->index += sizeof(xcb_input_button_info_t);
535 1.1 mrg }
536 1.1 mrg
537 1.1 mrg
538 1.1 mrg /*****************************************************************************
539 1.1 mrg **
540 1.1 mrg ** xcb_generic_iterator_t xcb_input_button_info_end
541 1.1 mrg **
542 1.1 mrg ** @param xcb_input_button_info_iterator_t i
543 1.1 mrg ** @returns xcb_generic_iterator_t
544 1.1 mrg **
545 1.1 mrg *****************************************************************************/
546 1.1 mrg
547 1.1 mrg xcb_generic_iterator_t
548 1.1 mrg xcb_input_button_info_end (xcb_input_button_info_iterator_t i /**< */)
549 1.1 mrg {
550 1.1 mrg xcb_generic_iterator_t ret;
551 1.1 mrg ret.data = i.data + i.rem;
552 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
553 1.1 mrg ret.rem = 0;
554 1.1 mrg return ret;
555 1.1 mrg }
556 1.1 mrg
557 1.1 mrg
558 1.1 mrg /*****************************************************************************
559 1.1 mrg **
560 1.1 mrg ** void xcb_input_axis_info_next
561 1.1 mrg **
562 1.1 mrg ** @param xcb_input_axis_info_iterator_t *i
563 1.1 mrg ** @returns void
564 1.1 mrg **
565 1.1 mrg *****************************************************************************/
566 1.1 mrg
567 1.1 mrg void
568 1.1 mrg xcb_input_axis_info_next (xcb_input_axis_info_iterator_t *i /**< */)
569 1.1 mrg {
570 1.1 mrg --i->rem;
571 1.1 mrg ++i->data;
572 1.1 mrg i->index += sizeof(xcb_input_axis_info_t);
573 1.1 mrg }
574 1.1 mrg
575 1.1 mrg
576 1.1 mrg /*****************************************************************************
577 1.1 mrg **
578 1.1 mrg ** xcb_generic_iterator_t xcb_input_axis_info_end
579 1.1 mrg **
580 1.1 mrg ** @param xcb_input_axis_info_iterator_t i
581 1.1 mrg ** @returns xcb_generic_iterator_t
582 1.1 mrg **
583 1.1 mrg *****************************************************************************/
584 1.1 mrg
585 1.1 mrg xcb_generic_iterator_t
586 1.1 mrg xcb_input_axis_info_end (xcb_input_axis_info_iterator_t i /**< */)
587 1.1 mrg {
588 1.1 mrg xcb_generic_iterator_t ret;
589 1.1 mrg ret.data = i.data + i.rem;
590 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
591 1.1 mrg ret.rem = 0;
592 1.1 mrg return ret;
593 1.1 mrg }
594 1.1 mrg
595 1.1.12.1 tls int
596 1.1.12.1 tls xcb_input_valuator_info_sizeof (const void *_buffer /**< */)
597 1.1.12.1 tls {
598 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
599 1.1.12.1 tls const xcb_input_valuator_info_t *_aux = (xcb_input_valuator_info_t *)_buffer;
600 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
601 1.1.12.1 tls unsigned int xcb_block_len = 0;
602 1.1.12.1 tls unsigned int xcb_pad = 0;
603 1.1.12.1 tls unsigned int xcb_align_to;
604 1.1.12.1 tls
605 1.1.12.1 tls
606 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_valuator_info_t);
607 1.1.12.1 tls xcb_tmp += xcb_block_len;
608 1.1.12.1 tls /* axes */
609 1.1.12.1 tls xcb_block_len += _aux->axes_len * sizeof(xcb_input_axis_info_t);
610 1.1.12.1 tls xcb_tmp += xcb_block_len;
611 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_axis_info_t);
612 1.1.12.1 tls /* insert padding */
613 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
614 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
615 1.1.12.1 tls if (0 != xcb_pad) {
616 1.1.12.1 tls xcb_tmp += xcb_pad;
617 1.1.12.1 tls xcb_pad = 0;
618 1.1.12.1 tls }
619 1.1.12.1 tls xcb_block_len = 0;
620 1.1.12.1 tls
621 1.1.12.1 tls return xcb_buffer_len;
622 1.1.12.1 tls }
623 1.1.12.1 tls
624 1.1 mrg
625 1.1 mrg /*****************************************************************************
626 1.1 mrg **
627 1.1 mrg ** xcb_input_axis_info_t * xcb_input_valuator_info_axes
628 1.1 mrg **
629 1.1 mrg ** @param const xcb_input_valuator_info_t *R
630 1.1 mrg ** @returns xcb_input_axis_info_t *
631 1.1 mrg **
632 1.1 mrg *****************************************************************************/
633 1.1 mrg
634 1.1 mrg xcb_input_axis_info_t *
635 1.1 mrg xcb_input_valuator_info_axes (const xcb_input_valuator_info_t *R /**< */)
636 1.1 mrg {
637 1.1 mrg return (xcb_input_axis_info_t *) (R + 1);
638 1.1 mrg }
639 1.1 mrg
640 1.1 mrg
641 1.1 mrg /*****************************************************************************
642 1.1 mrg **
643 1.1 mrg ** int xcb_input_valuator_info_axes_length
644 1.1 mrg **
645 1.1 mrg ** @param const xcb_input_valuator_info_t *R
646 1.1 mrg ** @returns int
647 1.1 mrg **
648 1.1 mrg *****************************************************************************/
649 1.1 mrg
650 1.1 mrg int
651 1.1 mrg xcb_input_valuator_info_axes_length (const xcb_input_valuator_info_t *R /**< */)
652 1.1 mrg {
653 1.1 mrg return R->axes_len;
654 1.1 mrg }
655 1.1 mrg
656 1.1 mrg
657 1.1 mrg /*****************************************************************************
658 1.1 mrg **
659 1.1 mrg ** xcb_input_axis_info_iterator_t xcb_input_valuator_info_axes_iterator
660 1.1 mrg **
661 1.1 mrg ** @param const xcb_input_valuator_info_t *R
662 1.1 mrg ** @returns xcb_input_axis_info_iterator_t
663 1.1 mrg **
664 1.1 mrg *****************************************************************************/
665 1.1 mrg
666 1.1 mrg xcb_input_axis_info_iterator_t
667 1.1 mrg xcb_input_valuator_info_axes_iterator (const xcb_input_valuator_info_t *R /**< */)
668 1.1 mrg {
669 1.1 mrg xcb_input_axis_info_iterator_t i;
670 1.1 mrg i.data = (xcb_input_axis_info_t *) (R + 1);
671 1.1 mrg i.rem = R->axes_len;
672 1.1 mrg i.index = (char *) i.data - (char *) R;
673 1.1 mrg return i;
674 1.1 mrg }
675 1.1 mrg
676 1.1 mrg
677 1.1 mrg /*****************************************************************************
678 1.1 mrg **
679 1.1 mrg ** void xcb_input_valuator_info_next
680 1.1 mrg **
681 1.1 mrg ** @param xcb_input_valuator_info_iterator_t *i
682 1.1 mrg ** @returns void
683 1.1 mrg **
684 1.1 mrg *****************************************************************************/
685 1.1 mrg
686 1.1 mrg void
687 1.1 mrg xcb_input_valuator_info_next (xcb_input_valuator_info_iterator_t *i /**< */)
688 1.1 mrg {
689 1.1 mrg xcb_input_valuator_info_t *R = i->data;
690 1.1.12.1 tls xcb_generic_iterator_t child;
691 1.1.12.1 tls child.data = (xcb_input_valuator_info_t *)(((char *)R) + xcb_input_valuator_info_sizeof(R));
692 1.1.12.1 tls i->index = (char *) child.data - (char *) i->data;
693 1.1 mrg --i->rem;
694 1.1 mrg i->data = (xcb_input_valuator_info_t *) child.data;
695 1.1 mrg }
696 1.1 mrg
697 1.1 mrg
698 1.1 mrg /*****************************************************************************
699 1.1 mrg **
700 1.1 mrg ** xcb_generic_iterator_t xcb_input_valuator_info_end
701 1.1 mrg **
702 1.1 mrg ** @param xcb_input_valuator_info_iterator_t i
703 1.1 mrg ** @returns xcb_generic_iterator_t
704 1.1 mrg **
705 1.1 mrg *****************************************************************************/
706 1.1 mrg
707 1.1 mrg xcb_generic_iterator_t
708 1.1 mrg xcb_input_valuator_info_end (xcb_input_valuator_info_iterator_t i /**< */)
709 1.1 mrg {
710 1.1 mrg xcb_generic_iterator_t ret;
711 1.1 mrg while(i.rem > 0)
712 1.1 mrg xcb_input_valuator_info_next(&i);
713 1.1 mrg ret.data = i.data;
714 1.1 mrg ret.rem = i.rem;
715 1.1 mrg ret.index = i.index;
716 1.1 mrg return ret;
717 1.1 mrg }
718 1.1 mrg
719 1.1 mrg
720 1.1 mrg /*****************************************************************************
721 1.1 mrg **
722 1.1 mrg ** void xcb_input_input_class_info_next
723 1.1 mrg **
724 1.1 mrg ** @param xcb_input_input_class_info_iterator_t *i
725 1.1 mrg ** @returns void
726 1.1 mrg **
727 1.1 mrg *****************************************************************************/
728 1.1 mrg
729 1.1 mrg void
730 1.1 mrg xcb_input_input_class_info_next (xcb_input_input_class_info_iterator_t *i /**< */)
731 1.1 mrg {
732 1.1 mrg --i->rem;
733 1.1 mrg ++i->data;
734 1.1 mrg i->index += sizeof(xcb_input_input_class_info_t);
735 1.1 mrg }
736 1.1 mrg
737 1.1 mrg
738 1.1 mrg /*****************************************************************************
739 1.1 mrg **
740 1.1 mrg ** xcb_generic_iterator_t xcb_input_input_class_info_end
741 1.1 mrg **
742 1.1 mrg ** @param xcb_input_input_class_info_iterator_t i
743 1.1 mrg ** @returns xcb_generic_iterator_t
744 1.1 mrg **
745 1.1 mrg *****************************************************************************/
746 1.1 mrg
747 1.1 mrg xcb_generic_iterator_t
748 1.1 mrg xcb_input_input_class_info_end (xcb_input_input_class_info_iterator_t i /**< */)
749 1.1 mrg {
750 1.1 mrg xcb_generic_iterator_t ret;
751 1.1 mrg ret.data = i.data + i.rem;
752 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
753 1.1 mrg ret.rem = 0;
754 1.1 mrg return ret;
755 1.1 mrg }
756 1.1 mrg
757 1.1.12.1 tls int
758 1.1.12.1 tls xcb_input_open_device_sizeof (const void *_buffer /**< */)
759 1.1.12.1 tls {
760 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
761 1.1.12.1 tls const xcb_input_open_device_reply_t *_aux = (xcb_input_open_device_reply_t *)_buffer;
762 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
763 1.1.12.1 tls unsigned int xcb_block_len = 0;
764 1.1.12.1 tls unsigned int xcb_pad = 0;
765 1.1.12.1 tls unsigned int xcb_align_to;
766 1.1.12.1 tls
767 1.1.12.1 tls
768 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_open_device_reply_t);
769 1.1.12.1 tls xcb_tmp += xcb_block_len;
770 1.1.12.1 tls /* class_info */
771 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_input_class_info_t);
772 1.1.12.1 tls xcb_tmp += xcb_block_len;
773 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_input_class_info_t);
774 1.1.12.1 tls /* insert padding */
775 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
776 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
777 1.1.12.1 tls if (0 != xcb_pad) {
778 1.1.12.1 tls xcb_tmp += xcb_pad;
779 1.1.12.1 tls xcb_pad = 0;
780 1.1.12.1 tls }
781 1.1.12.1 tls xcb_block_len = 0;
782 1.1.12.1 tls
783 1.1.12.1 tls return xcb_buffer_len;
784 1.1.12.1 tls }
785 1.1.12.1 tls
786 1.1 mrg
787 1.1 mrg /*****************************************************************************
788 1.1 mrg **
789 1.1 mrg ** xcb_input_open_device_cookie_t xcb_input_open_device
790 1.1 mrg **
791 1.1 mrg ** @param xcb_connection_t *c
792 1.1 mrg ** @param uint8_t device_id
793 1.1 mrg ** @returns xcb_input_open_device_cookie_t
794 1.1 mrg **
795 1.1 mrg *****************************************************************************/
796 1.1 mrg
797 1.1 mrg xcb_input_open_device_cookie_t
798 1.1 mrg xcb_input_open_device (xcb_connection_t *c /**< */,
799 1.1 mrg uint8_t device_id /**< */)
800 1.1 mrg {
801 1.1 mrg static const xcb_protocol_request_t xcb_req = {
802 1.1 mrg /* count */ 2,
803 1.1 mrg /* ext */ &xcb_input_id,
804 1.1 mrg /* opcode */ XCB_INPUT_OPEN_DEVICE,
805 1.1 mrg /* isvoid */ 0
806 1.1 mrg };
807 1.1 mrg
808 1.1 mrg struct iovec xcb_parts[4];
809 1.1 mrg xcb_input_open_device_cookie_t xcb_ret;
810 1.1 mrg xcb_input_open_device_request_t xcb_out;
811 1.1 mrg
812 1.1 mrg xcb_out.device_id = device_id;
813 1.1 mrg memset(xcb_out.pad0, 0, 3);
814 1.1 mrg
815 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
816 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
817 1.1 mrg xcb_parts[3].iov_base = 0;
818 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
819 1.1.12.1 tls
820 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
821 1.1 mrg return xcb_ret;
822 1.1 mrg }
823 1.1 mrg
824 1.1 mrg
825 1.1 mrg /*****************************************************************************
826 1.1 mrg **
827 1.1 mrg ** xcb_input_open_device_cookie_t xcb_input_open_device_unchecked
828 1.1 mrg **
829 1.1 mrg ** @param xcb_connection_t *c
830 1.1 mrg ** @param uint8_t device_id
831 1.1 mrg ** @returns xcb_input_open_device_cookie_t
832 1.1 mrg **
833 1.1 mrg *****************************************************************************/
834 1.1 mrg
835 1.1 mrg xcb_input_open_device_cookie_t
836 1.1 mrg xcb_input_open_device_unchecked (xcb_connection_t *c /**< */,
837 1.1 mrg uint8_t device_id /**< */)
838 1.1 mrg {
839 1.1 mrg static const xcb_protocol_request_t xcb_req = {
840 1.1 mrg /* count */ 2,
841 1.1 mrg /* ext */ &xcb_input_id,
842 1.1 mrg /* opcode */ XCB_INPUT_OPEN_DEVICE,
843 1.1 mrg /* isvoid */ 0
844 1.1 mrg };
845 1.1 mrg
846 1.1 mrg struct iovec xcb_parts[4];
847 1.1 mrg xcb_input_open_device_cookie_t xcb_ret;
848 1.1 mrg xcb_input_open_device_request_t xcb_out;
849 1.1 mrg
850 1.1 mrg xcb_out.device_id = device_id;
851 1.1 mrg memset(xcb_out.pad0, 0, 3);
852 1.1 mrg
853 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
854 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
855 1.1 mrg xcb_parts[3].iov_base = 0;
856 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
857 1.1.12.1 tls
858 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
859 1.1 mrg return xcb_ret;
860 1.1 mrg }
861 1.1 mrg
862 1.1 mrg
863 1.1 mrg /*****************************************************************************
864 1.1 mrg **
865 1.1 mrg ** xcb_input_input_class_info_t * xcb_input_open_device_class_info
866 1.1 mrg **
867 1.1 mrg ** @param const xcb_input_open_device_reply_t *R
868 1.1 mrg ** @returns xcb_input_input_class_info_t *
869 1.1 mrg **
870 1.1 mrg *****************************************************************************/
871 1.1 mrg
872 1.1 mrg xcb_input_input_class_info_t *
873 1.1 mrg xcb_input_open_device_class_info (const xcb_input_open_device_reply_t *R /**< */)
874 1.1 mrg {
875 1.1 mrg return (xcb_input_input_class_info_t *) (R + 1);
876 1.1 mrg }
877 1.1 mrg
878 1.1 mrg
879 1.1 mrg /*****************************************************************************
880 1.1 mrg **
881 1.1 mrg ** int xcb_input_open_device_class_info_length
882 1.1 mrg **
883 1.1 mrg ** @param const xcb_input_open_device_reply_t *R
884 1.1 mrg ** @returns int
885 1.1 mrg **
886 1.1 mrg *****************************************************************************/
887 1.1 mrg
888 1.1 mrg int
889 1.1 mrg xcb_input_open_device_class_info_length (const xcb_input_open_device_reply_t *R /**< */)
890 1.1 mrg {
891 1.1 mrg return R->num_classes;
892 1.1 mrg }
893 1.1 mrg
894 1.1 mrg
895 1.1 mrg /*****************************************************************************
896 1.1 mrg **
897 1.1 mrg ** xcb_input_input_class_info_iterator_t xcb_input_open_device_class_info_iterator
898 1.1 mrg **
899 1.1 mrg ** @param const xcb_input_open_device_reply_t *R
900 1.1 mrg ** @returns xcb_input_input_class_info_iterator_t
901 1.1 mrg **
902 1.1 mrg *****************************************************************************/
903 1.1 mrg
904 1.1 mrg xcb_input_input_class_info_iterator_t
905 1.1 mrg xcb_input_open_device_class_info_iterator (const xcb_input_open_device_reply_t *R /**< */)
906 1.1 mrg {
907 1.1 mrg xcb_input_input_class_info_iterator_t i;
908 1.1 mrg i.data = (xcb_input_input_class_info_t *) (R + 1);
909 1.1 mrg i.rem = R->num_classes;
910 1.1 mrg i.index = (char *) i.data - (char *) R;
911 1.1 mrg return i;
912 1.1 mrg }
913 1.1 mrg
914 1.1 mrg
915 1.1 mrg /*****************************************************************************
916 1.1 mrg **
917 1.1 mrg ** xcb_input_open_device_reply_t * xcb_input_open_device_reply
918 1.1 mrg **
919 1.1 mrg ** @param xcb_connection_t *c
920 1.1 mrg ** @param xcb_input_open_device_cookie_t cookie
921 1.1 mrg ** @param xcb_generic_error_t **e
922 1.1 mrg ** @returns xcb_input_open_device_reply_t *
923 1.1 mrg **
924 1.1 mrg *****************************************************************************/
925 1.1 mrg
926 1.1 mrg xcb_input_open_device_reply_t *
927 1.1 mrg xcb_input_open_device_reply (xcb_connection_t *c /**< */,
928 1.1 mrg xcb_input_open_device_cookie_t cookie /**< */,
929 1.1 mrg xcb_generic_error_t **e /**< */)
930 1.1 mrg {
931 1.1 mrg return (xcb_input_open_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
932 1.1 mrg }
933 1.1 mrg
934 1.1 mrg
935 1.1 mrg /*****************************************************************************
936 1.1 mrg **
937 1.1 mrg ** xcb_void_cookie_t xcb_input_close_device_checked
938 1.1 mrg **
939 1.1 mrg ** @param xcb_connection_t *c
940 1.1 mrg ** @param uint8_t device_id
941 1.1 mrg ** @returns xcb_void_cookie_t
942 1.1 mrg **
943 1.1 mrg *****************************************************************************/
944 1.1 mrg
945 1.1 mrg xcb_void_cookie_t
946 1.1 mrg xcb_input_close_device_checked (xcb_connection_t *c /**< */,
947 1.1 mrg uint8_t device_id /**< */)
948 1.1 mrg {
949 1.1 mrg static const xcb_protocol_request_t xcb_req = {
950 1.1 mrg /* count */ 2,
951 1.1 mrg /* ext */ &xcb_input_id,
952 1.1 mrg /* opcode */ XCB_INPUT_CLOSE_DEVICE,
953 1.1 mrg /* isvoid */ 1
954 1.1 mrg };
955 1.1 mrg
956 1.1 mrg struct iovec xcb_parts[4];
957 1.1 mrg xcb_void_cookie_t xcb_ret;
958 1.1 mrg xcb_input_close_device_request_t xcb_out;
959 1.1 mrg
960 1.1 mrg xcb_out.device_id = device_id;
961 1.1 mrg memset(xcb_out.pad0, 0, 3);
962 1.1 mrg
963 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
964 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
965 1.1 mrg xcb_parts[3].iov_base = 0;
966 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
967 1.1.12.1 tls
968 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
969 1.1 mrg return xcb_ret;
970 1.1 mrg }
971 1.1 mrg
972 1.1 mrg
973 1.1 mrg /*****************************************************************************
974 1.1 mrg **
975 1.1 mrg ** xcb_void_cookie_t xcb_input_close_device
976 1.1 mrg **
977 1.1 mrg ** @param xcb_connection_t *c
978 1.1 mrg ** @param uint8_t device_id
979 1.1 mrg ** @returns xcb_void_cookie_t
980 1.1 mrg **
981 1.1 mrg *****************************************************************************/
982 1.1 mrg
983 1.1 mrg xcb_void_cookie_t
984 1.1 mrg xcb_input_close_device (xcb_connection_t *c /**< */,
985 1.1 mrg uint8_t device_id /**< */)
986 1.1 mrg {
987 1.1 mrg static const xcb_protocol_request_t xcb_req = {
988 1.1 mrg /* count */ 2,
989 1.1 mrg /* ext */ &xcb_input_id,
990 1.1 mrg /* opcode */ XCB_INPUT_CLOSE_DEVICE,
991 1.1 mrg /* isvoid */ 1
992 1.1 mrg };
993 1.1 mrg
994 1.1 mrg struct iovec xcb_parts[4];
995 1.1 mrg xcb_void_cookie_t xcb_ret;
996 1.1 mrg xcb_input_close_device_request_t xcb_out;
997 1.1 mrg
998 1.1 mrg xcb_out.device_id = device_id;
999 1.1 mrg memset(xcb_out.pad0, 0, 3);
1000 1.1 mrg
1001 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1002 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1003 1.1 mrg xcb_parts[3].iov_base = 0;
1004 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1005 1.1.12.1 tls
1006 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1007 1.1 mrg return xcb_ret;
1008 1.1 mrg }
1009 1.1 mrg
1010 1.1 mrg
1011 1.1 mrg /*****************************************************************************
1012 1.1 mrg **
1013 1.1 mrg ** xcb_input_set_device_mode_cookie_t xcb_input_set_device_mode
1014 1.1 mrg **
1015 1.1 mrg ** @param xcb_connection_t *c
1016 1.1 mrg ** @param uint8_t device_id
1017 1.1 mrg ** @param uint8_t mode
1018 1.1 mrg ** @returns xcb_input_set_device_mode_cookie_t
1019 1.1 mrg **
1020 1.1 mrg *****************************************************************************/
1021 1.1 mrg
1022 1.1 mrg xcb_input_set_device_mode_cookie_t
1023 1.1 mrg xcb_input_set_device_mode (xcb_connection_t *c /**< */,
1024 1.1 mrg uint8_t device_id /**< */,
1025 1.1 mrg uint8_t mode /**< */)
1026 1.1 mrg {
1027 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1028 1.1 mrg /* count */ 2,
1029 1.1 mrg /* ext */ &xcb_input_id,
1030 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_MODE,
1031 1.1 mrg /* isvoid */ 0
1032 1.1 mrg };
1033 1.1 mrg
1034 1.1 mrg struct iovec xcb_parts[4];
1035 1.1 mrg xcb_input_set_device_mode_cookie_t xcb_ret;
1036 1.1 mrg xcb_input_set_device_mode_request_t xcb_out;
1037 1.1 mrg
1038 1.1 mrg xcb_out.device_id = device_id;
1039 1.1 mrg xcb_out.mode = mode;
1040 1.1 mrg memset(xcb_out.pad0, 0, 2);
1041 1.1 mrg
1042 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1043 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1044 1.1 mrg xcb_parts[3].iov_base = 0;
1045 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1046 1.1.12.1 tls
1047 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1048 1.1 mrg return xcb_ret;
1049 1.1 mrg }
1050 1.1 mrg
1051 1.1 mrg
1052 1.1 mrg /*****************************************************************************
1053 1.1 mrg **
1054 1.1 mrg ** xcb_input_set_device_mode_cookie_t xcb_input_set_device_mode_unchecked
1055 1.1 mrg **
1056 1.1 mrg ** @param xcb_connection_t *c
1057 1.1 mrg ** @param uint8_t device_id
1058 1.1 mrg ** @param uint8_t mode
1059 1.1 mrg ** @returns xcb_input_set_device_mode_cookie_t
1060 1.1 mrg **
1061 1.1 mrg *****************************************************************************/
1062 1.1 mrg
1063 1.1 mrg xcb_input_set_device_mode_cookie_t
1064 1.1 mrg xcb_input_set_device_mode_unchecked (xcb_connection_t *c /**< */,
1065 1.1 mrg uint8_t device_id /**< */,
1066 1.1 mrg uint8_t mode /**< */)
1067 1.1 mrg {
1068 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1069 1.1 mrg /* count */ 2,
1070 1.1 mrg /* ext */ &xcb_input_id,
1071 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_MODE,
1072 1.1 mrg /* isvoid */ 0
1073 1.1 mrg };
1074 1.1 mrg
1075 1.1 mrg struct iovec xcb_parts[4];
1076 1.1 mrg xcb_input_set_device_mode_cookie_t xcb_ret;
1077 1.1 mrg xcb_input_set_device_mode_request_t xcb_out;
1078 1.1 mrg
1079 1.1 mrg xcb_out.device_id = device_id;
1080 1.1 mrg xcb_out.mode = mode;
1081 1.1 mrg memset(xcb_out.pad0, 0, 2);
1082 1.1 mrg
1083 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1084 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1085 1.1 mrg xcb_parts[3].iov_base = 0;
1086 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1087 1.1.12.1 tls
1088 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1089 1.1 mrg return xcb_ret;
1090 1.1 mrg }
1091 1.1 mrg
1092 1.1 mrg
1093 1.1 mrg /*****************************************************************************
1094 1.1 mrg **
1095 1.1 mrg ** xcb_input_set_device_mode_reply_t * xcb_input_set_device_mode_reply
1096 1.1 mrg **
1097 1.1 mrg ** @param xcb_connection_t *c
1098 1.1 mrg ** @param xcb_input_set_device_mode_cookie_t cookie
1099 1.1 mrg ** @param xcb_generic_error_t **e
1100 1.1 mrg ** @returns xcb_input_set_device_mode_reply_t *
1101 1.1 mrg **
1102 1.1 mrg *****************************************************************************/
1103 1.1 mrg
1104 1.1 mrg xcb_input_set_device_mode_reply_t *
1105 1.1 mrg xcb_input_set_device_mode_reply (xcb_connection_t *c /**< */,
1106 1.1 mrg xcb_input_set_device_mode_cookie_t cookie /**< */,
1107 1.1 mrg xcb_generic_error_t **e /**< */)
1108 1.1 mrg {
1109 1.1 mrg return (xcb_input_set_device_mode_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1110 1.1 mrg }
1111 1.1 mrg
1112 1.1.12.1 tls int
1113 1.1.12.1 tls xcb_input_select_extension_event_sizeof (const void *_buffer /**< */)
1114 1.1.12.1 tls {
1115 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
1116 1.1.12.1 tls const xcb_input_select_extension_event_request_t *_aux = (xcb_input_select_extension_event_request_t *)_buffer;
1117 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
1118 1.1.12.1 tls unsigned int xcb_block_len = 0;
1119 1.1.12.1 tls unsigned int xcb_pad = 0;
1120 1.1.12.1 tls unsigned int xcb_align_to;
1121 1.1.12.1 tls
1122 1.1.12.1 tls
1123 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_select_extension_event_request_t);
1124 1.1.12.1 tls xcb_tmp += xcb_block_len;
1125 1.1.12.1 tls /* classes */
1126 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
1127 1.1.12.1 tls xcb_tmp += xcb_block_len;
1128 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
1129 1.1.12.1 tls /* insert padding */
1130 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1131 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
1132 1.1.12.1 tls if (0 != xcb_pad) {
1133 1.1.12.1 tls xcb_tmp += xcb_pad;
1134 1.1.12.1 tls xcb_pad = 0;
1135 1.1.12.1 tls }
1136 1.1.12.1 tls xcb_block_len = 0;
1137 1.1.12.1 tls
1138 1.1.12.1 tls return xcb_buffer_len;
1139 1.1.12.1 tls }
1140 1.1.12.1 tls
1141 1.1 mrg
1142 1.1 mrg /*****************************************************************************
1143 1.1 mrg **
1144 1.1 mrg ** xcb_void_cookie_t xcb_input_select_extension_event_checked
1145 1.1 mrg **
1146 1.1 mrg ** @param xcb_connection_t *c
1147 1.1 mrg ** @param xcb_window_t window
1148 1.1 mrg ** @param uint16_t num_classes
1149 1.1 mrg ** @param const xcb_input_event_class_t *classes
1150 1.1 mrg ** @returns xcb_void_cookie_t
1151 1.1 mrg **
1152 1.1 mrg *****************************************************************************/
1153 1.1 mrg
1154 1.1 mrg xcb_void_cookie_t
1155 1.1 mrg xcb_input_select_extension_event_checked (xcb_connection_t *c /**< */,
1156 1.1 mrg xcb_window_t window /**< */,
1157 1.1 mrg uint16_t num_classes /**< */,
1158 1.1 mrg const xcb_input_event_class_t *classes /**< */)
1159 1.1 mrg {
1160 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1161 1.1 mrg /* count */ 4,
1162 1.1 mrg /* ext */ &xcb_input_id,
1163 1.1 mrg /* opcode */ XCB_INPUT_SELECT_EXTENSION_EVENT,
1164 1.1 mrg /* isvoid */ 1
1165 1.1 mrg };
1166 1.1 mrg
1167 1.1 mrg struct iovec xcb_parts[6];
1168 1.1 mrg xcb_void_cookie_t xcb_ret;
1169 1.1 mrg xcb_input_select_extension_event_request_t xcb_out;
1170 1.1 mrg
1171 1.1 mrg xcb_out.window = window;
1172 1.1 mrg xcb_out.num_classes = num_classes;
1173 1.1 mrg memset(xcb_out.pad0, 0, 2);
1174 1.1 mrg
1175 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1176 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1177 1.1 mrg xcb_parts[3].iov_base = 0;
1178 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1179 1.1.12.1 tls /* xcb_input_event_class_t classes */
1180 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
1181 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
1182 1.1 mrg xcb_parts[5].iov_base = 0;
1183 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1184 1.1.12.1 tls
1185 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1186 1.1 mrg return xcb_ret;
1187 1.1 mrg }
1188 1.1 mrg
1189 1.1 mrg
1190 1.1 mrg /*****************************************************************************
1191 1.1 mrg **
1192 1.1 mrg ** xcb_void_cookie_t xcb_input_select_extension_event
1193 1.1 mrg **
1194 1.1 mrg ** @param xcb_connection_t *c
1195 1.1 mrg ** @param xcb_window_t window
1196 1.1 mrg ** @param uint16_t num_classes
1197 1.1 mrg ** @param const xcb_input_event_class_t *classes
1198 1.1 mrg ** @returns xcb_void_cookie_t
1199 1.1 mrg **
1200 1.1 mrg *****************************************************************************/
1201 1.1 mrg
1202 1.1 mrg xcb_void_cookie_t
1203 1.1 mrg xcb_input_select_extension_event (xcb_connection_t *c /**< */,
1204 1.1 mrg xcb_window_t window /**< */,
1205 1.1 mrg uint16_t num_classes /**< */,
1206 1.1 mrg const xcb_input_event_class_t *classes /**< */)
1207 1.1 mrg {
1208 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1209 1.1 mrg /* count */ 4,
1210 1.1 mrg /* ext */ &xcb_input_id,
1211 1.1 mrg /* opcode */ XCB_INPUT_SELECT_EXTENSION_EVENT,
1212 1.1 mrg /* isvoid */ 1
1213 1.1 mrg };
1214 1.1 mrg
1215 1.1 mrg struct iovec xcb_parts[6];
1216 1.1 mrg xcb_void_cookie_t xcb_ret;
1217 1.1 mrg xcb_input_select_extension_event_request_t xcb_out;
1218 1.1 mrg
1219 1.1 mrg xcb_out.window = window;
1220 1.1 mrg xcb_out.num_classes = num_classes;
1221 1.1 mrg memset(xcb_out.pad0, 0, 2);
1222 1.1 mrg
1223 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1224 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1225 1.1 mrg xcb_parts[3].iov_base = 0;
1226 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1227 1.1.12.1 tls /* xcb_input_event_class_t classes */
1228 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
1229 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
1230 1.1 mrg xcb_parts[5].iov_base = 0;
1231 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1232 1.1.12.1 tls
1233 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1234 1.1 mrg return xcb_ret;
1235 1.1 mrg }
1236 1.1 mrg
1237 1.1.12.1 tls int
1238 1.1.12.1 tls xcb_input_get_selected_extension_events_sizeof (const void *_buffer /**< */)
1239 1.1.12.1 tls {
1240 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
1241 1.1.12.1 tls const xcb_input_get_selected_extension_events_reply_t *_aux = (xcb_input_get_selected_extension_events_reply_t *)_buffer;
1242 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
1243 1.1.12.1 tls unsigned int xcb_block_len = 0;
1244 1.1.12.1 tls unsigned int xcb_pad = 0;
1245 1.1.12.1 tls unsigned int xcb_align_to;
1246 1.1.12.1 tls
1247 1.1.12.1 tls
1248 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_get_selected_extension_events_reply_t);
1249 1.1.12.1 tls xcb_tmp += xcb_block_len;
1250 1.1.12.1 tls /* this_classes */
1251 1.1.12.1 tls xcb_block_len += _aux->num_this_classes * sizeof(xcb_input_event_class_t);
1252 1.1.12.1 tls xcb_tmp += xcb_block_len;
1253 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
1254 1.1.12.1 tls /* insert padding */
1255 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1256 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
1257 1.1.12.1 tls if (0 != xcb_pad) {
1258 1.1.12.1 tls xcb_tmp += xcb_pad;
1259 1.1.12.1 tls xcb_pad = 0;
1260 1.1.12.1 tls }
1261 1.1.12.1 tls xcb_block_len = 0;
1262 1.1.12.1 tls /* all_classes */
1263 1.1.12.1 tls xcb_block_len += _aux->num_all_classes * sizeof(xcb_input_event_class_t);
1264 1.1.12.1 tls xcb_tmp += xcb_block_len;
1265 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
1266 1.1.12.1 tls /* insert padding */
1267 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1268 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
1269 1.1.12.1 tls if (0 != xcb_pad) {
1270 1.1.12.1 tls xcb_tmp += xcb_pad;
1271 1.1.12.1 tls xcb_pad = 0;
1272 1.1.12.1 tls }
1273 1.1.12.1 tls xcb_block_len = 0;
1274 1.1.12.1 tls
1275 1.1.12.1 tls return xcb_buffer_len;
1276 1.1.12.1 tls }
1277 1.1.12.1 tls
1278 1.1 mrg
1279 1.1 mrg /*****************************************************************************
1280 1.1 mrg **
1281 1.1 mrg ** xcb_input_get_selected_extension_events_cookie_t xcb_input_get_selected_extension_events
1282 1.1 mrg **
1283 1.1 mrg ** @param xcb_connection_t *c
1284 1.1 mrg ** @param xcb_window_t window
1285 1.1 mrg ** @returns xcb_input_get_selected_extension_events_cookie_t
1286 1.1 mrg **
1287 1.1 mrg *****************************************************************************/
1288 1.1 mrg
1289 1.1 mrg xcb_input_get_selected_extension_events_cookie_t
1290 1.1 mrg xcb_input_get_selected_extension_events (xcb_connection_t *c /**< */,
1291 1.1 mrg xcb_window_t window /**< */)
1292 1.1 mrg {
1293 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1294 1.1 mrg /* count */ 2,
1295 1.1 mrg /* ext */ &xcb_input_id,
1296 1.1 mrg /* opcode */ XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS,
1297 1.1 mrg /* isvoid */ 0
1298 1.1 mrg };
1299 1.1 mrg
1300 1.1 mrg struct iovec xcb_parts[4];
1301 1.1 mrg xcb_input_get_selected_extension_events_cookie_t xcb_ret;
1302 1.1 mrg xcb_input_get_selected_extension_events_request_t xcb_out;
1303 1.1 mrg
1304 1.1 mrg xcb_out.window = window;
1305 1.1 mrg
1306 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1307 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1308 1.1 mrg xcb_parts[3].iov_base = 0;
1309 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1310 1.1.12.1 tls
1311 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1312 1.1 mrg return xcb_ret;
1313 1.1 mrg }
1314 1.1 mrg
1315 1.1 mrg
1316 1.1 mrg /*****************************************************************************
1317 1.1 mrg **
1318 1.1 mrg ** xcb_input_get_selected_extension_events_cookie_t xcb_input_get_selected_extension_events_unchecked
1319 1.1 mrg **
1320 1.1 mrg ** @param xcb_connection_t *c
1321 1.1 mrg ** @param xcb_window_t window
1322 1.1 mrg ** @returns xcb_input_get_selected_extension_events_cookie_t
1323 1.1 mrg **
1324 1.1 mrg *****************************************************************************/
1325 1.1 mrg
1326 1.1 mrg xcb_input_get_selected_extension_events_cookie_t
1327 1.1 mrg xcb_input_get_selected_extension_events_unchecked (xcb_connection_t *c /**< */,
1328 1.1 mrg xcb_window_t window /**< */)
1329 1.1 mrg {
1330 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1331 1.1 mrg /* count */ 2,
1332 1.1 mrg /* ext */ &xcb_input_id,
1333 1.1 mrg /* opcode */ XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS,
1334 1.1 mrg /* isvoid */ 0
1335 1.1 mrg };
1336 1.1 mrg
1337 1.1 mrg struct iovec xcb_parts[4];
1338 1.1 mrg xcb_input_get_selected_extension_events_cookie_t xcb_ret;
1339 1.1 mrg xcb_input_get_selected_extension_events_request_t xcb_out;
1340 1.1 mrg
1341 1.1 mrg xcb_out.window = window;
1342 1.1 mrg
1343 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1344 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1345 1.1 mrg xcb_parts[3].iov_base = 0;
1346 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1347 1.1.12.1 tls
1348 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1349 1.1 mrg return xcb_ret;
1350 1.1 mrg }
1351 1.1 mrg
1352 1.1 mrg
1353 1.1 mrg /*****************************************************************************
1354 1.1 mrg **
1355 1.1 mrg ** xcb_input_event_class_t * xcb_input_get_selected_extension_events_this_classes
1356 1.1 mrg **
1357 1.1 mrg ** @param const xcb_input_get_selected_extension_events_reply_t *R
1358 1.1 mrg ** @returns xcb_input_event_class_t *
1359 1.1 mrg **
1360 1.1 mrg *****************************************************************************/
1361 1.1 mrg
1362 1.1 mrg xcb_input_event_class_t *
1363 1.1 mrg xcb_input_get_selected_extension_events_this_classes (const xcb_input_get_selected_extension_events_reply_t *R /**< */)
1364 1.1 mrg {
1365 1.1 mrg return (xcb_input_event_class_t *) (R + 1);
1366 1.1 mrg }
1367 1.1 mrg
1368 1.1 mrg
1369 1.1 mrg /*****************************************************************************
1370 1.1 mrg **
1371 1.1 mrg ** int xcb_input_get_selected_extension_events_this_classes_length
1372 1.1 mrg **
1373 1.1 mrg ** @param const xcb_input_get_selected_extension_events_reply_t *R
1374 1.1 mrg ** @returns int
1375 1.1 mrg **
1376 1.1 mrg *****************************************************************************/
1377 1.1 mrg
1378 1.1 mrg int
1379 1.1 mrg xcb_input_get_selected_extension_events_this_classes_length (const xcb_input_get_selected_extension_events_reply_t *R /**< */)
1380 1.1 mrg {
1381 1.1 mrg return R->num_this_classes;
1382 1.1 mrg }
1383 1.1 mrg
1384 1.1 mrg
1385 1.1 mrg /*****************************************************************************
1386 1.1 mrg **
1387 1.1 mrg ** xcb_generic_iterator_t xcb_input_get_selected_extension_events_this_classes_end
1388 1.1 mrg **
1389 1.1 mrg ** @param const xcb_input_get_selected_extension_events_reply_t *R
1390 1.1 mrg ** @returns xcb_generic_iterator_t
1391 1.1 mrg **
1392 1.1 mrg *****************************************************************************/
1393 1.1 mrg
1394 1.1 mrg xcb_generic_iterator_t
1395 1.1 mrg xcb_input_get_selected_extension_events_this_classes_end (const xcb_input_get_selected_extension_events_reply_t *R /**< */)
1396 1.1 mrg {
1397 1.1 mrg xcb_generic_iterator_t i;
1398 1.1 mrg i.data = ((xcb_input_event_class_t *) (R + 1)) + (R->num_this_classes);
1399 1.1 mrg i.rem = 0;
1400 1.1 mrg i.index = (char *) i.data - (char *) R;
1401 1.1 mrg return i;
1402 1.1 mrg }
1403 1.1 mrg
1404 1.1 mrg
1405 1.1 mrg /*****************************************************************************
1406 1.1 mrg **
1407 1.1 mrg ** xcb_input_event_class_t * xcb_input_get_selected_extension_events_all_classes
1408 1.1 mrg **
1409 1.1 mrg ** @param const xcb_input_get_selected_extension_events_reply_t *R
1410 1.1 mrg ** @returns xcb_input_event_class_t *
1411 1.1 mrg **
1412 1.1 mrg *****************************************************************************/
1413 1.1 mrg
1414 1.1 mrg xcb_input_event_class_t *
1415 1.1 mrg xcb_input_get_selected_extension_events_all_classes (const xcb_input_get_selected_extension_events_reply_t *R /**< */)
1416 1.1 mrg {
1417 1.1 mrg xcb_generic_iterator_t prev = xcb_input_get_selected_extension_events_this_classes_end(R);
1418 1.1 mrg return (xcb_input_event_class_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_input_event_class_t, prev.index) + 0);
1419 1.1 mrg }
1420 1.1 mrg
1421 1.1 mrg
1422 1.1 mrg /*****************************************************************************
1423 1.1 mrg **
1424 1.1 mrg ** int xcb_input_get_selected_extension_events_all_classes_length
1425 1.1 mrg **
1426 1.1 mrg ** @param const xcb_input_get_selected_extension_events_reply_t *R
1427 1.1 mrg ** @returns int
1428 1.1 mrg **
1429 1.1 mrg *****************************************************************************/
1430 1.1 mrg
1431 1.1 mrg int
1432 1.1 mrg xcb_input_get_selected_extension_events_all_classes_length (const xcb_input_get_selected_extension_events_reply_t *R /**< */)
1433 1.1 mrg {
1434 1.1 mrg return R->num_all_classes;
1435 1.1 mrg }
1436 1.1 mrg
1437 1.1 mrg
1438 1.1 mrg /*****************************************************************************
1439 1.1 mrg **
1440 1.1 mrg ** xcb_generic_iterator_t xcb_input_get_selected_extension_events_all_classes_end
1441 1.1 mrg **
1442 1.1 mrg ** @param const xcb_input_get_selected_extension_events_reply_t *R
1443 1.1 mrg ** @returns xcb_generic_iterator_t
1444 1.1 mrg **
1445 1.1 mrg *****************************************************************************/
1446 1.1 mrg
1447 1.1 mrg xcb_generic_iterator_t
1448 1.1 mrg xcb_input_get_selected_extension_events_all_classes_end (const xcb_input_get_selected_extension_events_reply_t *R /**< */)
1449 1.1 mrg {
1450 1.1 mrg xcb_generic_iterator_t i;
1451 1.1 mrg xcb_generic_iterator_t child = xcb_input_get_selected_extension_events_this_classes_end(R);
1452 1.1 mrg i.data = ((xcb_input_event_class_t *) child.data) + (R->num_all_classes);
1453 1.1 mrg i.rem = 0;
1454 1.1 mrg i.index = (char *) i.data - (char *) R;
1455 1.1 mrg return i;
1456 1.1 mrg }
1457 1.1 mrg
1458 1.1 mrg
1459 1.1 mrg /*****************************************************************************
1460 1.1 mrg **
1461 1.1 mrg ** xcb_input_get_selected_extension_events_reply_t * xcb_input_get_selected_extension_events_reply
1462 1.1 mrg **
1463 1.1 mrg ** @param xcb_connection_t *c
1464 1.1 mrg ** @param xcb_input_get_selected_extension_events_cookie_t cookie
1465 1.1 mrg ** @param xcb_generic_error_t **e
1466 1.1 mrg ** @returns xcb_input_get_selected_extension_events_reply_t *
1467 1.1 mrg **
1468 1.1 mrg *****************************************************************************/
1469 1.1 mrg
1470 1.1 mrg xcb_input_get_selected_extension_events_reply_t *
1471 1.1 mrg xcb_input_get_selected_extension_events_reply (xcb_connection_t *c /**< */,
1472 1.1 mrg xcb_input_get_selected_extension_events_cookie_t cookie /**< */,
1473 1.1 mrg xcb_generic_error_t **e /**< */)
1474 1.1 mrg {
1475 1.1 mrg return (xcb_input_get_selected_extension_events_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1476 1.1 mrg }
1477 1.1 mrg
1478 1.1.12.1 tls int
1479 1.1.12.1 tls xcb_input_change_device_dont_propagate_list_sizeof (const void *_buffer /**< */)
1480 1.1.12.1 tls {
1481 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
1482 1.1.12.1 tls const xcb_input_change_device_dont_propagate_list_request_t *_aux = (xcb_input_change_device_dont_propagate_list_request_t *)_buffer;
1483 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
1484 1.1.12.1 tls unsigned int xcb_block_len = 0;
1485 1.1.12.1 tls unsigned int xcb_pad = 0;
1486 1.1.12.1 tls unsigned int xcb_align_to;
1487 1.1.12.1 tls
1488 1.1.12.1 tls
1489 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_change_device_dont_propagate_list_request_t);
1490 1.1.12.1 tls xcb_tmp += xcb_block_len;
1491 1.1.12.1 tls /* classes */
1492 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
1493 1.1.12.1 tls xcb_tmp += xcb_block_len;
1494 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
1495 1.1.12.1 tls /* insert padding */
1496 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1497 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
1498 1.1.12.1 tls if (0 != xcb_pad) {
1499 1.1.12.1 tls xcb_tmp += xcb_pad;
1500 1.1.12.1 tls xcb_pad = 0;
1501 1.1.12.1 tls }
1502 1.1.12.1 tls xcb_block_len = 0;
1503 1.1.12.1 tls
1504 1.1.12.1 tls return xcb_buffer_len;
1505 1.1.12.1 tls }
1506 1.1.12.1 tls
1507 1.1 mrg
1508 1.1 mrg /*****************************************************************************
1509 1.1 mrg **
1510 1.1 mrg ** xcb_void_cookie_t xcb_input_change_device_dont_propagate_list_checked
1511 1.1 mrg **
1512 1.1 mrg ** @param xcb_connection_t *c
1513 1.1 mrg ** @param xcb_window_t window
1514 1.1 mrg ** @param uint16_t num_classes
1515 1.1 mrg ** @param uint8_t mode
1516 1.1 mrg ** @param const xcb_input_event_class_t *classes
1517 1.1 mrg ** @returns xcb_void_cookie_t
1518 1.1 mrg **
1519 1.1 mrg *****************************************************************************/
1520 1.1 mrg
1521 1.1 mrg xcb_void_cookie_t
1522 1.1 mrg xcb_input_change_device_dont_propagate_list_checked (xcb_connection_t *c /**< */,
1523 1.1 mrg xcb_window_t window /**< */,
1524 1.1 mrg uint16_t num_classes /**< */,
1525 1.1 mrg uint8_t mode /**< */,
1526 1.1 mrg const xcb_input_event_class_t *classes /**< */)
1527 1.1 mrg {
1528 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1529 1.1 mrg /* count */ 4,
1530 1.1 mrg /* ext */ &xcb_input_id,
1531 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST,
1532 1.1 mrg /* isvoid */ 1
1533 1.1 mrg };
1534 1.1 mrg
1535 1.1 mrg struct iovec xcb_parts[6];
1536 1.1 mrg xcb_void_cookie_t xcb_ret;
1537 1.1 mrg xcb_input_change_device_dont_propagate_list_request_t xcb_out;
1538 1.1 mrg
1539 1.1 mrg xcb_out.window = window;
1540 1.1 mrg xcb_out.num_classes = num_classes;
1541 1.1 mrg xcb_out.mode = mode;
1542 1.1 mrg xcb_out.pad0 = 0;
1543 1.1 mrg
1544 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1545 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1546 1.1 mrg xcb_parts[3].iov_base = 0;
1547 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1548 1.1.12.1 tls /* xcb_input_event_class_t classes */
1549 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
1550 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
1551 1.1 mrg xcb_parts[5].iov_base = 0;
1552 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1553 1.1.12.1 tls
1554 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1555 1.1 mrg return xcb_ret;
1556 1.1 mrg }
1557 1.1 mrg
1558 1.1 mrg
1559 1.1 mrg /*****************************************************************************
1560 1.1 mrg **
1561 1.1 mrg ** xcb_void_cookie_t xcb_input_change_device_dont_propagate_list
1562 1.1 mrg **
1563 1.1 mrg ** @param xcb_connection_t *c
1564 1.1 mrg ** @param xcb_window_t window
1565 1.1 mrg ** @param uint16_t num_classes
1566 1.1 mrg ** @param uint8_t mode
1567 1.1 mrg ** @param const xcb_input_event_class_t *classes
1568 1.1 mrg ** @returns xcb_void_cookie_t
1569 1.1 mrg **
1570 1.1 mrg *****************************************************************************/
1571 1.1 mrg
1572 1.1 mrg xcb_void_cookie_t
1573 1.1 mrg xcb_input_change_device_dont_propagate_list (xcb_connection_t *c /**< */,
1574 1.1 mrg xcb_window_t window /**< */,
1575 1.1 mrg uint16_t num_classes /**< */,
1576 1.1 mrg uint8_t mode /**< */,
1577 1.1 mrg const xcb_input_event_class_t *classes /**< */)
1578 1.1 mrg {
1579 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1580 1.1 mrg /* count */ 4,
1581 1.1 mrg /* ext */ &xcb_input_id,
1582 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST,
1583 1.1 mrg /* isvoid */ 1
1584 1.1 mrg };
1585 1.1 mrg
1586 1.1 mrg struct iovec xcb_parts[6];
1587 1.1 mrg xcb_void_cookie_t xcb_ret;
1588 1.1 mrg xcb_input_change_device_dont_propagate_list_request_t xcb_out;
1589 1.1 mrg
1590 1.1 mrg xcb_out.window = window;
1591 1.1 mrg xcb_out.num_classes = num_classes;
1592 1.1 mrg xcb_out.mode = mode;
1593 1.1 mrg xcb_out.pad0 = 0;
1594 1.1 mrg
1595 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1596 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1597 1.1 mrg xcb_parts[3].iov_base = 0;
1598 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1599 1.1.12.1 tls /* xcb_input_event_class_t classes */
1600 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
1601 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
1602 1.1 mrg xcb_parts[5].iov_base = 0;
1603 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1604 1.1.12.1 tls
1605 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1606 1.1 mrg return xcb_ret;
1607 1.1 mrg }
1608 1.1 mrg
1609 1.1.12.1 tls int
1610 1.1.12.1 tls xcb_input_get_device_dont_propagate_list_sizeof (const void *_buffer /**< */)
1611 1.1.12.1 tls {
1612 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
1613 1.1.12.1 tls const xcb_input_get_device_dont_propagate_list_reply_t *_aux = (xcb_input_get_device_dont_propagate_list_reply_t *)_buffer;
1614 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
1615 1.1.12.1 tls unsigned int xcb_block_len = 0;
1616 1.1.12.1 tls unsigned int xcb_pad = 0;
1617 1.1.12.1 tls unsigned int xcb_align_to;
1618 1.1.12.1 tls
1619 1.1.12.1 tls
1620 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_get_device_dont_propagate_list_reply_t);
1621 1.1.12.1 tls xcb_tmp += xcb_block_len;
1622 1.1.12.1 tls /* classes */
1623 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
1624 1.1.12.1 tls xcb_tmp += xcb_block_len;
1625 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
1626 1.1.12.1 tls /* insert padding */
1627 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1628 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
1629 1.1.12.1 tls if (0 != xcb_pad) {
1630 1.1.12.1 tls xcb_tmp += xcb_pad;
1631 1.1.12.1 tls xcb_pad = 0;
1632 1.1.12.1 tls }
1633 1.1.12.1 tls xcb_block_len = 0;
1634 1.1.12.1 tls
1635 1.1.12.1 tls return xcb_buffer_len;
1636 1.1.12.1 tls }
1637 1.1.12.1 tls
1638 1.1 mrg
1639 1.1 mrg /*****************************************************************************
1640 1.1 mrg **
1641 1.1 mrg ** xcb_input_get_device_dont_propagate_list_cookie_t xcb_input_get_device_dont_propagate_list
1642 1.1 mrg **
1643 1.1 mrg ** @param xcb_connection_t *c
1644 1.1 mrg ** @param xcb_window_t window
1645 1.1 mrg ** @returns xcb_input_get_device_dont_propagate_list_cookie_t
1646 1.1 mrg **
1647 1.1 mrg *****************************************************************************/
1648 1.1 mrg
1649 1.1 mrg xcb_input_get_device_dont_propagate_list_cookie_t
1650 1.1 mrg xcb_input_get_device_dont_propagate_list (xcb_connection_t *c /**< */,
1651 1.1 mrg xcb_window_t window /**< */)
1652 1.1 mrg {
1653 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1654 1.1 mrg /* count */ 2,
1655 1.1 mrg /* ext */ &xcb_input_id,
1656 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST,
1657 1.1 mrg /* isvoid */ 0
1658 1.1 mrg };
1659 1.1 mrg
1660 1.1 mrg struct iovec xcb_parts[4];
1661 1.1 mrg xcb_input_get_device_dont_propagate_list_cookie_t xcb_ret;
1662 1.1 mrg xcb_input_get_device_dont_propagate_list_request_t xcb_out;
1663 1.1 mrg
1664 1.1 mrg xcb_out.window = window;
1665 1.1 mrg
1666 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1667 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1668 1.1 mrg xcb_parts[3].iov_base = 0;
1669 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1670 1.1.12.1 tls
1671 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1672 1.1 mrg return xcb_ret;
1673 1.1 mrg }
1674 1.1 mrg
1675 1.1 mrg
1676 1.1 mrg /*****************************************************************************
1677 1.1 mrg **
1678 1.1 mrg ** xcb_input_get_device_dont_propagate_list_cookie_t xcb_input_get_device_dont_propagate_list_unchecked
1679 1.1 mrg **
1680 1.1 mrg ** @param xcb_connection_t *c
1681 1.1 mrg ** @param xcb_window_t window
1682 1.1 mrg ** @returns xcb_input_get_device_dont_propagate_list_cookie_t
1683 1.1 mrg **
1684 1.1 mrg *****************************************************************************/
1685 1.1 mrg
1686 1.1 mrg xcb_input_get_device_dont_propagate_list_cookie_t
1687 1.1 mrg xcb_input_get_device_dont_propagate_list_unchecked (xcb_connection_t *c /**< */,
1688 1.1 mrg xcb_window_t window /**< */)
1689 1.1 mrg {
1690 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1691 1.1 mrg /* count */ 2,
1692 1.1 mrg /* ext */ &xcb_input_id,
1693 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST,
1694 1.1 mrg /* isvoid */ 0
1695 1.1 mrg };
1696 1.1 mrg
1697 1.1 mrg struct iovec xcb_parts[4];
1698 1.1 mrg xcb_input_get_device_dont_propagate_list_cookie_t xcb_ret;
1699 1.1 mrg xcb_input_get_device_dont_propagate_list_request_t xcb_out;
1700 1.1 mrg
1701 1.1 mrg xcb_out.window = window;
1702 1.1 mrg
1703 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1704 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1705 1.1 mrg xcb_parts[3].iov_base = 0;
1706 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1707 1.1.12.1 tls
1708 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1709 1.1 mrg return xcb_ret;
1710 1.1 mrg }
1711 1.1 mrg
1712 1.1 mrg
1713 1.1 mrg /*****************************************************************************
1714 1.1 mrg **
1715 1.1 mrg ** xcb_input_event_class_t * xcb_input_get_device_dont_propagate_list_classes
1716 1.1 mrg **
1717 1.1 mrg ** @param const xcb_input_get_device_dont_propagate_list_reply_t *R
1718 1.1 mrg ** @returns xcb_input_event_class_t *
1719 1.1 mrg **
1720 1.1 mrg *****************************************************************************/
1721 1.1 mrg
1722 1.1 mrg xcb_input_event_class_t *
1723 1.1 mrg xcb_input_get_device_dont_propagate_list_classes (const xcb_input_get_device_dont_propagate_list_reply_t *R /**< */)
1724 1.1 mrg {
1725 1.1 mrg return (xcb_input_event_class_t *) (R + 1);
1726 1.1 mrg }
1727 1.1 mrg
1728 1.1 mrg
1729 1.1 mrg /*****************************************************************************
1730 1.1 mrg **
1731 1.1 mrg ** int xcb_input_get_device_dont_propagate_list_classes_length
1732 1.1 mrg **
1733 1.1 mrg ** @param const xcb_input_get_device_dont_propagate_list_reply_t *R
1734 1.1 mrg ** @returns int
1735 1.1 mrg **
1736 1.1 mrg *****************************************************************************/
1737 1.1 mrg
1738 1.1 mrg int
1739 1.1 mrg xcb_input_get_device_dont_propagate_list_classes_length (const xcb_input_get_device_dont_propagate_list_reply_t *R /**< */)
1740 1.1 mrg {
1741 1.1 mrg return R->num_classes;
1742 1.1 mrg }
1743 1.1 mrg
1744 1.1 mrg
1745 1.1 mrg /*****************************************************************************
1746 1.1 mrg **
1747 1.1 mrg ** xcb_generic_iterator_t xcb_input_get_device_dont_propagate_list_classes_end
1748 1.1 mrg **
1749 1.1 mrg ** @param const xcb_input_get_device_dont_propagate_list_reply_t *R
1750 1.1 mrg ** @returns xcb_generic_iterator_t
1751 1.1 mrg **
1752 1.1 mrg *****************************************************************************/
1753 1.1 mrg
1754 1.1 mrg xcb_generic_iterator_t
1755 1.1 mrg xcb_input_get_device_dont_propagate_list_classes_end (const xcb_input_get_device_dont_propagate_list_reply_t *R /**< */)
1756 1.1 mrg {
1757 1.1 mrg xcb_generic_iterator_t i;
1758 1.1 mrg i.data = ((xcb_input_event_class_t *) (R + 1)) + (R->num_classes);
1759 1.1 mrg i.rem = 0;
1760 1.1 mrg i.index = (char *) i.data - (char *) R;
1761 1.1 mrg return i;
1762 1.1 mrg }
1763 1.1 mrg
1764 1.1 mrg
1765 1.1 mrg /*****************************************************************************
1766 1.1 mrg **
1767 1.1 mrg ** xcb_input_get_device_dont_propagate_list_reply_t * xcb_input_get_device_dont_propagate_list_reply
1768 1.1 mrg **
1769 1.1 mrg ** @param xcb_connection_t *c
1770 1.1 mrg ** @param xcb_input_get_device_dont_propagate_list_cookie_t cookie
1771 1.1 mrg ** @param xcb_generic_error_t **e
1772 1.1 mrg ** @returns xcb_input_get_device_dont_propagate_list_reply_t *
1773 1.1 mrg **
1774 1.1 mrg *****************************************************************************/
1775 1.1 mrg
1776 1.1 mrg xcb_input_get_device_dont_propagate_list_reply_t *
1777 1.1 mrg xcb_input_get_device_dont_propagate_list_reply (xcb_connection_t *c /**< */,
1778 1.1 mrg xcb_input_get_device_dont_propagate_list_cookie_t cookie /**< */,
1779 1.1 mrg xcb_generic_error_t **e /**< */)
1780 1.1 mrg {
1781 1.1 mrg return (xcb_input_get_device_dont_propagate_list_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1782 1.1 mrg }
1783 1.1 mrg
1784 1.1 mrg
1785 1.1 mrg /*****************************************************************************
1786 1.1 mrg **
1787 1.1 mrg ** xcb_input_get_device_motion_events_cookie_t xcb_input_get_device_motion_events
1788 1.1 mrg **
1789 1.1 mrg ** @param xcb_connection_t *c
1790 1.1 mrg ** @param xcb_timestamp_t start
1791 1.1 mrg ** @param xcb_timestamp_t stop
1792 1.1 mrg ** @param uint8_t device_id
1793 1.1 mrg ** @returns xcb_input_get_device_motion_events_cookie_t
1794 1.1 mrg **
1795 1.1 mrg *****************************************************************************/
1796 1.1 mrg
1797 1.1 mrg xcb_input_get_device_motion_events_cookie_t
1798 1.1 mrg xcb_input_get_device_motion_events (xcb_connection_t *c /**< */,
1799 1.1 mrg xcb_timestamp_t start /**< */,
1800 1.1 mrg xcb_timestamp_t stop /**< */,
1801 1.1 mrg uint8_t device_id /**< */)
1802 1.1 mrg {
1803 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1804 1.1 mrg /* count */ 2,
1805 1.1 mrg /* ext */ &xcb_input_id,
1806 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_MOTION_EVENTS,
1807 1.1 mrg /* isvoid */ 0
1808 1.1 mrg };
1809 1.1 mrg
1810 1.1 mrg struct iovec xcb_parts[4];
1811 1.1 mrg xcb_input_get_device_motion_events_cookie_t xcb_ret;
1812 1.1 mrg xcb_input_get_device_motion_events_request_t xcb_out;
1813 1.1 mrg
1814 1.1 mrg xcb_out.start = start;
1815 1.1 mrg xcb_out.stop = stop;
1816 1.1 mrg xcb_out.device_id = device_id;
1817 1.1 mrg
1818 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1819 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1820 1.1 mrg xcb_parts[3].iov_base = 0;
1821 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1822 1.1.12.1 tls
1823 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1824 1.1 mrg return xcb_ret;
1825 1.1 mrg }
1826 1.1 mrg
1827 1.1 mrg
1828 1.1 mrg /*****************************************************************************
1829 1.1 mrg **
1830 1.1 mrg ** xcb_input_get_device_motion_events_cookie_t xcb_input_get_device_motion_events_unchecked
1831 1.1 mrg **
1832 1.1 mrg ** @param xcb_connection_t *c
1833 1.1 mrg ** @param xcb_timestamp_t start
1834 1.1 mrg ** @param xcb_timestamp_t stop
1835 1.1 mrg ** @param uint8_t device_id
1836 1.1 mrg ** @returns xcb_input_get_device_motion_events_cookie_t
1837 1.1 mrg **
1838 1.1 mrg *****************************************************************************/
1839 1.1 mrg
1840 1.1 mrg xcb_input_get_device_motion_events_cookie_t
1841 1.1 mrg xcb_input_get_device_motion_events_unchecked (xcb_connection_t *c /**< */,
1842 1.1 mrg xcb_timestamp_t start /**< */,
1843 1.1 mrg xcb_timestamp_t stop /**< */,
1844 1.1 mrg uint8_t device_id /**< */)
1845 1.1 mrg {
1846 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1847 1.1 mrg /* count */ 2,
1848 1.1 mrg /* ext */ &xcb_input_id,
1849 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_MOTION_EVENTS,
1850 1.1 mrg /* isvoid */ 0
1851 1.1 mrg };
1852 1.1 mrg
1853 1.1 mrg struct iovec xcb_parts[4];
1854 1.1 mrg xcb_input_get_device_motion_events_cookie_t xcb_ret;
1855 1.1 mrg xcb_input_get_device_motion_events_request_t xcb_out;
1856 1.1 mrg
1857 1.1 mrg xcb_out.start = start;
1858 1.1 mrg xcb_out.stop = stop;
1859 1.1 mrg xcb_out.device_id = device_id;
1860 1.1 mrg
1861 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1862 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1863 1.1 mrg xcb_parts[3].iov_base = 0;
1864 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1865 1.1.12.1 tls
1866 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1867 1.1 mrg return xcb_ret;
1868 1.1 mrg }
1869 1.1 mrg
1870 1.1 mrg
1871 1.1 mrg /*****************************************************************************
1872 1.1 mrg **
1873 1.1 mrg ** xcb_input_get_device_motion_events_reply_t * xcb_input_get_device_motion_events_reply
1874 1.1 mrg **
1875 1.1 mrg ** @param xcb_connection_t *c
1876 1.1 mrg ** @param xcb_input_get_device_motion_events_cookie_t cookie
1877 1.1 mrg ** @param xcb_generic_error_t **e
1878 1.1 mrg ** @returns xcb_input_get_device_motion_events_reply_t *
1879 1.1 mrg **
1880 1.1 mrg *****************************************************************************/
1881 1.1 mrg
1882 1.1 mrg xcb_input_get_device_motion_events_reply_t *
1883 1.1 mrg xcb_input_get_device_motion_events_reply (xcb_connection_t *c /**< */,
1884 1.1 mrg xcb_input_get_device_motion_events_cookie_t cookie /**< */,
1885 1.1 mrg xcb_generic_error_t **e /**< */)
1886 1.1 mrg {
1887 1.1 mrg return (xcb_input_get_device_motion_events_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1888 1.1 mrg }
1889 1.1 mrg
1890 1.1 mrg
1891 1.1 mrg /*****************************************************************************
1892 1.1 mrg **
1893 1.1 mrg ** void xcb_input_device_time_coord_next
1894 1.1 mrg **
1895 1.1 mrg ** @param xcb_input_device_time_coord_iterator_t *i
1896 1.1 mrg ** @returns void
1897 1.1 mrg **
1898 1.1 mrg *****************************************************************************/
1899 1.1 mrg
1900 1.1 mrg void
1901 1.1 mrg xcb_input_device_time_coord_next (xcb_input_device_time_coord_iterator_t *i /**< */)
1902 1.1 mrg {
1903 1.1 mrg --i->rem;
1904 1.1 mrg ++i->data;
1905 1.1 mrg i->index += sizeof(xcb_input_device_time_coord_t);
1906 1.1 mrg }
1907 1.1 mrg
1908 1.1 mrg
1909 1.1 mrg /*****************************************************************************
1910 1.1 mrg **
1911 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_time_coord_end
1912 1.1 mrg **
1913 1.1 mrg ** @param xcb_input_device_time_coord_iterator_t i
1914 1.1 mrg ** @returns xcb_generic_iterator_t
1915 1.1 mrg **
1916 1.1 mrg *****************************************************************************/
1917 1.1 mrg
1918 1.1 mrg xcb_generic_iterator_t
1919 1.1 mrg xcb_input_device_time_coord_end (xcb_input_device_time_coord_iterator_t i /**< */)
1920 1.1 mrg {
1921 1.1 mrg xcb_generic_iterator_t ret;
1922 1.1 mrg ret.data = i.data + i.rem;
1923 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
1924 1.1 mrg ret.rem = 0;
1925 1.1 mrg return ret;
1926 1.1 mrg }
1927 1.1 mrg
1928 1.1 mrg
1929 1.1 mrg /*****************************************************************************
1930 1.1 mrg **
1931 1.1 mrg ** xcb_input_change_keyboard_device_cookie_t xcb_input_change_keyboard_device
1932 1.1 mrg **
1933 1.1 mrg ** @param xcb_connection_t *c
1934 1.1 mrg ** @param uint8_t device_id
1935 1.1 mrg ** @returns xcb_input_change_keyboard_device_cookie_t
1936 1.1 mrg **
1937 1.1 mrg *****************************************************************************/
1938 1.1 mrg
1939 1.1 mrg xcb_input_change_keyboard_device_cookie_t
1940 1.1 mrg xcb_input_change_keyboard_device (xcb_connection_t *c /**< */,
1941 1.1 mrg uint8_t device_id /**< */)
1942 1.1 mrg {
1943 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1944 1.1 mrg /* count */ 2,
1945 1.1 mrg /* ext */ &xcb_input_id,
1946 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_KEYBOARD_DEVICE,
1947 1.1 mrg /* isvoid */ 0
1948 1.1 mrg };
1949 1.1 mrg
1950 1.1 mrg struct iovec xcb_parts[4];
1951 1.1 mrg xcb_input_change_keyboard_device_cookie_t xcb_ret;
1952 1.1 mrg xcb_input_change_keyboard_device_request_t xcb_out;
1953 1.1 mrg
1954 1.1 mrg xcb_out.device_id = device_id;
1955 1.1 mrg memset(xcb_out.pad0, 0, 3);
1956 1.1 mrg
1957 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1958 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1959 1.1 mrg xcb_parts[3].iov_base = 0;
1960 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1961 1.1.12.1 tls
1962 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1963 1.1 mrg return xcb_ret;
1964 1.1 mrg }
1965 1.1 mrg
1966 1.1 mrg
1967 1.1 mrg /*****************************************************************************
1968 1.1 mrg **
1969 1.1 mrg ** xcb_input_change_keyboard_device_cookie_t xcb_input_change_keyboard_device_unchecked
1970 1.1 mrg **
1971 1.1 mrg ** @param xcb_connection_t *c
1972 1.1 mrg ** @param uint8_t device_id
1973 1.1 mrg ** @returns xcb_input_change_keyboard_device_cookie_t
1974 1.1 mrg **
1975 1.1 mrg *****************************************************************************/
1976 1.1 mrg
1977 1.1 mrg xcb_input_change_keyboard_device_cookie_t
1978 1.1 mrg xcb_input_change_keyboard_device_unchecked (xcb_connection_t *c /**< */,
1979 1.1 mrg uint8_t device_id /**< */)
1980 1.1 mrg {
1981 1.1 mrg static const xcb_protocol_request_t xcb_req = {
1982 1.1 mrg /* count */ 2,
1983 1.1 mrg /* ext */ &xcb_input_id,
1984 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_KEYBOARD_DEVICE,
1985 1.1 mrg /* isvoid */ 0
1986 1.1 mrg };
1987 1.1 mrg
1988 1.1 mrg struct iovec xcb_parts[4];
1989 1.1 mrg xcb_input_change_keyboard_device_cookie_t xcb_ret;
1990 1.1 mrg xcb_input_change_keyboard_device_request_t xcb_out;
1991 1.1 mrg
1992 1.1 mrg xcb_out.device_id = device_id;
1993 1.1 mrg memset(xcb_out.pad0, 0, 3);
1994 1.1 mrg
1995 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
1996 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
1997 1.1 mrg xcb_parts[3].iov_base = 0;
1998 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1999 1.1.12.1 tls
2000 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2001 1.1 mrg return xcb_ret;
2002 1.1 mrg }
2003 1.1 mrg
2004 1.1 mrg
2005 1.1 mrg /*****************************************************************************
2006 1.1 mrg **
2007 1.1 mrg ** xcb_input_change_keyboard_device_reply_t * xcb_input_change_keyboard_device_reply
2008 1.1 mrg **
2009 1.1 mrg ** @param xcb_connection_t *c
2010 1.1 mrg ** @param xcb_input_change_keyboard_device_cookie_t cookie
2011 1.1 mrg ** @param xcb_generic_error_t **e
2012 1.1 mrg ** @returns xcb_input_change_keyboard_device_reply_t *
2013 1.1 mrg **
2014 1.1 mrg *****************************************************************************/
2015 1.1 mrg
2016 1.1 mrg xcb_input_change_keyboard_device_reply_t *
2017 1.1 mrg xcb_input_change_keyboard_device_reply (xcb_connection_t *c /**< */,
2018 1.1 mrg xcb_input_change_keyboard_device_cookie_t cookie /**< */,
2019 1.1 mrg xcb_generic_error_t **e /**< */)
2020 1.1 mrg {
2021 1.1 mrg return (xcb_input_change_keyboard_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2022 1.1 mrg }
2023 1.1 mrg
2024 1.1 mrg
2025 1.1 mrg /*****************************************************************************
2026 1.1 mrg **
2027 1.1 mrg ** xcb_input_change_pointer_device_cookie_t xcb_input_change_pointer_device
2028 1.1 mrg **
2029 1.1 mrg ** @param xcb_connection_t *c
2030 1.1 mrg ** @param uint8_t x_axis
2031 1.1 mrg ** @param uint8_t y_axis
2032 1.1 mrg ** @param uint8_t device_id
2033 1.1 mrg ** @returns xcb_input_change_pointer_device_cookie_t
2034 1.1 mrg **
2035 1.1 mrg *****************************************************************************/
2036 1.1 mrg
2037 1.1 mrg xcb_input_change_pointer_device_cookie_t
2038 1.1 mrg xcb_input_change_pointer_device (xcb_connection_t *c /**< */,
2039 1.1 mrg uint8_t x_axis /**< */,
2040 1.1 mrg uint8_t y_axis /**< */,
2041 1.1 mrg uint8_t device_id /**< */)
2042 1.1 mrg {
2043 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2044 1.1 mrg /* count */ 2,
2045 1.1 mrg /* ext */ &xcb_input_id,
2046 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_POINTER_DEVICE,
2047 1.1 mrg /* isvoid */ 0
2048 1.1 mrg };
2049 1.1 mrg
2050 1.1 mrg struct iovec xcb_parts[4];
2051 1.1 mrg xcb_input_change_pointer_device_cookie_t xcb_ret;
2052 1.1 mrg xcb_input_change_pointer_device_request_t xcb_out;
2053 1.1 mrg
2054 1.1 mrg xcb_out.x_axis = x_axis;
2055 1.1 mrg xcb_out.y_axis = y_axis;
2056 1.1 mrg xcb_out.device_id = device_id;
2057 1.1 mrg xcb_out.pad0 = 0;
2058 1.1 mrg
2059 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2060 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2061 1.1 mrg xcb_parts[3].iov_base = 0;
2062 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2063 1.1.12.1 tls
2064 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2065 1.1 mrg return xcb_ret;
2066 1.1 mrg }
2067 1.1 mrg
2068 1.1 mrg
2069 1.1 mrg /*****************************************************************************
2070 1.1 mrg **
2071 1.1 mrg ** xcb_input_change_pointer_device_cookie_t xcb_input_change_pointer_device_unchecked
2072 1.1 mrg **
2073 1.1 mrg ** @param xcb_connection_t *c
2074 1.1 mrg ** @param uint8_t x_axis
2075 1.1 mrg ** @param uint8_t y_axis
2076 1.1 mrg ** @param uint8_t device_id
2077 1.1 mrg ** @returns xcb_input_change_pointer_device_cookie_t
2078 1.1 mrg **
2079 1.1 mrg *****************************************************************************/
2080 1.1 mrg
2081 1.1 mrg xcb_input_change_pointer_device_cookie_t
2082 1.1 mrg xcb_input_change_pointer_device_unchecked (xcb_connection_t *c /**< */,
2083 1.1 mrg uint8_t x_axis /**< */,
2084 1.1 mrg uint8_t y_axis /**< */,
2085 1.1 mrg uint8_t device_id /**< */)
2086 1.1 mrg {
2087 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2088 1.1 mrg /* count */ 2,
2089 1.1 mrg /* ext */ &xcb_input_id,
2090 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_POINTER_DEVICE,
2091 1.1 mrg /* isvoid */ 0
2092 1.1 mrg };
2093 1.1 mrg
2094 1.1 mrg struct iovec xcb_parts[4];
2095 1.1 mrg xcb_input_change_pointer_device_cookie_t xcb_ret;
2096 1.1 mrg xcb_input_change_pointer_device_request_t xcb_out;
2097 1.1 mrg
2098 1.1 mrg xcb_out.x_axis = x_axis;
2099 1.1 mrg xcb_out.y_axis = y_axis;
2100 1.1 mrg xcb_out.device_id = device_id;
2101 1.1 mrg xcb_out.pad0 = 0;
2102 1.1 mrg
2103 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2104 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2105 1.1 mrg xcb_parts[3].iov_base = 0;
2106 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2107 1.1.12.1 tls
2108 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2109 1.1 mrg return xcb_ret;
2110 1.1 mrg }
2111 1.1 mrg
2112 1.1 mrg
2113 1.1 mrg /*****************************************************************************
2114 1.1 mrg **
2115 1.1 mrg ** xcb_input_change_pointer_device_reply_t * xcb_input_change_pointer_device_reply
2116 1.1 mrg **
2117 1.1 mrg ** @param xcb_connection_t *c
2118 1.1 mrg ** @param xcb_input_change_pointer_device_cookie_t cookie
2119 1.1 mrg ** @param xcb_generic_error_t **e
2120 1.1 mrg ** @returns xcb_input_change_pointer_device_reply_t *
2121 1.1 mrg **
2122 1.1 mrg *****************************************************************************/
2123 1.1 mrg
2124 1.1 mrg xcb_input_change_pointer_device_reply_t *
2125 1.1 mrg xcb_input_change_pointer_device_reply (xcb_connection_t *c /**< */,
2126 1.1 mrg xcb_input_change_pointer_device_cookie_t cookie /**< */,
2127 1.1 mrg xcb_generic_error_t **e /**< */)
2128 1.1 mrg {
2129 1.1 mrg return (xcb_input_change_pointer_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2130 1.1 mrg }
2131 1.1 mrg
2132 1.1.12.1 tls int
2133 1.1.12.1 tls xcb_input_grab_device_sizeof (const void *_buffer /**< */)
2134 1.1.12.1 tls {
2135 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
2136 1.1.12.1 tls const xcb_input_grab_device_request_t *_aux = (xcb_input_grab_device_request_t *)_buffer;
2137 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
2138 1.1.12.1 tls unsigned int xcb_block_len = 0;
2139 1.1.12.1 tls unsigned int xcb_pad = 0;
2140 1.1.12.1 tls unsigned int xcb_align_to;
2141 1.1.12.1 tls
2142 1.1.12.1 tls
2143 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_grab_device_request_t);
2144 1.1.12.1 tls xcb_tmp += xcb_block_len;
2145 1.1.12.1 tls /* classes */
2146 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
2147 1.1.12.1 tls xcb_tmp += xcb_block_len;
2148 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
2149 1.1.12.1 tls /* insert padding */
2150 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2151 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
2152 1.1.12.1 tls if (0 != xcb_pad) {
2153 1.1.12.1 tls xcb_tmp += xcb_pad;
2154 1.1.12.1 tls xcb_pad = 0;
2155 1.1.12.1 tls }
2156 1.1.12.1 tls xcb_block_len = 0;
2157 1.1.12.1 tls
2158 1.1.12.1 tls return xcb_buffer_len;
2159 1.1.12.1 tls }
2160 1.1.12.1 tls
2161 1.1 mrg
2162 1.1 mrg /*****************************************************************************
2163 1.1 mrg **
2164 1.1 mrg ** xcb_input_grab_device_cookie_t xcb_input_grab_device
2165 1.1 mrg **
2166 1.1 mrg ** @param xcb_connection_t *c
2167 1.1 mrg ** @param xcb_window_t grab_window
2168 1.1 mrg ** @param xcb_timestamp_t time
2169 1.1 mrg ** @param uint16_t num_classes
2170 1.1 mrg ** @param uint8_t this_device_mode
2171 1.1 mrg ** @param uint8_t other_device_mode
2172 1.1 mrg ** @param uint8_t owner_events
2173 1.1 mrg ** @param uint8_t device_id
2174 1.1 mrg ** @param const xcb_input_event_class_t *classes
2175 1.1 mrg ** @returns xcb_input_grab_device_cookie_t
2176 1.1 mrg **
2177 1.1 mrg *****************************************************************************/
2178 1.1 mrg
2179 1.1 mrg xcb_input_grab_device_cookie_t
2180 1.1 mrg xcb_input_grab_device (xcb_connection_t *c /**< */,
2181 1.1 mrg xcb_window_t grab_window /**< */,
2182 1.1 mrg xcb_timestamp_t time /**< */,
2183 1.1 mrg uint16_t num_classes /**< */,
2184 1.1 mrg uint8_t this_device_mode /**< */,
2185 1.1 mrg uint8_t other_device_mode /**< */,
2186 1.1 mrg uint8_t owner_events /**< */,
2187 1.1 mrg uint8_t device_id /**< */,
2188 1.1 mrg const xcb_input_event_class_t *classes /**< */)
2189 1.1 mrg {
2190 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2191 1.1 mrg /* count */ 4,
2192 1.1 mrg /* ext */ &xcb_input_id,
2193 1.1 mrg /* opcode */ XCB_INPUT_GRAB_DEVICE,
2194 1.1 mrg /* isvoid */ 0
2195 1.1 mrg };
2196 1.1 mrg
2197 1.1 mrg struct iovec xcb_parts[6];
2198 1.1 mrg xcb_input_grab_device_cookie_t xcb_ret;
2199 1.1 mrg xcb_input_grab_device_request_t xcb_out;
2200 1.1 mrg
2201 1.1 mrg xcb_out.grab_window = grab_window;
2202 1.1 mrg xcb_out.time = time;
2203 1.1 mrg xcb_out.num_classes = num_classes;
2204 1.1 mrg xcb_out.this_device_mode = this_device_mode;
2205 1.1 mrg xcb_out.other_device_mode = other_device_mode;
2206 1.1 mrg xcb_out.owner_events = owner_events;
2207 1.1 mrg xcb_out.device_id = device_id;
2208 1.1 mrg memset(xcb_out.pad0, 0, 2);
2209 1.1 mrg
2210 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2211 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2212 1.1 mrg xcb_parts[3].iov_base = 0;
2213 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2214 1.1.12.1 tls /* xcb_input_event_class_t classes */
2215 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
2216 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(uint32_t);
2217 1.1 mrg xcb_parts[5].iov_base = 0;
2218 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2219 1.1.12.1 tls
2220 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2221 1.1 mrg return xcb_ret;
2222 1.1 mrg }
2223 1.1 mrg
2224 1.1 mrg
2225 1.1 mrg /*****************************************************************************
2226 1.1 mrg **
2227 1.1 mrg ** xcb_input_grab_device_cookie_t xcb_input_grab_device_unchecked
2228 1.1 mrg **
2229 1.1 mrg ** @param xcb_connection_t *c
2230 1.1 mrg ** @param xcb_window_t grab_window
2231 1.1 mrg ** @param xcb_timestamp_t time
2232 1.1 mrg ** @param uint16_t num_classes
2233 1.1 mrg ** @param uint8_t this_device_mode
2234 1.1 mrg ** @param uint8_t other_device_mode
2235 1.1 mrg ** @param uint8_t owner_events
2236 1.1 mrg ** @param uint8_t device_id
2237 1.1 mrg ** @param const xcb_input_event_class_t *classes
2238 1.1 mrg ** @returns xcb_input_grab_device_cookie_t
2239 1.1 mrg **
2240 1.1 mrg *****************************************************************************/
2241 1.1 mrg
2242 1.1 mrg xcb_input_grab_device_cookie_t
2243 1.1 mrg xcb_input_grab_device_unchecked (xcb_connection_t *c /**< */,
2244 1.1 mrg xcb_window_t grab_window /**< */,
2245 1.1 mrg xcb_timestamp_t time /**< */,
2246 1.1 mrg uint16_t num_classes /**< */,
2247 1.1 mrg uint8_t this_device_mode /**< */,
2248 1.1 mrg uint8_t other_device_mode /**< */,
2249 1.1 mrg uint8_t owner_events /**< */,
2250 1.1 mrg uint8_t device_id /**< */,
2251 1.1 mrg const xcb_input_event_class_t *classes /**< */)
2252 1.1 mrg {
2253 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2254 1.1 mrg /* count */ 4,
2255 1.1 mrg /* ext */ &xcb_input_id,
2256 1.1 mrg /* opcode */ XCB_INPUT_GRAB_DEVICE,
2257 1.1 mrg /* isvoid */ 0
2258 1.1 mrg };
2259 1.1 mrg
2260 1.1 mrg struct iovec xcb_parts[6];
2261 1.1 mrg xcb_input_grab_device_cookie_t xcb_ret;
2262 1.1 mrg xcb_input_grab_device_request_t xcb_out;
2263 1.1 mrg
2264 1.1 mrg xcb_out.grab_window = grab_window;
2265 1.1 mrg xcb_out.time = time;
2266 1.1 mrg xcb_out.num_classes = num_classes;
2267 1.1 mrg xcb_out.this_device_mode = this_device_mode;
2268 1.1 mrg xcb_out.other_device_mode = other_device_mode;
2269 1.1 mrg xcb_out.owner_events = owner_events;
2270 1.1 mrg xcb_out.device_id = device_id;
2271 1.1 mrg memset(xcb_out.pad0, 0, 2);
2272 1.1 mrg
2273 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2274 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2275 1.1 mrg xcb_parts[3].iov_base = 0;
2276 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2277 1.1.12.1 tls /* xcb_input_event_class_t classes */
2278 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
2279 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(uint32_t);
2280 1.1 mrg xcb_parts[5].iov_base = 0;
2281 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2282 1.1.12.1 tls
2283 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2284 1.1 mrg return xcb_ret;
2285 1.1 mrg }
2286 1.1 mrg
2287 1.1 mrg
2288 1.1 mrg /*****************************************************************************
2289 1.1 mrg **
2290 1.1 mrg ** xcb_input_grab_device_reply_t * xcb_input_grab_device_reply
2291 1.1 mrg **
2292 1.1 mrg ** @param xcb_connection_t *c
2293 1.1 mrg ** @param xcb_input_grab_device_cookie_t cookie
2294 1.1 mrg ** @param xcb_generic_error_t **e
2295 1.1 mrg ** @returns xcb_input_grab_device_reply_t *
2296 1.1 mrg **
2297 1.1 mrg *****************************************************************************/
2298 1.1 mrg
2299 1.1 mrg xcb_input_grab_device_reply_t *
2300 1.1 mrg xcb_input_grab_device_reply (xcb_connection_t *c /**< */,
2301 1.1 mrg xcb_input_grab_device_cookie_t cookie /**< */,
2302 1.1 mrg xcb_generic_error_t **e /**< */)
2303 1.1 mrg {
2304 1.1 mrg return (xcb_input_grab_device_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2305 1.1 mrg }
2306 1.1 mrg
2307 1.1 mrg
2308 1.1 mrg /*****************************************************************************
2309 1.1 mrg **
2310 1.1 mrg ** xcb_void_cookie_t xcb_input_ungrab_device_checked
2311 1.1 mrg **
2312 1.1 mrg ** @param xcb_connection_t *c
2313 1.1 mrg ** @param xcb_timestamp_t time
2314 1.1 mrg ** @param uint8_t device_id
2315 1.1 mrg ** @returns xcb_void_cookie_t
2316 1.1 mrg **
2317 1.1 mrg *****************************************************************************/
2318 1.1 mrg
2319 1.1 mrg xcb_void_cookie_t
2320 1.1 mrg xcb_input_ungrab_device_checked (xcb_connection_t *c /**< */,
2321 1.1 mrg xcb_timestamp_t time /**< */,
2322 1.1 mrg uint8_t device_id /**< */)
2323 1.1 mrg {
2324 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2325 1.1 mrg /* count */ 2,
2326 1.1 mrg /* ext */ &xcb_input_id,
2327 1.1 mrg /* opcode */ XCB_INPUT_UNGRAB_DEVICE,
2328 1.1 mrg /* isvoid */ 1
2329 1.1 mrg };
2330 1.1 mrg
2331 1.1 mrg struct iovec xcb_parts[4];
2332 1.1 mrg xcb_void_cookie_t xcb_ret;
2333 1.1 mrg xcb_input_ungrab_device_request_t xcb_out;
2334 1.1 mrg
2335 1.1 mrg xcb_out.time = time;
2336 1.1 mrg xcb_out.device_id = device_id;
2337 1.1 mrg
2338 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2339 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2340 1.1 mrg xcb_parts[3].iov_base = 0;
2341 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2342 1.1.12.1 tls
2343 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2344 1.1 mrg return xcb_ret;
2345 1.1 mrg }
2346 1.1 mrg
2347 1.1 mrg
2348 1.1 mrg /*****************************************************************************
2349 1.1 mrg **
2350 1.1 mrg ** xcb_void_cookie_t xcb_input_ungrab_device
2351 1.1 mrg **
2352 1.1 mrg ** @param xcb_connection_t *c
2353 1.1 mrg ** @param xcb_timestamp_t time
2354 1.1 mrg ** @param uint8_t device_id
2355 1.1 mrg ** @returns xcb_void_cookie_t
2356 1.1 mrg **
2357 1.1 mrg *****************************************************************************/
2358 1.1 mrg
2359 1.1 mrg xcb_void_cookie_t
2360 1.1 mrg xcb_input_ungrab_device (xcb_connection_t *c /**< */,
2361 1.1 mrg xcb_timestamp_t time /**< */,
2362 1.1 mrg uint8_t device_id /**< */)
2363 1.1 mrg {
2364 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2365 1.1 mrg /* count */ 2,
2366 1.1 mrg /* ext */ &xcb_input_id,
2367 1.1 mrg /* opcode */ XCB_INPUT_UNGRAB_DEVICE,
2368 1.1 mrg /* isvoid */ 1
2369 1.1 mrg };
2370 1.1 mrg
2371 1.1 mrg struct iovec xcb_parts[4];
2372 1.1 mrg xcb_void_cookie_t xcb_ret;
2373 1.1 mrg xcb_input_ungrab_device_request_t xcb_out;
2374 1.1 mrg
2375 1.1 mrg xcb_out.time = time;
2376 1.1 mrg xcb_out.device_id = device_id;
2377 1.1 mrg
2378 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2379 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2380 1.1 mrg xcb_parts[3].iov_base = 0;
2381 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2382 1.1.12.1 tls
2383 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2384 1.1 mrg return xcb_ret;
2385 1.1 mrg }
2386 1.1 mrg
2387 1.1.12.1 tls int
2388 1.1.12.1 tls xcb_input_grab_device_key_sizeof (const void *_buffer /**< */)
2389 1.1.12.1 tls {
2390 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
2391 1.1.12.1 tls const xcb_input_grab_device_key_request_t *_aux = (xcb_input_grab_device_key_request_t *)_buffer;
2392 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
2393 1.1.12.1 tls unsigned int xcb_block_len = 0;
2394 1.1.12.1 tls unsigned int xcb_pad = 0;
2395 1.1.12.1 tls unsigned int xcb_align_to;
2396 1.1.12.1 tls
2397 1.1.12.1 tls
2398 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_grab_device_key_request_t);
2399 1.1.12.1 tls xcb_tmp += xcb_block_len;
2400 1.1.12.1 tls /* classes */
2401 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
2402 1.1.12.1 tls xcb_tmp += xcb_block_len;
2403 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
2404 1.1.12.1 tls /* insert padding */
2405 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2406 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
2407 1.1.12.1 tls if (0 != xcb_pad) {
2408 1.1.12.1 tls xcb_tmp += xcb_pad;
2409 1.1.12.1 tls xcb_pad = 0;
2410 1.1.12.1 tls }
2411 1.1.12.1 tls xcb_block_len = 0;
2412 1.1.12.1 tls
2413 1.1.12.1 tls return xcb_buffer_len;
2414 1.1.12.1 tls }
2415 1.1.12.1 tls
2416 1.1 mrg
2417 1.1 mrg /*****************************************************************************
2418 1.1 mrg **
2419 1.1 mrg ** xcb_void_cookie_t xcb_input_grab_device_key_checked
2420 1.1 mrg **
2421 1.1 mrg ** @param xcb_connection_t *c
2422 1.1 mrg ** @param xcb_window_t grab_window
2423 1.1 mrg ** @param uint16_t num_classes
2424 1.1 mrg ** @param uint16_t modifiers
2425 1.1 mrg ** @param uint8_t modifier_device
2426 1.1 mrg ** @param uint8_t grabbed_device
2427 1.1 mrg ** @param uint8_t key
2428 1.1 mrg ** @param uint8_t this_device_mode
2429 1.1 mrg ** @param uint8_t other_device_mode
2430 1.1 mrg ** @param uint8_t owner_events
2431 1.1 mrg ** @param const xcb_input_event_class_t *classes
2432 1.1 mrg ** @returns xcb_void_cookie_t
2433 1.1 mrg **
2434 1.1 mrg *****************************************************************************/
2435 1.1 mrg
2436 1.1 mrg xcb_void_cookie_t
2437 1.1 mrg xcb_input_grab_device_key_checked (xcb_connection_t *c /**< */,
2438 1.1 mrg xcb_window_t grab_window /**< */,
2439 1.1 mrg uint16_t num_classes /**< */,
2440 1.1 mrg uint16_t modifiers /**< */,
2441 1.1 mrg uint8_t modifier_device /**< */,
2442 1.1 mrg uint8_t grabbed_device /**< */,
2443 1.1 mrg uint8_t key /**< */,
2444 1.1 mrg uint8_t this_device_mode /**< */,
2445 1.1 mrg uint8_t other_device_mode /**< */,
2446 1.1 mrg uint8_t owner_events /**< */,
2447 1.1 mrg const xcb_input_event_class_t *classes /**< */)
2448 1.1 mrg {
2449 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2450 1.1 mrg /* count */ 4,
2451 1.1 mrg /* ext */ &xcb_input_id,
2452 1.1 mrg /* opcode */ XCB_INPUT_GRAB_DEVICE_KEY,
2453 1.1 mrg /* isvoid */ 1
2454 1.1 mrg };
2455 1.1 mrg
2456 1.1 mrg struct iovec xcb_parts[6];
2457 1.1 mrg xcb_void_cookie_t xcb_ret;
2458 1.1 mrg xcb_input_grab_device_key_request_t xcb_out;
2459 1.1 mrg
2460 1.1 mrg xcb_out.grab_window = grab_window;
2461 1.1 mrg xcb_out.num_classes = num_classes;
2462 1.1 mrg xcb_out.modifiers = modifiers;
2463 1.1 mrg xcb_out.modifier_device = modifier_device;
2464 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2465 1.1 mrg xcb_out.key = key;
2466 1.1 mrg xcb_out.this_device_mode = this_device_mode;
2467 1.1 mrg xcb_out.other_device_mode = other_device_mode;
2468 1.1 mrg xcb_out.owner_events = owner_events;
2469 1.1 mrg memset(xcb_out.pad0, 0, 2);
2470 1.1 mrg
2471 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2472 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2473 1.1 mrg xcb_parts[3].iov_base = 0;
2474 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2475 1.1.12.1 tls /* xcb_input_event_class_t classes */
2476 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
2477 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
2478 1.1 mrg xcb_parts[5].iov_base = 0;
2479 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2480 1.1.12.1 tls
2481 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2482 1.1 mrg return xcb_ret;
2483 1.1 mrg }
2484 1.1 mrg
2485 1.1 mrg
2486 1.1 mrg /*****************************************************************************
2487 1.1 mrg **
2488 1.1 mrg ** xcb_void_cookie_t xcb_input_grab_device_key
2489 1.1 mrg **
2490 1.1 mrg ** @param xcb_connection_t *c
2491 1.1 mrg ** @param xcb_window_t grab_window
2492 1.1 mrg ** @param uint16_t num_classes
2493 1.1 mrg ** @param uint16_t modifiers
2494 1.1 mrg ** @param uint8_t modifier_device
2495 1.1 mrg ** @param uint8_t grabbed_device
2496 1.1 mrg ** @param uint8_t key
2497 1.1 mrg ** @param uint8_t this_device_mode
2498 1.1 mrg ** @param uint8_t other_device_mode
2499 1.1 mrg ** @param uint8_t owner_events
2500 1.1 mrg ** @param const xcb_input_event_class_t *classes
2501 1.1 mrg ** @returns xcb_void_cookie_t
2502 1.1 mrg **
2503 1.1 mrg *****************************************************************************/
2504 1.1 mrg
2505 1.1 mrg xcb_void_cookie_t
2506 1.1 mrg xcb_input_grab_device_key (xcb_connection_t *c /**< */,
2507 1.1 mrg xcb_window_t grab_window /**< */,
2508 1.1 mrg uint16_t num_classes /**< */,
2509 1.1 mrg uint16_t modifiers /**< */,
2510 1.1 mrg uint8_t modifier_device /**< */,
2511 1.1 mrg uint8_t grabbed_device /**< */,
2512 1.1 mrg uint8_t key /**< */,
2513 1.1 mrg uint8_t this_device_mode /**< */,
2514 1.1 mrg uint8_t other_device_mode /**< */,
2515 1.1 mrg uint8_t owner_events /**< */,
2516 1.1 mrg const xcb_input_event_class_t *classes /**< */)
2517 1.1 mrg {
2518 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2519 1.1 mrg /* count */ 4,
2520 1.1 mrg /* ext */ &xcb_input_id,
2521 1.1 mrg /* opcode */ XCB_INPUT_GRAB_DEVICE_KEY,
2522 1.1 mrg /* isvoid */ 1
2523 1.1 mrg };
2524 1.1 mrg
2525 1.1 mrg struct iovec xcb_parts[6];
2526 1.1 mrg xcb_void_cookie_t xcb_ret;
2527 1.1 mrg xcb_input_grab_device_key_request_t xcb_out;
2528 1.1 mrg
2529 1.1 mrg xcb_out.grab_window = grab_window;
2530 1.1 mrg xcb_out.num_classes = num_classes;
2531 1.1 mrg xcb_out.modifiers = modifiers;
2532 1.1 mrg xcb_out.modifier_device = modifier_device;
2533 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2534 1.1 mrg xcb_out.key = key;
2535 1.1 mrg xcb_out.this_device_mode = this_device_mode;
2536 1.1 mrg xcb_out.other_device_mode = other_device_mode;
2537 1.1 mrg xcb_out.owner_events = owner_events;
2538 1.1 mrg memset(xcb_out.pad0, 0, 2);
2539 1.1 mrg
2540 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2541 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2542 1.1 mrg xcb_parts[3].iov_base = 0;
2543 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2544 1.1.12.1 tls /* xcb_input_event_class_t classes */
2545 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
2546 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
2547 1.1 mrg xcb_parts[5].iov_base = 0;
2548 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2549 1.1.12.1 tls
2550 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2551 1.1 mrg return xcb_ret;
2552 1.1 mrg }
2553 1.1 mrg
2554 1.1 mrg
2555 1.1 mrg /*****************************************************************************
2556 1.1 mrg **
2557 1.1 mrg ** xcb_void_cookie_t xcb_input_ungrab_device_key_checked
2558 1.1 mrg **
2559 1.1 mrg ** @param xcb_connection_t *c
2560 1.1 mrg ** @param xcb_window_t grabWindow
2561 1.1 mrg ** @param uint16_t modifiers
2562 1.1 mrg ** @param uint8_t modifier_device
2563 1.1 mrg ** @param uint8_t key
2564 1.1 mrg ** @param uint8_t grabbed_device
2565 1.1 mrg ** @returns xcb_void_cookie_t
2566 1.1 mrg **
2567 1.1 mrg *****************************************************************************/
2568 1.1 mrg
2569 1.1 mrg xcb_void_cookie_t
2570 1.1 mrg xcb_input_ungrab_device_key_checked (xcb_connection_t *c /**< */,
2571 1.1 mrg xcb_window_t grabWindow /**< */,
2572 1.1 mrg uint16_t modifiers /**< */,
2573 1.1 mrg uint8_t modifier_device /**< */,
2574 1.1 mrg uint8_t key /**< */,
2575 1.1 mrg uint8_t grabbed_device /**< */)
2576 1.1 mrg {
2577 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2578 1.1 mrg /* count */ 2,
2579 1.1 mrg /* ext */ &xcb_input_id,
2580 1.1 mrg /* opcode */ XCB_INPUT_UNGRAB_DEVICE_KEY,
2581 1.1 mrg /* isvoid */ 1
2582 1.1 mrg };
2583 1.1 mrg
2584 1.1 mrg struct iovec xcb_parts[4];
2585 1.1 mrg xcb_void_cookie_t xcb_ret;
2586 1.1 mrg xcb_input_ungrab_device_key_request_t xcb_out;
2587 1.1 mrg
2588 1.1 mrg xcb_out.grabWindow = grabWindow;
2589 1.1 mrg xcb_out.modifiers = modifiers;
2590 1.1 mrg xcb_out.modifier_device = modifier_device;
2591 1.1 mrg xcb_out.key = key;
2592 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2593 1.1 mrg
2594 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2595 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2596 1.1 mrg xcb_parts[3].iov_base = 0;
2597 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2598 1.1.12.1 tls
2599 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2600 1.1 mrg return xcb_ret;
2601 1.1 mrg }
2602 1.1 mrg
2603 1.1 mrg
2604 1.1 mrg /*****************************************************************************
2605 1.1 mrg **
2606 1.1 mrg ** xcb_void_cookie_t xcb_input_ungrab_device_key
2607 1.1 mrg **
2608 1.1 mrg ** @param xcb_connection_t *c
2609 1.1 mrg ** @param xcb_window_t grabWindow
2610 1.1 mrg ** @param uint16_t modifiers
2611 1.1 mrg ** @param uint8_t modifier_device
2612 1.1 mrg ** @param uint8_t key
2613 1.1 mrg ** @param uint8_t grabbed_device
2614 1.1 mrg ** @returns xcb_void_cookie_t
2615 1.1 mrg **
2616 1.1 mrg *****************************************************************************/
2617 1.1 mrg
2618 1.1 mrg xcb_void_cookie_t
2619 1.1 mrg xcb_input_ungrab_device_key (xcb_connection_t *c /**< */,
2620 1.1 mrg xcb_window_t grabWindow /**< */,
2621 1.1 mrg uint16_t modifiers /**< */,
2622 1.1 mrg uint8_t modifier_device /**< */,
2623 1.1 mrg uint8_t key /**< */,
2624 1.1 mrg uint8_t grabbed_device /**< */)
2625 1.1 mrg {
2626 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2627 1.1 mrg /* count */ 2,
2628 1.1 mrg /* ext */ &xcb_input_id,
2629 1.1 mrg /* opcode */ XCB_INPUT_UNGRAB_DEVICE_KEY,
2630 1.1 mrg /* isvoid */ 1
2631 1.1 mrg };
2632 1.1 mrg
2633 1.1 mrg struct iovec xcb_parts[4];
2634 1.1 mrg xcb_void_cookie_t xcb_ret;
2635 1.1 mrg xcb_input_ungrab_device_key_request_t xcb_out;
2636 1.1 mrg
2637 1.1 mrg xcb_out.grabWindow = grabWindow;
2638 1.1 mrg xcb_out.modifiers = modifiers;
2639 1.1 mrg xcb_out.modifier_device = modifier_device;
2640 1.1 mrg xcb_out.key = key;
2641 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2642 1.1 mrg
2643 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2644 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2645 1.1 mrg xcb_parts[3].iov_base = 0;
2646 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2647 1.1.12.1 tls
2648 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2649 1.1 mrg return xcb_ret;
2650 1.1 mrg }
2651 1.1 mrg
2652 1.1.12.1 tls int
2653 1.1.12.1 tls xcb_input_grab_device_button_sizeof (const void *_buffer /**< */)
2654 1.1.12.1 tls {
2655 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
2656 1.1.12.1 tls const xcb_input_grab_device_button_request_t *_aux = (xcb_input_grab_device_button_request_t *)_buffer;
2657 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
2658 1.1.12.1 tls unsigned int xcb_block_len = 0;
2659 1.1.12.1 tls unsigned int xcb_pad = 0;
2660 1.1.12.1 tls unsigned int xcb_align_to;
2661 1.1.12.1 tls
2662 1.1.12.1 tls
2663 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_grab_device_button_request_t);
2664 1.1.12.1 tls xcb_tmp += xcb_block_len;
2665 1.1.12.1 tls /* classes */
2666 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
2667 1.1.12.1 tls xcb_tmp += xcb_block_len;
2668 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
2669 1.1.12.1 tls /* insert padding */
2670 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
2671 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
2672 1.1.12.1 tls if (0 != xcb_pad) {
2673 1.1.12.1 tls xcb_tmp += xcb_pad;
2674 1.1.12.1 tls xcb_pad = 0;
2675 1.1.12.1 tls }
2676 1.1.12.1 tls xcb_block_len = 0;
2677 1.1.12.1 tls
2678 1.1.12.1 tls return xcb_buffer_len;
2679 1.1.12.1 tls }
2680 1.1.12.1 tls
2681 1.1 mrg
2682 1.1 mrg /*****************************************************************************
2683 1.1 mrg **
2684 1.1 mrg ** xcb_void_cookie_t xcb_input_grab_device_button_checked
2685 1.1 mrg **
2686 1.1 mrg ** @param xcb_connection_t *c
2687 1.1 mrg ** @param xcb_window_t grab_window
2688 1.1 mrg ** @param uint8_t grabbed_device
2689 1.1 mrg ** @param uint8_t modifier_device
2690 1.1 mrg ** @param uint16_t num_classes
2691 1.1 mrg ** @param uint16_t modifiers
2692 1.1 mrg ** @param uint8_t this_device_mode
2693 1.1 mrg ** @param uint8_t other_device_mode
2694 1.1 mrg ** @param uint8_t button
2695 1.1 mrg ** @param uint8_t owner_events
2696 1.1 mrg ** @param const xcb_input_event_class_t *classes
2697 1.1 mrg ** @returns xcb_void_cookie_t
2698 1.1 mrg **
2699 1.1 mrg *****************************************************************************/
2700 1.1 mrg
2701 1.1 mrg xcb_void_cookie_t
2702 1.1 mrg xcb_input_grab_device_button_checked (xcb_connection_t *c /**< */,
2703 1.1 mrg xcb_window_t grab_window /**< */,
2704 1.1 mrg uint8_t grabbed_device /**< */,
2705 1.1 mrg uint8_t modifier_device /**< */,
2706 1.1 mrg uint16_t num_classes /**< */,
2707 1.1 mrg uint16_t modifiers /**< */,
2708 1.1 mrg uint8_t this_device_mode /**< */,
2709 1.1 mrg uint8_t other_device_mode /**< */,
2710 1.1 mrg uint8_t button /**< */,
2711 1.1 mrg uint8_t owner_events /**< */,
2712 1.1 mrg const xcb_input_event_class_t *classes /**< */)
2713 1.1 mrg {
2714 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2715 1.1 mrg /* count */ 4,
2716 1.1 mrg /* ext */ &xcb_input_id,
2717 1.1 mrg /* opcode */ XCB_INPUT_GRAB_DEVICE_BUTTON,
2718 1.1 mrg /* isvoid */ 1
2719 1.1 mrg };
2720 1.1 mrg
2721 1.1 mrg struct iovec xcb_parts[6];
2722 1.1 mrg xcb_void_cookie_t xcb_ret;
2723 1.1 mrg xcb_input_grab_device_button_request_t xcb_out;
2724 1.1 mrg
2725 1.1 mrg xcb_out.grab_window = grab_window;
2726 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2727 1.1 mrg xcb_out.modifier_device = modifier_device;
2728 1.1 mrg xcb_out.num_classes = num_classes;
2729 1.1 mrg xcb_out.modifiers = modifiers;
2730 1.1 mrg xcb_out.this_device_mode = this_device_mode;
2731 1.1 mrg xcb_out.other_device_mode = other_device_mode;
2732 1.1 mrg xcb_out.button = button;
2733 1.1 mrg xcb_out.owner_events = owner_events;
2734 1.1 mrg memset(xcb_out.pad0, 0, 2);
2735 1.1 mrg
2736 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2737 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2738 1.1 mrg xcb_parts[3].iov_base = 0;
2739 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2740 1.1.12.1 tls /* xcb_input_event_class_t classes */
2741 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
2742 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
2743 1.1 mrg xcb_parts[5].iov_base = 0;
2744 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2745 1.1.12.1 tls
2746 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2747 1.1 mrg return xcb_ret;
2748 1.1 mrg }
2749 1.1 mrg
2750 1.1 mrg
2751 1.1 mrg /*****************************************************************************
2752 1.1 mrg **
2753 1.1 mrg ** xcb_void_cookie_t xcb_input_grab_device_button
2754 1.1 mrg **
2755 1.1 mrg ** @param xcb_connection_t *c
2756 1.1 mrg ** @param xcb_window_t grab_window
2757 1.1 mrg ** @param uint8_t grabbed_device
2758 1.1 mrg ** @param uint8_t modifier_device
2759 1.1 mrg ** @param uint16_t num_classes
2760 1.1 mrg ** @param uint16_t modifiers
2761 1.1 mrg ** @param uint8_t this_device_mode
2762 1.1 mrg ** @param uint8_t other_device_mode
2763 1.1 mrg ** @param uint8_t button
2764 1.1 mrg ** @param uint8_t owner_events
2765 1.1 mrg ** @param const xcb_input_event_class_t *classes
2766 1.1 mrg ** @returns xcb_void_cookie_t
2767 1.1 mrg **
2768 1.1 mrg *****************************************************************************/
2769 1.1 mrg
2770 1.1 mrg xcb_void_cookie_t
2771 1.1 mrg xcb_input_grab_device_button (xcb_connection_t *c /**< */,
2772 1.1 mrg xcb_window_t grab_window /**< */,
2773 1.1 mrg uint8_t grabbed_device /**< */,
2774 1.1 mrg uint8_t modifier_device /**< */,
2775 1.1 mrg uint16_t num_classes /**< */,
2776 1.1 mrg uint16_t modifiers /**< */,
2777 1.1 mrg uint8_t this_device_mode /**< */,
2778 1.1 mrg uint8_t other_device_mode /**< */,
2779 1.1 mrg uint8_t button /**< */,
2780 1.1 mrg uint8_t owner_events /**< */,
2781 1.1 mrg const xcb_input_event_class_t *classes /**< */)
2782 1.1 mrg {
2783 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2784 1.1 mrg /* count */ 4,
2785 1.1 mrg /* ext */ &xcb_input_id,
2786 1.1 mrg /* opcode */ XCB_INPUT_GRAB_DEVICE_BUTTON,
2787 1.1 mrg /* isvoid */ 1
2788 1.1 mrg };
2789 1.1 mrg
2790 1.1 mrg struct iovec xcb_parts[6];
2791 1.1 mrg xcb_void_cookie_t xcb_ret;
2792 1.1 mrg xcb_input_grab_device_button_request_t xcb_out;
2793 1.1 mrg
2794 1.1 mrg xcb_out.grab_window = grab_window;
2795 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2796 1.1 mrg xcb_out.modifier_device = modifier_device;
2797 1.1 mrg xcb_out.num_classes = num_classes;
2798 1.1 mrg xcb_out.modifiers = modifiers;
2799 1.1 mrg xcb_out.this_device_mode = this_device_mode;
2800 1.1 mrg xcb_out.other_device_mode = other_device_mode;
2801 1.1 mrg xcb_out.button = button;
2802 1.1 mrg xcb_out.owner_events = owner_events;
2803 1.1 mrg memset(xcb_out.pad0, 0, 2);
2804 1.1 mrg
2805 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2806 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2807 1.1 mrg xcb_parts[3].iov_base = 0;
2808 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2809 1.1.12.1 tls /* xcb_input_event_class_t classes */
2810 1.1 mrg xcb_parts[4].iov_base = (char *) classes;
2811 1.1 mrg xcb_parts[4].iov_len = num_classes * sizeof(xcb_input_event_class_t);
2812 1.1 mrg xcb_parts[5].iov_base = 0;
2813 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2814 1.1.12.1 tls
2815 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2816 1.1 mrg return xcb_ret;
2817 1.1 mrg }
2818 1.1 mrg
2819 1.1 mrg
2820 1.1 mrg /*****************************************************************************
2821 1.1 mrg **
2822 1.1 mrg ** xcb_void_cookie_t xcb_input_ungrab_device_button_checked
2823 1.1 mrg **
2824 1.1 mrg ** @param xcb_connection_t *c
2825 1.1 mrg ** @param xcb_window_t grab_window
2826 1.1 mrg ** @param uint16_t modifiers
2827 1.1 mrg ** @param uint8_t modifier_device
2828 1.1 mrg ** @param uint8_t button
2829 1.1 mrg ** @param uint8_t grabbed_device
2830 1.1 mrg ** @returns xcb_void_cookie_t
2831 1.1 mrg **
2832 1.1 mrg *****************************************************************************/
2833 1.1 mrg
2834 1.1 mrg xcb_void_cookie_t
2835 1.1 mrg xcb_input_ungrab_device_button_checked (xcb_connection_t *c /**< */,
2836 1.1 mrg xcb_window_t grab_window /**< */,
2837 1.1 mrg uint16_t modifiers /**< */,
2838 1.1 mrg uint8_t modifier_device /**< */,
2839 1.1 mrg uint8_t button /**< */,
2840 1.1 mrg uint8_t grabbed_device /**< */)
2841 1.1 mrg {
2842 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2843 1.1 mrg /* count */ 2,
2844 1.1 mrg /* ext */ &xcb_input_id,
2845 1.1 mrg /* opcode */ XCB_INPUT_UNGRAB_DEVICE_BUTTON,
2846 1.1 mrg /* isvoid */ 1
2847 1.1 mrg };
2848 1.1 mrg
2849 1.1 mrg struct iovec xcb_parts[4];
2850 1.1 mrg xcb_void_cookie_t xcb_ret;
2851 1.1 mrg xcb_input_ungrab_device_button_request_t xcb_out;
2852 1.1 mrg
2853 1.1 mrg xcb_out.grab_window = grab_window;
2854 1.1 mrg xcb_out.modifiers = modifiers;
2855 1.1 mrg xcb_out.modifier_device = modifier_device;
2856 1.1 mrg xcb_out.button = button;
2857 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2858 1.1 mrg
2859 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2860 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2861 1.1 mrg xcb_parts[3].iov_base = 0;
2862 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2863 1.1.12.1 tls
2864 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2865 1.1 mrg return xcb_ret;
2866 1.1 mrg }
2867 1.1 mrg
2868 1.1 mrg
2869 1.1 mrg /*****************************************************************************
2870 1.1 mrg **
2871 1.1 mrg ** xcb_void_cookie_t xcb_input_ungrab_device_button
2872 1.1 mrg **
2873 1.1 mrg ** @param xcb_connection_t *c
2874 1.1 mrg ** @param xcb_window_t grab_window
2875 1.1 mrg ** @param uint16_t modifiers
2876 1.1 mrg ** @param uint8_t modifier_device
2877 1.1 mrg ** @param uint8_t button
2878 1.1 mrg ** @param uint8_t grabbed_device
2879 1.1 mrg ** @returns xcb_void_cookie_t
2880 1.1 mrg **
2881 1.1 mrg *****************************************************************************/
2882 1.1 mrg
2883 1.1 mrg xcb_void_cookie_t
2884 1.1 mrg xcb_input_ungrab_device_button (xcb_connection_t *c /**< */,
2885 1.1 mrg xcb_window_t grab_window /**< */,
2886 1.1 mrg uint16_t modifiers /**< */,
2887 1.1 mrg uint8_t modifier_device /**< */,
2888 1.1 mrg uint8_t button /**< */,
2889 1.1 mrg uint8_t grabbed_device /**< */)
2890 1.1 mrg {
2891 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2892 1.1 mrg /* count */ 2,
2893 1.1 mrg /* ext */ &xcb_input_id,
2894 1.1 mrg /* opcode */ XCB_INPUT_UNGRAB_DEVICE_BUTTON,
2895 1.1 mrg /* isvoid */ 1
2896 1.1 mrg };
2897 1.1 mrg
2898 1.1 mrg struct iovec xcb_parts[4];
2899 1.1 mrg xcb_void_cookie_t xcb_ret;
2900 1.1 mrg xcb_input_ungrab_device_button_request_t xcb_out;
2901 1.1 mrg
2902 1.1 mrg xcb_out.grab_window = grab_window;
2903 1.1 mrg xcb_out.modifiers = modifiers;
2904 1.1 mrg xcb_out.modifier_device = modifier_device;
2905 1.1 mrg xcb_out.button = button;
2906 1.1 mrg xcb_out.grabbed_device = grabbed_device;
2907 1.1 mrg
2908 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2909 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2910 1.1 mrg xcb_parts[3].iov_base = 0;
2911 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2912 1.1.12.1 tls
2913 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2914 1.1 mrg return xcb_ret;
2915 1.1 mrg }
2916 1.1 mrg
2917 1.1 mrg
2918 1.1 mrg /*****************************************************************************
2919 1.1 mrg **
2920 1.1 mrg ** xcb_void_cookie_t xcb_input_allow_device_events_checked
2921 1.1 mrg **
2922 1.1 mrg ** @param xcb_connection_t *c
2923 1.1 mrg ** @param xcb_timestamp_t time
2924 1.1 mrg ** @param uint8_t mode
2925 1.1 mrg ** @param uint8_t device_id
2926 1.1 mrg ** @returns xcb_void_cookie_t
2927 1.1 mrg **
2928 1.1 mrg *****************************************************************************/
2929 1.1 mrg
2930 1.1 mrg xcb_void_cookie_t
2931 1.1 mrg xcb_input_allow_device_events_checked (xcb_connection_t *c /**< */,
2932 1.1 mrg xcb_timestamp_t time /**< */,
2933 1.1 mrg uint8_t mode /**< */,
2934 1.1 mrg uint8_t device_id /**< */)
2935 1.1 mrg {
2936 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2937 1.1 mrg /* count */ 2,
2938 1.1 mrg /* ext */ &xcb_input_id,
2939 1.1 mrg /* opcode */ XCB_INPUT_ALLOW_DEVICE_EVENTS,
2940 1.1 mrg /* isvoid */ 1
2941 1.1 mrg };
2942 1.1 mrg
2943 1.1 mrg struct iovec xcb_parts[4];
2944 1.1 mrg xcb_void_cookie_t xcb_ret;
2945 1.1 mrg xcb_input_allow_device_events_request_t xcb_out;
2946 1.1 mrg
2947 1.1 mrg xcb_out.time = time;
2948 1.1 mrg xcb_out.mode = mode;
2949 1.1 mrg xcb_out.device_id = device_id;
2950 1.1 mrg
2951 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2952 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2953 1.1 mrg xcb_parts[3].iov_base = 0;
2954 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2955 1.1.12.1 tls
2956 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2957 1.1 mrg return xcb_ret;
2958 1.1 mrg }
2959 1.1 mrg
2960 1.1 mrg
2961 1.1 mrg /*****************************************************************************
2962 1.1 mrg **
2963 1.1 mrg ** xcb_void_cookie_t xcb_input_allow_device_events
2964 1.1 mrg **
2965 1.1 mrg ** @param xcb_connection_t *c
2966 1.1 mrg ** @param xcb_timestamp_t time
2967 1.1 mrg ** @param uint8_t mode
2968 1.1 mrg ** @param uint8_t device_id
2969 1.1 mrg ** @returns xcb_void_cookie_t
2970 1.1 mrg **
2971 1.1 mrg *****************************************************************************/
2972 1.1 mrg
2973 1.1 mrg xcb_void_cookie_t
2974 1.1 mrg xcb_input_allow_device_events (xcb_connection_t *c /**< */,
2975 1.1 mrg xcb_timestamp_t time /**< */,
2976 1.1 mrg uint8_t mode /**< */,
2977 1.1 mrg uint8_t device_id /**< */)
2978 1.1 mrg {
2979 1.1 mrg static const xcb_protocol_request_t xcb_req = {
2980 1.1 mrg /* count */ 2,
2981 1.1 mrg /* ext */ &xcb_input_id,
2982 1.1 mrg /* opcode */ XCB_INPUT_ALLOW_DEVICE_EVENTS,
2983 1.1 mrg /* isvoid */ 1
2984 1.1 mrg };
2985 1.1 mrg
2986 1.1 mrg struct iovec xcb_parts[4];
2987 1.1 mrg xcb_void_cookie_t xcb_ret;
2988 1.1 mrg xcb_input_allow_device_events_request_t xcb_out;
2989 1.1 mrg
2990 1.1 mrg xcb_out.time = time;
2991 1.1 mrg xcb_out.mode = mode;
2992 1.1 mrg xcb_out.device_id = device_id;
2993 1.1 mrg
2994 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
2995 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
2996 1.1 mrg xcb_parts[3].iov_base = 0;
2997 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2998 1.1.12.1 tls
2999 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3000 1.1 mrg return xcb_ret;
3001 1.1 mrg }
3002 1.1 mrg
3003 1.1 mrg
3004 1.1 mrg /*****************************************************************************
3005 1.1 mrg **
3006 1.1 mrg ** xcb_input_get_device_focus_cookie_t xcb_input_get_device_focus
3007 1.1 mrg **
3008 1.1 mrg ** @param xcb_connection_t *c
3009 1.1 mrg ** @param uint8_t device_id
3010 1.1 mrg ** @returns xcb_input_get_device_focus_cookie_t
3011 1.1 mrg **
3012 1.1 mrg *****************************************************************************/
3013 1.1 mrg
3014 1.1 mrg xcb_input_get_device_focus_cookie_t
3015 1.1 mrg xcb_input_get_device_focus (xcb_connection_t *c /**< */,
3016 1.1 mrg uint8_t device_id /**< */)
3017 1.1 mrg {
3018 1.1 mrg static const xcb_protocol_request_t xcb_req = {
3019 1.1 mrg /* count */ 2,
3020 1.1 mrg /* ext */ &xcb_input_id,
3021 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_FOCUS,
3022 1.1 mrg /* isvoid */ 0
3023 1.1 mrg };
3024 1.1 mrg
3025 1.1 mrg struct iovec xcb_parts[4];
3026 1.1 mrg xcb_input_get_device_focus_cookie_t xcb_ret;
3027 1.1 mrg xcb_input_get_device_focus_request_t xcb_out;
3028 1.1 mrg
3029 1.1 mrg xcb_out.device_id = device_id;
3030 1.1 mrg memset(xcb_out.pad0, 0, 3);
3031 1.1 mrg
3032 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
3033 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
3034 1.1 mrg xcb_parts[3].iov_base = 0;
3035 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3036 1.1.12.1 tls
3037 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3038 1.1 mrg return xcb_ret;
3039 1.1 mrg }
3040 1.1 mrg
3041 1.1 mrg
3042 1.1 mrg /*****************************************************************************
3043 1.1 mrg **
3044 1.1 mrg ** xcb_input_get_device_focus_cookie_t xcb_input_get_device_focus_unchecked
3045 1.1 mrg **
3046 1.1 mrg ** @param xcb_connection_t *c
3047 1.1 mrg ** @param uint8_t device_id
3048 1.1 mrg ** @returns xcb_input_get_device_focus_cookie_t
3049 1.1 mrg **
3050 1.1 mrg *****************************************************************************/
3051 1.1 mrg
3052 1.1 mrg xcb_input_get_device_focus_cookie_t
3053 1.1 mrg xcb_input_get_device_focus_unchecked (xcb_connection_t *c /**< */,
3054 1.1 mrg uint8_t device_id /**< */)
3055 1.1 mrg {
3056 1.1 mrg static const xcb_protocol_request_t xcb_req = {
3057 1.1 mrg /* count */ 2,
3058 1.1 mrg /* ext */ &xcb_input_id,
3059 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_FOCUS,
3060 1.1 mrg /* isvoid */ 0
3061 1.1 mrg };
3062 1.1 mrg
3063 1.1 mrg struct iovec xcb_parts[4];
3064 1.1 mrg xcb_input_get_device_focus_cookie_t xcb_ret;
3065 1.1 mrg xcb_input_get_device_focus_request_t xcb_out;
3066 1.1 mrg
3067 1.1 mrg xcb_out.device_id = device_id;
3068 1.1 mrg memset(xcb_out.pad0, 0, 3);
3069 1.1 mrg
3070 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
3071 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
3072 1.1 mrg xcb_parts[3].iov_base = 0;
3073 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3074 1.1.12.1 tls
3075 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3076 1.1 mrg return xcb_ret;
3077 1.1 mrg }
3078 1.1 mrg
3079 1.1 mrg
3080 1.1 mrg /*****************************************************************************
3081 1.1 mrg **
3082 1.1 mrg ** xcb_input_get_device_focus_reply_t * xcb_input_get_device_focus_reply
3083 1.1 mrg **
3084 1.1 mrg ** @param xcb_connection_t *c
3085 1.1 mrg ** @param xcb_input_get_device_focus_cookie_t cookie
3086 1.1 mrg ** @param xcb_generic_error_t **e
3087 1.1 mrg ** @returns xcb_input_get_device_focus_reply_t *
3088 1.1 mrg **
3089 1.1 mrg *****************************************************************************/
3090 1.1 mrg
3091 1.1 mrg xcb_input_get_device_focus_reply_t *
3092 1.1 mrg xcb_input_get_device_focus_reply (xcb_connection_t *c /**< */,
3093 1.1 mrg xcb_input_get_device_focus_cookie_t cookie /**< */,
3094 1.1 mrg xcb_generic_error_t **e /**< */)
3095 1.1 mrg {
3096 1.1 mrg return (xcb_input_get_device_focus_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
3097 1.1 mrg }
3098 1.1 mrg
3099 1.1 mrg
3100 1.1 mrg /*****************************************************************************
3101 1.1 mrg **
3102 1.1 mrg ** xcb_void_cookie_t xcb_input_set_device_focus_checked
3103 1.1 mrg **
3104 1.1 mrg ** @param xcb_connection_t *c
3105 1.1 mrg ** @param xcb_window_t focus
3106 1.1 mrg ** @param xcb_timestamp_t time
3107 1.1 mrg ** @param uint8_t revert_to
3108 1.1 mrg ** @param uint8_t device_id
3109 1.1 mrg ** @returns xcb_void_cookie_t
3110 1.1 mrg **
3111 1.1 mrg *****************************************************************************/
3112 1.1 mrg
3113 1.1 mrg xcb_void_cookie_t
3114 1.1 mrg xcb_input_set_device_focus_checked (xcb_connection_t *c /**< */,
3115 1.1 mrg xcb_window_t focus /**< */,
3116 1.1 mrg xcb_timestamp_t time /**< */,
3117 1.1 mrg uint8_t revert_to /**< */,
3118 1.1 mrg uint8_t device_id /**< */)
3119 1.1 mrg {
3120 1.1 mrg static const xcb_protocol_request_t xcb_req = {
3121 1.1 mrg /* count */ 2,
3122 1.1 mrg /* ext */ &xcb_input_id,
3123 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_FOCUS,
3124 1.1 mrg /* isvoid */ 1
3125 1.1 mrg };
3126 1.1 mrg
3127 1.1 mrg struct iovec xcb_parts[4];
3128 1.1 mrg xcb_void_cookie_t xcb_ret;
3129 1.1 mrg xcb_input_set_device_focus_request_t xcb_out;
3130 1.1 mrg
3131 1.1 mrg xcb_out.focus = focus;
3132 1.1 mrg xcb_out.time = time;
3133 1.1 mrg xcb_out.revert_to = revert_to;
3134 1.1 mrg xcb_out.device_id = device_id;
3135 1.1 mrg
3136 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
3137 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
3138 1.1 mrg xcb_parts[3].iov_base = 0;
3139 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3140 1.1.12.1 tls
3141 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3142 1.1 mrg return xcb_ret;
3143 1.1 mrg }
3144 1.1 mrg
3145 1.1 mrg
3146 1.1 mrg /*****************************************************************************
3147 1.1 mrg **
3148 1.1 mrg ** xcb_void_cookie_t xcb_input_set_device_focus
3149 1.1 mrg **
3150 1.1 mrg ** @param xcb_connection_t *c
3151 1.1 mrg ** @param xcb_window_t focus
3152 1.1 mrg ** @param xcb_timestamp_t time
3153 1.1 mrg ** @param uint8_t revert_to
3154 1.1 mrg ** @param uint8_t device_id
3155 1.1 mrg ** @returns xcb_void_cookie_t
3156 1.1 mrg **
3157 1.1 mrg *****************************************************************************/
3158 1.1 mrg
3159 1.1 mrg xcb_void_cookie_t
3160 1.1 mrg xcb_input_set_device_focus (xcb_connection_t *c /**< */,
3161 1.1 mrg xcb_window_t focus /**< */,
3162 1.1 mrg xcb_timestamp_t time /**< */,
3163 1.1 mrg uint8_t revert_to /**< */,
3164 1.1 mrg uint8_t device_id /**< */)
3165 1.1 mrg {
3166 1.1 mrg static const xcb_protocol_request_t xcb_req = {
3167 1.1 mrg /* count */ 2,
3168 1.1 mrg /* ext */ &xcb_input_id,
3169 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_FOCUS,
3170 1.1 mrg /* isvoid */ 1
3171 1.1 mrg };
3172 1.1 mrg
3173 1.1 mrg struct iovec xcb_parts[4];
3174 1.1 mrg xcb_void_cookie_t xcb_ret;
3175 1.1 mrg xcb_input_set_device_focus_request_t xcb_out;
3176 1.1 mrg
3177 1.1 mrg xcb_out.focus = focus;
3178 1.1 mrg xcb_out.time = time;
3179 1.1 mrg xcb_out.revert_to = revert_to;
3180 1.1 mrg xcb_out.device_id = device_id;
3181 1.1 mrg
3182 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
3183 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
3184 1.1 mrg xcb_parts[3].iov_base = 0;
3185 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3186 1.1.12.1 tls
3187 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3188 1.1 mrg return xcb_ret;
3189 1.1 mrg }
3190 1.1 mrg
3191 1.1 mrg
3192 1.1 mrg /*****************************************************************************
3193 1.1 mrg **
3194 1.1 mrg ** xcb_input_get_feedback_control_cookie_t xcb_input_get_feedback_control
3195 1.1 mrg **
3196 1.1 mrg ** @param xcb_connection_t *c
3197 1.1 mrg ** @param uint8_t device_id
3198 1.1 mrg ** @returns xcb_input_get_feedback_control_cookie_t
3199 1.1 mrg **
3200 1.1 mrg *****************************************************************************/
3201 1.1 mrg
3202 1.1 mrg xcb_input_get_feedback_control_cookie_t
3203 1.1 mrg xcb_input_get_feedback_control (xcb_connection_t *c /**< */,
3204 1.1 mrg uint8_t device_id /**< */)
3205 1.1 mrg {
3206 1.1 mrg static const xcb_protocol_request_t xcb_req = {
3207 1.1 mrg /* count */ 2,
3208 1.1 mrg /* ext */ &xcb_input_id,
3209 1.1 mrg /* opcode */ XCB_INPUT_GET_FEEDBACK_CONTROL,
3210 1.1 mrg /* isvoid */ 0
3211 1.1 mrg };
3212 1.1 mrg
3213 1.1 mrg struct iovec xcb_parts[4];
3214 1.1 mrg xcb_input_get_feedback_control_cookie_t xcb_ret;
3215 1.1 mrg xcb_input_get_feedback_control_request_t xcb_out;
3216 1.1 mrg
3217 1.1 mrg xcb_out.device_id = device_id;
3218 1.1 mrg memset(xcb_out.pad0, 0, 3);
3219 1.1 mrg
3220 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
3221 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
3222 1.1 mrg xcb_parts[3].iov_base = 0;
3223 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3224 1.1.12.1 tls
3225 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3226 1.1 mrg return xcb_ret;
3227 1.1 mrg }
3228 1.1 mrg
3229 1.1 mrg
3230 1.1 mrg /*****************************************************************************
3231 1.1 mrg **
3232 1.1 mrg ** xcb_input_get_feedback_control_cookie_t xcb_input_get_feedback_control_unchecked
3233 1.1 mrg **
3234 1.1 mrg ** @param xcb_connection_t *c
3235 1.1 mrg ** @param uint8_t device_id
3236 1.1 mrg ** @returns xcb_input_get_feedback_control_cookie_t
3237 1.1 mrg **
3238 1.1 mrg *****************************************************************************/
3239 1.1 mrg
3240 1.1 mrg xcb_input_get_feedback_control_cookie_t
3241 1.1 mrg xcb_input_get_feedback_control_unchecked (xcb_connection_t *c /**< */,
3242 1.1 mrg uint8_t device_id /**< */)
3243 1.1 mrg {
3244 1.1 mrg static const xcb_protocol_request_t xcb_req = {
3245 1.1 mrg /* count */ 2,
3246 1.1 mrg /* ext */ &xcb_input_id,
3247 1.1 mrg /* opcode */ XCB_INPUT_GET_FEEDBACK_CONTROL,
3248 1.1 mrg /* isvoid */ 0
3249 1.1 mrg };
3250 1.1 mrg
3251 1.1 mrg struct iovec xcb_parts[4];
3252 1.1 mrg xcb_input_get_feedback_control_cookie_t xcb_ret;
3253 1.1 mrg xcb_input_get_feedback_control_request_t xcb_out;
3254 1.1 mrg
3255 1.1 mrg xcb_out.device_id = device_id;
3256 1.1 mrg memset(xcb_out.pad0, 0, 3);
3257 1.1 mrg
3258 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
3259 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
3260 1.1 mrg xcb_parts[3].iov_base = 0;
3261 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3262 1.1.12.1 tls
3263 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3264 1.1 mrg return xcb_ret;
3265 1.1 mrg }
3266 1.1 mrg
3267 1.1 mrg
3268 1.1 mrg /*****************************************************************************
3269 1.1 mrg **
3270 1.1 mrg ** xcb_input_get_feedback_control_reply_t * xcb_input_get_feedback_control_reply
3271 1.1 mrg **
3272 1.1 mrg ** @param xcb_connection_t *c
3273 1.1 mrg ** @param xcb_input_get_feedback_control_cookie_t cookie
3274 1.1 mrg ** @param xcb_generic_error_t **e
3275 1.1 mrg ** @returns xcb_input_get_feedback_control_reply_t *
3276 1.1 mrg **
3277 1.1 mrg *****************************************************************************/
3278 1.1 mrg
3279 1.1 mrg xcb_input_get_feedback_control_reply_t *
3280 1.1 mrg xcb_input_get_feedback_control_reply (xcb_connection_t *c /**< */,
3281 1.1 mrg xcb_input_get_feedback_control_cookie_t cookie /**< */,
3282 1.1 mrg xcb_generic_error_t **e /**< */)
3283 1.1 mrg {
3284 1.1 mrg return (xcb_input_get_feedback_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
3285 1.1 mrg }
3286 1.1 mrg
3287 1.1 mrg
3288 1.1 mrg /*****************************************************************************
3289 1.1 mrg **
3290 1.1 mrg ** void xcb_input_feedback_state_next
3291 1.1 mrg **
3292 1.1 mrg ** @param xcb_input_feedback_state_iterator_t *i
3293 1.1 mrg ** @returns void
3294 1.1 mrg **
3295 1.1 mrg *****************************************************************************/
3296 1.1 mrg
3297 1.1 mrg void
3298 1.1 mrg xcb_input_feedback_state_next (xcb_input_feedback_state_iterator_t *i /**< */)
3299 1.1 mrg {
3300 1.1 mrg --i->rem;
3301 1.1 mrg ++i->data;
3302 1.1 mrg i->index += sizeof(xcb_input_feedback_state_t);
3303 1.1 mrg }
3304 1.1 mrg
3305 1.1 mrg
3306 1.1 mrg /*****************************************************************************
3307 1.1 mrg **
3308 1.1 mrg ** xcb_generic_iterator_t xcb_input_feedback_state_end
3309 1.1 mrg **
3310 1.1 mrg ** @param xcb_input_feedback_state_iterator_t i
3311 1.1 mrg ** @returns xcb_generic_iterator_t
3312 1.1 mrg **
3313 1.1 mrg *****************************************************************************/
3314 1.1 mrg
3315 1.1 mrg xcb_generic_iterator_t
3316 1.1 mrg xcb_input_feedback_state_end (xcb_input_feedback_state_iterator_t i /**< */)
3317 1.1 mrg {
3318 1.1 mrg xcb_generic_iterator_t ret;
3319 1.1 mrg ret.data = i.data + i.rem;
3320 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3321 1.1 mrg ret.rem = 0;
3322 1.1 mrg return ret;
3323 1.1 mrg }
3324 1.1 mrg
3325 1.1 mrg
3326 1.1 mrg /*****************************************************************************
3327 1.1 mrg **
3328 1.1 mrg ** void xcb_input_kbd_feedback_state_next
3329 1.1 mrg **
3330 1.1 mrg ** @param xcb_input_kbd_feedback_state_iterator_t *i
3331 1.1 mrg ** @returns void
3332 1.1 mrg **
3333 1.1 mrg *****************************************************************************/
3334 1.1 mrg
3335 1.1 mrg void
3336 1.1 mrg xcb_input_kbd_feedback_state_next (xcb_input_kbd_feedback_state_iterator_t *i /**< */)
3337 1.1 mrg {
3338 1.1 mrg --i->rem;
3339 1.1 mrg ++i->data;
3340 1.1 mrg i->index += sizeof(xcb_input_kbd_feedback_state_t);
3341 1.1 mrg }
3342 1.1 mrg
3343 1.1 mrg
3344 1.1 mrg /*****************************************************************************
3345 1.1 mrg **
3346 1.1 mrg ** xcb_generic_iterator_t xcb_input_kbd_feedback_state_end
3347 1.1 mrg **
3348 1.1 mrg ** @param xcb_input_kbd_feedback_state_iterator_t i
3349 1.1 mrg ** @returns xcb_generic_iterator_t
3350 1.1 mrg **
3351 1.1 mrg *****************************************************************************/
3352 1.1 mrg
3353 1.1 mrg xcb_generic_iterator_t
3354 1.1 mrg xcb_input_kbd_feedback_state_end (xcb_input_kbd_feedback_state_iterator_t i /**< */)
3355 1.1 mrg {
3356 1.1 mrg xcb_generic_iterator_t ret;
3357 1.1 mrg ret.data = i.data + i.rem;
3358 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3359 1.1 mrg ret.rem = 0;
3360 1.1 mrg return ret;
3361 1.1 mrg }
3362 1.1 mrg
3363 1.1 mrg
3364 1.1 mrg /*****************************************************************************
3365 1.1 mrg **
3366 1.1 mrg ** void xcb_input_ptr_feedback_state_next
3367 1.1 mrg **
3368 1.1 mrg ** @param xcb_input_ptr_feedback_state_iterator_t *i
3369 1.1 mrg ** @returns void
3370 1.1 mrg **
3371 1.1 mrg *****************************************************************************/
3372 1.1 mrg
3373 1.1 mrg void
3374 1.1 mrg xcb_input_ptr_feedback_state_next (xcb_input_ptr_feedback_state_iterator_t *i /**< */)
3375 1.1 mrg {
3376 1.1 mrg --i->rem;
3377 1.1 mrg ++i->data;
3378 1.1 mrg i->index += sizeof(xcb_input_ptr_feedback_state_t);
3379 1.1 mrg }
3380 1.1 mrg
3381 1.1 mrg
3382 1.1 mrg /*****************************************************************************
3383 1.1 mrg **
3384 1.1 mrg ** xcb_generic_iterator_t xcb_input_ptr_feedback_state_end
3385 1.1 mrg **
3386 1.1 mrg ** @param xcb_input_ptr_feedback_state_iterator_t i
3387 1.1 mrg ** @returns xcb_generic_iterator_t
3388 1.1 mrg **
3389 1.1 mrg *****************************************************************************/
3390 1.1 mrg
3391 1.1 mrg xcb_generic_iterator_t
3392 1.1 mrg xcb_input_ptr_feedback_state_end (xcb_input_ptr_feedback_state_iterator_t i /**< */)
3393 1.1 mrg {
3394 1.1 mrg xcb_generic_iterator_t ret;
3395 1.1 mrg ret.data = i.data + i.rem;
3396 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3397 1.1 mrg ret.rem = 0;
3398 1.1 mrg return ret;
3399 1.1 mrg }
3400 1.1 mrg
3401 1.1 mrg
3402 1.1 mrg /*****************************************************************************
3403 1.1 mrg **
3404 1.1 mrg ** void xcb_input_integer_feedback_state_next
3405 1.1 mrg **
3406 1.1 mrg ** @param xcb_input_integer_feedback_state_iterator_t *i
3407 1.1 mrg ** @returns void
3408 1.1 mrg **
3409 1.1 mrg *****************************************************************************/
3410 1.1 mrg
3411 1.1 mrg void
3412 1.1 mrg xcb_input_integer_feedback_state_next (xcb_input_integer_feedback_state_iterator_t *i /**< */)
3413 1.1 mrg {
3414 1.1 mrg --i->rem;
3415 1.1 mrg ++i->data;
3416 1.1 mrg i->index += sizeof(xcb_input_integer_feedback_state_t);
3417 1.1 mrg }
3418 1.1 mrg
3419 1.1 mrg
3420 1.1 mrg /*****************************************************************************
3421 1.1 mrg **
3422 1.1 mrg ** xcb_generic_iterator_t xcb_input_integer_feedback_state_end
3423 1.1 mrg **
3424 1.1 mrg ** @param xcb_input_integer_feedback_state_iterator_t i
3425 1.1 mrg ** @returns xcb_generic_iterator_t
3426 1.1 mrg **
3427 1.1 mrg *****************************************************************************/
3428 1.1 mrg
3429 1.1 mrg xcb_generic_iterator_t
3430 1.1 mrg xcb_input_integer_feedback_state_end (xcb_input_integer_feedback_state_iterator_t i /**< */)
3431 1.1 mrg {
3432 1.1 mrg xcb_generic_iterator_t ret;
3433 1.1 mrg ret.data = i.data + i.rem;
3434 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3435 1.1 mrg ret.rem = 0;
3436 1.1 mrg return ret;
3437 1.1 mrg }
3438 1.1 mrg
3439 1.1.12.1 tls int
3440 1.1.12.1 tls xcb_input_string_feedback_state_sizeof (const void *_buffer /**< */)
3441 1.1.12.1 tls {
3442 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
3443 1.1.12.1 tls const xcb_input_string_feedback_state_t *_aux = (xcb_input_string_feedback_state_t *)_buffer;
3444 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
3445 1.1.12.1 tls unsigned int xcb_block_len = 0;
3446 1.1.12.1 tls unsigned int xcb_pad = 0;
3447 1.1.12.1 tls unsigned int xcb_align_to;
3448 1.1.12.1 tls
3449 1.1.12.1 tls
3450 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_string_feedback_state_t);
3451 1.1.12.1 tls xcb_tmp += xcb_block_len;
3452 1.1.12.1 tls /* keysyms */
3453 1.1.12.1 tls xcb_block_len += _aux->num_keysyms * sizeof(xcb_keysym_t);
3454 1.1.12.1 tls xcb_tmp += xcb_block_len;
3455 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_keysym_t);
3456 1.1.12.1 tls /* insert padding */
3457 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
3458 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
3459 1.1.12.1 tls if (0 != xcb_pad) {
3460 1.1.12.1 tls xcb_tmp += xcb_pad;
3461 1.1.12.1 tls xcb_pad = 0;
3462 1.1.12.1 tls }
3463 1.1.12.1 tls xcb_block_len = 0;
3464 1.1.12.1 tls
3465 1.1.12.1 tls return xcb_buffer_len;
3466 1.1.12.1 tls }
3467 1.1.12.1 tls
3468 1.1 mrg
3469 1.1 mrg /*****************************************************************************
3470 1.1 mrg **
3471 1.1 mrg ** xcb_keysym_t * xcb_input_string_feedback_state_keysyms
3472 1.1 mrg **
3473 1.1 mrg ** @param const xcb_input_string_feedback_state_t *R
3474 1.1 mrg ** @returns xcb_keysym_t *
3475 1.1 mrg **
3476 1.1 mrg *****************************************************************************/
3477 1.1 mrg
3478 1.1 mrg xcb_keysym_t *
3479 1.1 mrg xcb_input_string_feedback_state_keysyms (const xcb_input_string_feedback_state_t *R /**< */)
3480 1.1 mrg {
3481 1.1 mrg return (xcb_keysym_t *) (R + 1);
3482 1.1 mrg }
3483 1.1 mrg
3484 1.1 mrg
3485 1.1 mrg /*****************************************************************************
3486 1.1 mrg **
3487 1.1 mrg ** int xcb_input_string_feedback_state_keysyms_length
3488 1.1 mrg **
3489 1.1 mrg ** @param const xcb_input_string_feedback_state_t *R
3490 1.1 mrg ** @returns int
3491 1.1 mrg **
3492 1.1 mrg *****************************************************************************/
3493 1.1 mrg
3494 1.1 mrg int
3495 1.1 mrg xcb_input_string_feedback_state_keysyms_length (const xcb_input_string_feedback_state_t *R /**< */)
3496 1.1 mrg {
3497 1.1 mrg return R->num_keysyms;
3498 1.1 mrg }
3499 1.1 mrg
3500 1.1 mrg
3501 1.1 mrg /*****************************************************************************
3502 1.1 mrg **
3503 1.1 mrg ** xcb_generic_iterator_t xcb_input_string_feedback_state_keysyms_end
3504 1.1 mrg **
3505 1.1 mrg ** @param const xcb_input_string_feedback_state_t *R
3506 1.1 mrg ** @returns xcb_generic_iterator_t
3507 1.1 mrg **
3508 1.1 mrg *****************************************************************************/
3509 1.1 mrg
3510 1.1 mrg xcb_generic_iterator_t
3511 1.1 mrg xcb_input_string_feedback_state_keysyms_end (const xcb_input_string_feedback_state_t *R /**< */)
3512 1.1 mrg {
3513 1.1 mrg xcb_generic_iterator_t i;
3514 1.1 mrg i.data = ((xcb_keysym_t *) (R + 1)) + (R->num_keysyms);
3515 1.1 mrg i.rem = 0;
3516 1.1 mrg i.index = (char *) i.data - (char *) R;
3517 1.1 mrg return i;
3518 1.1 mrg }
3519 1.1 mrg
3520 1.1 mrg
3521 1.1 mrg /*****************************************************************************
3522 1.1 mrg **
3523 1.1 mrg ** void xcb_input_string_feedback_state_next
3524 1.1 mrg **
3525 1.1 mrg ** @param xcb_input_string_feedback_state_iterator_t *i
3526 1.1 mrg ** @returns void
3527 1.1 mrg **
3528 1.1 mrg *****************************************************************************/
3529 1.1 mrg
3530 1.1 mrg void
3531 1.1 mrg xcb_input_string_feedback_state_next (xcb_input_string_feedback_state_iterator_t *i /**< */)
3532 1.1 mrg {
3533 1.1 mrg xcb_input_string_feedback_state_t *R = i->data;
3534 1.1.12.1 tls xcb_generic_iterator_t child;
3535 1.1.12.1 tls child.data = (xcb_input_string_feedback_state_t *)(((char *)R) + xcb_input_string_feedback_state_sizeof(R));
3536 1.1.12.1 tls i->index = (char *) child.data - (char *) i->data;
3537 1.1 mrg --i->rem;
3538 1.1 mrg i->data = (xcb_input_string_feedback_state_t *) child.data;
3539 1.1 mrg }
3540 1.1 mrg
3541 1.1 mrg
3542 1.1 mrg /*****************************************************************************
3543 1.1 mrg **
3544 1.1 mrg ** xcb_generic_iterator_t xcb_input_string_feedback_state_end
3545 1.1 mrg **
3546 1.1 mrg ** @param xcb_input_string_feedback_state_iterator_t i
3547 1.1 mrg ** @returns xcb_generic_iterator_t
3548 1.1 mrg **
3549 1.1 mrg *****************************************************************************/
3550 1.1 mrg
3551 1.1 mrg xcb_generic_iterator_t
3552 1.1 mrg xcb_input_string_feedback_state_end (xcb_input_string_feedback_state_iterator_t i /**< */)
3553 1.1 mrg {
3554 1.1 mrg xcb_generic_iterator_t ret;
3555 1.1 mrg while(i.rem > 0)
3556 1.1 mrg xcb_input_string_feedback_state_next(&i);
3557 1.1 mrg ret.data = i.data;
3558 1.1 mrg ret.rem = i.rem;
3559 1.1 mrg ret.index = i.index;
3560 1.1 mrg return ret;
3561 1.1 mrg }
3562 1.1 mrg
3563 1.1 mrg
3564 1.1 mrg /*****************************************************************************
3565 1.1 mrg **
3566 1.1 mrg ** void xcb_input_bell_feedback_state_next
3567 1.1 mrg **
3568 1.1 mrg ** @param xcb_input_bell_feedback_state_iterator_t *i
3569 1.1 mrg ** @returns void
3570 1.1 mrg **
3571 1.1 mrg *****************************************************************************/
3572 1.1 mrg
3573 1.1 mrg void
3574 1.1 mrg xcb_input_bell_feedback_state_next (xcb_input_bell_feedback_state_iterator_t *i /**< */)
3575 1.1 mrg {
3576 1.1 mrg --i->rem;
3577 1.1 mrg ++i->data;
3578 1.1 mrg i->index += sizeof(xcb_input_bell_feedback_state_t);
3579 1.1 mrg }
3580 1.1 mrg
3581 1.1 mrg
3582 1.1 mrg /*****************************************************************************
3583 1.1 mrg **
3584 1.1 mrg ** xcb_generic_iterator_t xcb_input_bell_feedback_state_end
3585 1.1 mrg **
3586 1.1 mrg ** @param xcb_input_bell_feedback_state_iterator_t i
3587 1.1 mrg ** @returns xcb_generic_iterator_t
3588 1.1 mrg **
3589 1.1 mrg *****************************************************************************/
3590 1.1 mrg
3591 1.1 mrg xcb_generic_iterator_t
3592 1.1 mrg xcb_input_bell_feedback_state_end (xcb_input_bell_feedback_state_iterator_t i /**< */)
3593 1.1 mrg {
3594 1.1 mrg xcb_generic_iterator_t ret;
3595 1.1 mrg ret.data = i.data + i.rem;
3596 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3597 1.1 mrg ret.rem = 0;
3598 1.1 mrg return ret;
3599 1.1 mrg }
3600 1.1 mrg
3601 1.1 mrg
3602 1.1 mrg /*****************************************************************************
3603 1.1 mrg **
3604 1.1 mrg ** void xcb_input_led_feedback_state_next
3605 1.1 mrg **
3606 1.1 mrg ** @param xcb_input_led_feedback_state_iterator_t *i
3607 1.1 mrg ** @returns void
3608 1.1 mrg **
3609 1.1 mrg *****************************************************************************/
3610 1.1 mrg
3611 1.1 mrg void
3612 1.1 mrg xcb_input_led_feedback_state_next (xcb_input_led_feedback_state_iterator_t *i /**< */)
3613 1.1 mrg {
3614 1.1 mrg --i->rem;
3615 1.1 mrg ++i->data;
3616 1.1 mrg i->index += sizeof(xcb_input_led_feedback_state_t);
3617 1.1 mrg }
3618 1.1 mrg
3619 1.1 mrg
3620 1.1 mrg /*****************************************************************************
3621 1.1 mrg **
3622 1.1 mrg ** xcb_generic_iterator_t xcb_input_led_feedback_state_end
3623 1.1 mrg **
3624 1.1 mrg ** @param xcb_input_led_feedback_state_iterator_t i
3625 1.1 mrg ** @returns xcb_generic_iterator_t
3626 1.1 mrg **
3627 1.1 mrg *****************************************************************************/
3628 1.1 mrg
3629 1.1 mrg xcb_generic_iterator_t
3630 1.1 mrg xcb_input_led_feedback_state_end (xcb_input_led_feedback_state_iterator_t i /**< */)
3631 1.1 mrg {
3632 1.1 mrg xcb_generic_iterator_t ret;
3633 1.1 mrg ret.data = i.data + i.rem;
3634 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3635 1.1 mrg ret.rem = 0;
3636 1.1 mrg return ret;
3637 1.1 mrg }
3638 1.1 mrg
3639 1.1 mrg
3640 1.1 mrg /*****************************************************************************
3641 1.1 mrg **
3642 1.1 mrg ** void xcb_input_feedback_ctl_next
3643 1.1 mrg **
3644 1.1 mrg ** @param xcb_input_feedback_ctl_iterator_t *i
3645 1.1 mrg ** @returns void
3646 1.1 mrg **
3647 1.1 mrg *****************************************************************************/
3648 1.1 mrg
3649 1.1 mrg void
3650 1.1 mrg xcb_input_feedback_ctl_next (xcb_input_feedback_ctl_iterator_t *i /**< */)
3651 1.1 mrg {
3652 1.1 mrg --i->rem;
3653 1.1 mrg ++i->data;
3654 1.1 mrg i->index += sizeof(xcb_input_feedback_ctl_t);
3655 1.1 mrg }
3656 1.1 mrg
3657 1.1 mrg
3658 1.1 mrg /*****************************************************************************
3659 1.1 mrg **
3660 1.1 mrg ** xcb_generic_iterator_t xcb_input_feedback_ctl_end
3661 1.1 mrg **
3662 1.1 mrg ** @param xcb_input_feedback_ctl_iterator_t i
3663 1.1 mrg ** @returns xcb_generic_iterator_t
3664 1.1 mrg **
3665 1.1 mrg *****************************************************************************/
3666 1.1 mrg
3667 1.1 mrg xcb_generic_iterator_t
3668 1.1 mrg xcb_input_feedback_ctl_end (xcb_input_feedback_ctl_iterator_t i /**< */)
3669 1.1 mrg {
3670 1.1 mrg xcb_generic_iterator_t ret;
3671 1.1 mrg ret.data = i.data + i.rem;
3672 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3673 1.1 mrg ret.rem = 0;
3674 1.1 mrg return ret;
3675 1.1 mrg }
3676 1.1 mrg
3677 1.1 mrg
3678 1.1 mrg /*****************************************************************************
3679 1.1 mrg **
3680 1.1 mrg ** void xcb_input_kbd_feedback_ctl_next
3681 1.1 mrg **
3682 1.1 mrg ** @param xcb_input_kbd_feedback_ctl_iterator_t *i
3683 1.1 mrg ** @returns void
3684 1.1 mrg **
3685 1.1 mrg *****************************************************************************/
3686 1.1 mrg
3687 1.1 mrg void
3688 1.1 mrg xcb_input_kbd_feedback_ctl_next (xcb_input_kbd_feedback_ctl_iterator_t *i /**< */)
3689 1.1 mrg {
3690 1.1 mrg --i->rem;
3691 1.1 mrg ++i->data;
3692 1.1 mrg i->index += sizeof(xcb_input_kbd_feedback_ctl_t);
3693 1.1 mrg }
3694 1.1 mrg
3695 1.1 mrg
3696 1.1 mrg /*****************************************************************************
3697 1.1 mrg **
3698 1.1 mrg ** xcb_generic_iterator_t xcb_input_kbd_feedback_ctl_end
3699 1.1 mrg **
3700 1.1 mrg ** @param xcb_input_kbd_feedback_ctl_iterator_t i
3701 1.1 mrg ** @returns xcb_generic_iterator_t
3702 1.1 mrg **
3703 1.1 mrg *****************************************************************************/
3704 1.1 mrg
3705 1.1 mrg xcb_generic_iterator_t
3706 1.1 mrg xcb_input_kbd_feedback_ctl_end (xcb_input_kbd_feedback_ctl_iterator_t i /**< */)
3707 1.1 mrg {
3708 1.1 mrg xcb_generic_iterator_t ret;
3709 1.1 mrg ret.data = i.data + i.rem;
3710 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3711 1.1 mrg ret.rem = 0;
3712 1.1 mrg return ret;
3713 1.1 mrg }
3714 1.1 mrg
3715 1.1 mrg
3716 1.1 mrg /*****************************************************************************
3717 1.1 mrg **
3718 1.1 mrg ** void xcb_input_ptr_feedback_ctl_next
3719 1.1 mrg **
3720 1.1 mrg ** @param xcb_input_ptr_feedback_ctl_iterator_t *i
3721 1.1 mrg ** @returns void
3722 1.1 mrg **
3723 1.1 mrg *****************************************************************************/
3724 1.1 mrg
3725 1.1 mrg void
3726 1.1 mrg xcb_input_ptr_feedback_ctl_next (xcb_input_ptr_feedback_ctl_iterator_t *i /**< */)
3727 1.1 mrg {
3728 1.1 mrg --i->rem;
3729 1.1 mrg ++i->data;
3730 1.1 mrg i->index += sizeof(xcb_input_ptr_feedback_ctl_t);
3731 1.1 mrg }
3732 1.1 mrg
3733 1.1 mrg
3734 1.1 mrg /*****************************************************************************
3735 1.1 mrg **
3736 1.1 mrg ** xcb_generic_iterator_t xcb_input_ptr_feedback_ctl_end
3737 1.1 mrg **
3738 1.1 mrg ** @param xcb_input_ptr_feedback_ctl_iterator_t i
3739 1.1 mrg ** @returns xcb_generic_iterator_t
3740 1.1 mrg **
3741 1.1 mrg *****************************************************************************/
3742 1.1 mrg
3743 1.1 mrg xcb_generic_iterator_t
3744 1.1 mrg xcb_input_ptr_feedback_ctl_end (xcb_input_ptr_feedback_ctl_iterator_t i /**< */)
3745 1.1 mrg {
3746 1.1 mrg xcb_generic_iterator_t ret;
3747 1.1 mrg ret.data = i.data + i.rem;
3748 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3749 1.1 mrg ret.rem = 0;
3750 1.1 mrg return ret;
3751 1.1 mrg }
3752 1.1 mrg
3753 1.1 mrg
3754 1.1 mrg /*****************************************************************************
3755 1.1 mrg **
3756 1.1 mrg ** void xcb_input_integer_feedback_ctl_next
3757 1.1 mrg **
3758 1.1 mrg ** @param xcb_input_integer_feedback_ctl_iterator_t *i
3759 1.1 mrg ** @returns void
3760 1.1 mrg **
3761 1.1 mrg *****************************************************************************/
3762 1.1 mrg
3763 1.1 mrg void
3764 1.1 mrg xcb_input_integer_feedback_ctl_next (xcb_input_integer_feedback_ctl_iterator_t *i /**< */)
3765 1.1 mrg {
3766 1.1 mrg --i->rem;
3767 1.1 mrg ++i->data;
3768 1.1 mrg i->index += sizeof(xcb_input_integer_feedback_ctl_t);
3769 1.1 mrg }
3770 1.1 mrg
3771 1.1 mrg
3772 1.1 mrg /*****************************************************************************
3773 1.1 mrg **
3774 1.1 mrg ** xcb_generic_iterator_t xcb_input_integer_feedback_ctl_end
3775 1.1 mrg **
3776 1.1 mrg ** @param xcb_input_integer_feedback_ctl_iterator_t i
3777 1.1 mrg ** @returns xcb_generic_iterator_t
3778 1.1 mrg **
3779 1.1 mrg *****************************************************************************/
3780 1.1 mrg
3781 1.1 mrg xcb_generic_iterator_t
3782 1.1 mrg xcb_input_integer_feedback_ctl_end (xcb_input_integer_feedback_ctl_iterator_t i /**< */)
3783 1.1 mrg {
3784 1.1 mrg xcb_generic_iterator_t ret;
3785 1.1 mrg ret.data = i.data + i.rem;
3786 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3787 1.1 mrg ret.rem = 0;
3788 1.1 mrg return ret;
3789 1.1 mrg }
3790 1.1 mrg
3791 1.1.12.1 tls int
3792 1.1.12.1 tls xcb_input_string_feedback_ctl_sizeof (const void *_buffer /**< */)
3793 1.1.12.1 tls {
3794 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
3795 1.1.12.1 tls const xcb_input_string_feedback_ctl_t *_aux = (xcb_input_string_feedback_ctl_t *)_buffer;
3796 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
3797 1.1.12.1 tls unsigned int xcb_block_len = 0;
3798 1.1.12.1 tls unsigned int xcb_pad = 0;
3799 1.1.12.1 tls unsigned int xcb_align_to;
3800 1.1.12.1 tls
3801 1.1.12.1 tls
3802 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_string_feedback_ctl_t);
3803 1.1.12.1 tls xcb_tmp += xcb_block_len;
3804 1.1.12.1 tls /* keysyms */
3805 1.1.12.1 tls xcb_block_len += _aux->num_keysyms * sizeof(xcb_keysym_t);
3806 1.1.12.1 tls xcb_tmp += xcb_block_len;
3807 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_keysym_t);
3808 1.1.12.1 tls /* insert padding */
3809 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
3810 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
3811 1.1.12.1 tls if (0 != xcb_pad) {
3812 1.1.12.1 tls xcb_tmp += xcb_pad;
3813 1.1.12.1 tls xcb_pad = 0;
3814 1.1.12.1 tls }
3815 1.1.12.1 tls xcb_block_len = 0;
3816 1.1.12.1 tls
3817 1.1.12.1 tls return xcb_buffer_len;
3818 1.1.12.1 tls }
3819 1.1.12.1 tls
3820 1.1 mrg
3821 1.1 mrg /*****************************************************************************
3822 1.1 mrg **
3823 1.1 mrg ** xcb_keysym_t * xcb_input_string_feedback_ctl_keysyms
3824 1.1 mrg **
3825 1.1 mrg ** @param const xcb_input_string_feedback_ctl_t *R
3826 1.1 mrg ** @returns xcb_keysym_t *
3827 1.1 mrg **
3828 1.1 mrg *****************************************************************************/
3829 1.1 mrg
3830 1.1 mrg xcb_keysym_t *
3831 1.1 mrg xcb_input_string_feedback_ctl_keysyms (const xcb_input_string_feedback_ctl_t *R /**< */)
3832 1.1 mrg {
3833 1.1 mrg return (xcb_keysym_t *) (R + 1);
3834 1.1 mrg }
3835 1.1 mrg
3836 1.1 mrg
3837 1.1 mrg /*****************************************************************************
3838 1.1 mrg **
3839 1.1 mrg ** int xcb_input_string_feedback_ctl_keysyms_length
3840 1.1 mrg **
3841 1.1 mrg ** @param const xcb_input_string_feedback_ctl_t *R
3842 1.1 mrg ** @returns int
3843 1.1 mrg **
3844 1.1 mrg *****************************************************************************/
3845 1.1 mrg
3846 1.1 mrg int
3847 1.1 mrg xcb_input_string_feedback_ctl_keysyms_length (const xcb_input_string_feedback_ctl_t *R /**< */)
3848 1.1 mrg {
3849 1.1 mrg return R->num_keysyms;
3850 1.1 mrg }
3851 1.1 mrg
3852 1.1 mrg
3853 1.1 mrg /*****************************************************************************
3854 1.1 mrg **
3855 1.1 mrg ** xcb_generic_iterator_t xcb_input_string_feedback_ctl_keysyms_end
3856 1.1 mrg **
3857 1.1 mrg ** @param const xcb_input_string_feedback_ctl_t *R
3858 1.1 mrg ** @returns xcb_generic_iterator_t
3859 1.1 mrg **
3860 1.1 mrg *****************************************************************************/
3861 1.1 mrg
3862 1.1 mrg xcb_generic_iterator_t
3863 1.1 mrg xcb_input_string_feedback_ctl_keysyms_end (const xcb_input_string_feedback_ctl_t *R /**< */)
3864 1.1 mrg {
3865 1.1 mrg xcb_generic_iterator_t i;
3866 1.1 mrg i.data = ((xcb_keysym_t *) (R + 1)) + (R->num_keysyms);
3867 1.1 mrg i.rem = 0;
3868 1.1 mrg i.index = (char *) i.data - (char *) R;
3869 1.1 mrg return i;
3870 1.1 mrg }
3871 1.1 mrg
3872 1.1 mrg
3873 1.1 mrg /*****************************************************************************
3874 1.1 mrg **
3875 1.1 mrg ** void xcb_input_string_feedback_ctl_next
3876 1.1 mrg **
3877 1.1 mrg ** @param xcb_input_string_feedback_ctl_iterator_t *i
3878 1.1 mrg ** @returns void
3879 1.1 mrg **
3880 1.1 mrg *****************************************************************************/
3881 1.1 mrg
3882 1.1 mrg void
3883 1.1 mrg xcb_input_string_feedback_ctl_next (xcb_input_string_feedback_ctl_iterator_t *i /**< */)
3884 1.1 mrg {
3885 1.1 mrg xcb_input_string_feedback_ctl_t *R = i->data;
3886 1.1.12.1 tls xcb_generic_iterator_t child;
3887 1.1.12.1 tls child.data = (xcb_input_string_feedback_ctl_t *)(((char *)R) + xcb_input_string_feedback_ctl_sizeof(R));
3888 1.1.12.1 tls i->index = (char *) child.data - (char *) i->data;
3889 1.1 mrg --i->rem;
3890 1.1 mrg i->data = (xcb_input_string_feedback_ctl_t *) child.data;
3891 1.1 mrg }
3892 1.1 mrg
3893 1.1 mrg
3894 1.1 mrg /*****************************************************************************
3895 1.1 mrg **
3896 1.1 mrg ** xcb_generic_iterator_t xcb_input_string_feedback_ctl_end
3897 1.1 mrg **
3898 1.1 mrg ** @param xcb_input_string_feedback_ctl_iterator_t i
3899 1.1 mrg ** @returns xcb_generic_iterator_t
3900 1.1 mrg **
3901 1.1 mrg *****************************************************************************/
3902 1.1 mrg
3903 1.1 mrg xcb_generic_iterator_t
3904 1.1 mrg xcb_input_string_feedback_ctl_end (xcb_input_string_feedback_ctl_iterator_t i /**< */)
3905 1.1 mrg {
3906 1.1 mrg xcb_generic_iterator_t ret;
3907 1.1 mrg while(i.rem > 0)
3908 1.1 mrg xcb_input_string_feedback_ctl_next(&i);
3909 1.1 mrg ret.data = i.data;
3910 1.1 mrg ret.rem = i.rem;
3911 1.1 mrg ret.index = i.index;
3912 1.1 mrg return ret;
3913 1.1 mrg }
3914 1.1 mrg
3915 1.1 mrg
3916 1.1 mrg /*****************************************************************************
3917 1.1 mrg **
3918 1.1 mrg ** void xcb_input_bell_feedback_ctl_next
3919 1.1 mrg **
3920 1.1 mrg ** @param xcb_input_bell_feedback_ctl_iterator_t *i
3921 1.1 mrg ** @returns void
3922 1.1 mrg **
3923 1.1 mrg *****************************************************************************/
3924 1.1 mrg
3925 1.1 mrg void
3926 1.1 mrg xcb_input_bell_feedback_ctl_next (xcb_input_bell_feedback_ctl_iterator_t *i /**< */)
3927 1.1 mrg {
3928 1.1 mrg --i->rem;
3929 1.1 mrg ++i->data;
3930 1.1 mrg i->index += sizeof(xcb_input_bell_feedback_ctl_t);
3931 1.1 mrg }
3932 1.1 mrg
3933 1.1 mrg
3934 1.1 mrg /*****************************************************************************
3935 1.1 mrg **
3936 1.1 mrg ** xcb_generic_iterator_t xcb_input_bell_feedback_ctl_end
3937 1.1 mrg **
3938 1.1 mrg ** @param xcb_input_bell_feedback_ctl_iterator_t i
3939 1.1 mrg ** @returns xcb_generic_iterator_t
3940 1.1 mrg **
3941 1.1 mrg *****************************************************************************/
3942 1.1 mrg
3943 1.1 mrg xcb_generic_iterator_t
3944 1.1 mrg xcb_input_bell_feedback_ctl_end (xcb_input_bell_feedback_ctl_iterator_t i /**< */)
3945 1.1 mrg {
3946 1.1 mrg xcb_generic_iterator_t ret;
3947 1.1 mrg ret.data = i.data + i.rem;
3948 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3949 1.1 mrg ret.rem = 0;
3950 1.1 mrg return ret;
3951 1.1 mrg }
3952 1.1 mrg
3953 1.1 mrg
3954 1.1 mrg /*****************************************************************************
3955 1.1 mrg **
3956 1.1 mrg ** void xcb_input_led_feedback_ctl_next
3957 1.1 mrg **
3958 1.1 mrg ** @param xcb_input_led_feedback_ctl_iterator_t *i
3959 1.1 mrg ** @returns void
3960 1.1 mrg **
3961 1.1 mrg *****************************************************************************/
3962 1.1 mrg
3963 1.1 mrg void
3964 1.1 mrg xcb_input_led_feedback_ctl_next (xcb_input_led_feedback_ctl_iterator_t *i /**< */)
3965 1.1 mrg {
3966 1.1 mrg --i->rem;
3967 1.1 mrg ++i->data;
3968 1.1 mrg i->index += sizeof(xcb_input_led_feedback_ctl_t);
3969 1.1 mrg }
3970 1.1 mrg
3971 1.1 mrg
3972 1.1 mrg /*****************************************************************************
3973 1.1 mrg **
3974 1.1 mrg ** xcb_generic_iterator_t xcb_input_led_feedback_ctl_end
3975 1.1 mrg **
3976 1.1 mrg ** @param xcb_input_led_feedback_ctl_iterator_t i
3977 1.1 mrg ** @returns xcb_generic_iterator_t
3978 1.1 mrg **
3979 1.1 mrg *****************************************************************************/
3980 1.1 mrg
3981 1.1 mrg xcb_generic_iterator_t
3982 1.1 mrg xcb_input_led_feedback_ctl_end (xcb_input_led_feedback_ctl_iterator_t i /**< */)
3983 1.1 mrg {
3984 1.1 mrg xcb_generic_iterator_t ret;
3985 1.1 mrg ret.data = i.data + i.rem;
3986 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
3987 1.1 mrg ret.rem = 0;
3988 1.1 mrg return ret;
3989 1.1 mrg }
3990 1.1 mrg
3991 1.1.12.1 tls int
3992 1.1.12.1 tls xcb_input_get_device_key_mapping_sizeof (const void *_buffer /**< */)
3993 1.1.12.1 tls {
3994 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
3995 1.1.12.1 tls const xcb_input_get_device_key_mapping_reply_t *_aux = (xcb_input_get_device_key_mapping_reply_t *)_buffer;
3996 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
3997 1.1.12.1 tls unsigned int xcb_block_len = 0;
3998 1.1.12.1 tls unsigned int xcb_pad = 0;
3999 1.1.12.1 tls unsigned int xcb_align_to;
4000 1.1.12.1 tls
4001 1.1.12.1 tls
4002 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_get_device_key_mapping_reply_t);
4003 1.1.12.1 tls xcb_tmp += xcb_block_len;
4004 1.1.12.1 tls /* keysyms */
4005 1.1.12.1 tls xcb_block_len += _aux->length * sizeof(xcb_keysym_t);
4006 1.1.12.1 tls xcb_tmp += xcb_block_len;
4007 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_keysym_t);
4008 1.1.12.1 tls /* insert padding */
4009 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
4010 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
4011 1.1.12.1 tls if (0 != xcb_pad) {
4012 1.1.12.1 tls xcb_tmp += xcb_pad;
4013 1.1.12.1 tls xcb_pad = 0;
4014 1.1.12.1 tls }
4015 1.1.12.1 tls xcb_block_len = 0;
4016 1.1.12.1 tls
4017 1.1.12.1 tls return xcb_buffer_len;
4018 1.1.12.1 tls }
4019 1.1.12.1 tls
4020 1.1 mrg
4021 1.1 mrg /*****************************************************************************
4022 1.1 mrg **
4023 1.1 mrg ** xcb_input_get_device_key_mapping_cookie_t xcb_input_get_device_key_mapping
4024 1.1 mrg **
4025 1.1 mrg ** @param xcb_connection_t *c
4026 1.1 mrg ** @param uint8_t device_id
4027 1.1 mrg ** @param xcb_input_key_code_t first_keycode
4028 1.1 mrg ** @param uint8_t count
4029 1.1 mrg ** @returns xcb_input_get_device_key_mapping_cookie_t
4030 1.1 mrg **
4031 1.1 mrg *****************************************************************************/
4032 1.1 mrg
4033 1.1 mrg xcb_input_get_device_key_mapping_cookie_t
4034 1.1 mrg xcb_input_get_device_key_mapping (xcb_connection_t *c /**< */,
4035 1.1 mrg uint8_t device_id /**< */,
4036 1.1 mrg xcb_input_key_code_t first_keycode /**< */,
4037 1.1 mrg uint8_t count /**< */)
4038 1.1 mrg {
4039 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4040 1.1 mrg /* count */ 2,
4041 1.1 mrg /* ext */ &xcb_input_id,
4042 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_KEY_MAPPING,
4043 1.1 mrg /* isvoid */ 0
4044 1.1 mrg };
4045 1.1 mrg
4046 1.1 mrg struct iovec xcb_parts[4];
4047 1.1 mrg xcb_input_get_device_key_mapping_cookie_t xcb_ret;
4048 1.1 mrg xcb_input_get_device_key_mapping_request_t xcb_out;
4049 1.1 mrg
4050 1.1 mrg xcb_out.device_id = device_id;
4051 1.1 mrg xcb_out.first_keycode = first_keycode;
4052 1.1 mrg xcb_out.count = count;
4053 1.1 mrg
4054 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4055 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4056 1.1 mrg xcb_parts[3].iov_base = 0;
4057 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4058 1.1.12.1 tls
4059 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4060 1.1 mrg return xcb_ret;
4061 1.1 mrg }
4062 1.1 mrg
4063 1.1 mrg
4064 1.1 mrg /*****************************************************************************
4065 1.1 mrg **
4066 1.1 mrg ** xcb_input_get_device_key_mapping_cookie_t xcb_input_get_device_key_mapping_unchecked
4067 1.1 mrg **
4068 1.1 mrg ** @param xcb_connection_t *c
4069 1.1 mrg ** @param uint8_t device_id
4070 1.1 mrg ** @param xcb_input_key_code_t first_keycode
4071 1.1 mrg ** @param uint8_t count
4072 1.1 mrg ** @returns xcb_input_get_device_key_mapping_cookie_t
4073 1.1 mrg **
4074 1.1 mrg *****************************************************************************/
4075 1.1 mrg
4076 1.1 mrg xcb_input_get_device_key_mapping_cookie_t
4077 1.1 mrg xcb_input_get_device_key_mapping_unchecked (xcb_connection_t *c /**< */,
4078 1.1 mrg uint8_t device_id /**< */,
4079 1.1 mrg xcb_input_key_code_t first_keycode /**< */,
4080 1.1 mrg uint8_t count /**< */)
4081 1.1 mrg {
4082 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4083 1.1 mrg /* count */ 2,
4084 1.1 mrg /* ext */ &xcb_input_id,
4085 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_KEY_MAPPING,
4086 1.1 mrg /* isvoid */ 0
4087 1.1 mrg };
4088 1.1 mrg
4089 1.1 mrg struct iovec xcb_parts[4];
4090 1.1 mrg xcb_input_get_device_key_mapping_cookie_t xcb_ret;
4091 1.1 mrg xcb_input_get_device_key_mapping_request_t xcb_out;
4092 1.1 mrg
4093 1.1 mrg xcb_out.device_id = device_id;
4094 1.1 mrg xcb_out.first_keycode = first_keycode;
4095 1.1 mrg xcb_out.count = count;
4096 1.1 mrg
4097 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4098 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4099 1.1 mrg xcb_parts[3].iov_base = 0;
4100 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4101 1.1.12.1 tls
4102 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4103 1.1 mrg return xcb_ret;
4104 1.1 mrg }
4105 1.1 mrg
4106 1.1 mrg
4107 1.1 mrg /*****************************************************************************
4108 1.1 mrg **
4109 1.1 mrg ** xcb_keysym_t * xcb_input_get_device_key_mapping_keysyms
4110 1.1 mrg **
4111 1.1 mrg ** @param const xcb_input_get_device_key_mapping_reply_t *R
4112 1.1 mrg ** @returns xcb_keysym_t *
4113 1.1 mrg **
4114 1.1 mrg *****************************************************************************/
4115 1.1 mrg
4116 1.1 mrg xcb_keysym_t *
4117 1.1 mrg xcb_input_get_device_key_mapping_keysyms (const xcb_input_get_device_key_mapping_reply_t *R /**< */)
4118 1.1 mrg {
4119 1.1 mrg return (xcb_keysym_t *) (R + 1);
4120 1.1 mrg }
4121 1.1 mrg
4122 1.1 mrg
4123 1.1 mrg /*****************************************************************************
4124 1.1 mrg **
4125 1.1 mrg ** int xcb_input_get_device_key_mapping_keysyms_length
4126 1.1 mrg **
4127 1.1 mrg ** @param const xcb_input_get_device_key_mapping_reply_t *R
4128 1.1 mrg ** @returns int
4129 1.1 mrg **
4130 1.1 mrg *****************************************************************************/
4131 1.1 mrg
4132 1.1 mrg int
4133 1.1 mrg xcb_input_get_device_key_mapping_keysyms_length (const xcb_input_get_device_key_mapping_reply_t *R /**< */)
4134 1.1 mrg {
4135 1.1 mrg return R->length;
4136 1.1 mrg }
4137 1.1 mrg
4138 1.1 mrg
4139 1.1 mrg /*****************************************************************************
4140 1.1 mrg **
4141 1.1 mrg ** xcb_generic_iterator_t xcb_input_get_device_key_mapping_keysyms_end
4142 1.1 mrg **
4143 1.1 mrg ** @param const xcb_input_get_device_key_mapping_reply_t *R
4144 1.1 mrg ** @returns xcb_generic_iterator_t
4145 1.1 mrg **
4146 1.1 mrg *****************************************************************************/
4147 1.1 mrg
4148 1.1 mrg xcb_generic_iterator_t
4149 1.1 mrg xcb_input_get_device_key_mapping_keysyms_end (const xcb_input_get_device_key_mapping_reply_t *R /**< */)
4150 1.1 mrg {
4151 1.1 mrg xcb_generic_iterator_t i;
4152 1.1 mrg i.data = ((xcb_keysym_t *) (R + 1)) + (R->length);
4153 1.1 mrg i.rem = 0;
4154 1.1 mrg i.index = (char *) i.data - (char *) R;
4155 1.1 mrg return i;
4156 1.1 mrg }
4157 1.1 mrg
4158 1.1 mrg
4159 1.1 mrg /*****************************************************************************
4160 1.1 mrg **
4161 1.1 mrg ** xcb_input_get_device_key_mapping_reply_t * xcb_input_get_device_key_mapping_reply
4162 1.1 mrg **
4163 1.1 mrg ** @param xcb_connection_t *c
4164 1.1 mrg ** @param xcb_input_get_device_key_mapping_cookie_t cookie
4165 1.1 mrg ** @param xcb_generic_error_t **e
4166 1.1 mrg ** @returns xcb_input_get_device_key_mapping_reply_t *
4167 1.1 mrg **
4168 1.1 mrg *****************************************************************************/
4169 1.1 mrg
4170 1.1 mrg xcb_input_get_device_key_mapping_reply_t *
4171 1.1 mrg xcb_input_get_device_key_mapping_reply (xcb_connection_t *c /**< */,
4172 1.1 mrg xcb_input_get_device_key_mapping_cookie_t cookie /**< */,
4173 1.1 mrg xcb_generic_error_t **e /**< */)
4174 1.1 mrg {
4175 1.1 mrg return (xcb_input_get_device_key_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4176 1.1 mrg }
4177 1.1 mrg
4178 1.1.12.1 tls int
4179 1.1.12.1 tls xcb_input_change_device_key_mapping_sizeof (const void *_buffer /**< */)
4180 1.1.12.1 tls {
4181 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
4182 1.1.12.1 tls const xcb_input_change_device_key_mapping_request_t *_aux = (xcb_input_change_device_key_mapping_request_t *)_buffer;
4183 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
4184 1.1.12.1 tls unsigned int xcb_block_len = 0;
4185 1.1.12.1 tls unsigned int xcb_pad = 0;
4186 1.1.12.1 tls unsigned int xcb_align_to;
4187 1.1.12.1 tls
4188 1.1.12.1 tls
4189 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_change_device_key_mapping_request_t);
4190 1.1.12.1 tls xcb_tmp += xcb_block_len;
4191 1.1.12.1 tls /* keysyms */
4192 1.1.12.1 tls xcb_block_len += (_aux->keycode_count * _aux->keysyms_per_keycode) * sizeof(xcb_keysym_t);
4193 1.1.12.1 tls xcb_tmp += xcb_block_len;
4194 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_keysym_t);
4195 1.1.12.1 tls /* insert padding */
4196 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
4197 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
4198 1.1.12.1 tls if (0 != xcb_pad) {
4199 1.1.12.1 tls xcb_tmp += xcb_pad;
4200 1.1.12.1 tls xcb_pad = 0;
4201 1.1.12.1 tls }
4202 1.1.12.1 tls xcb_block_len = 0;
4203 1.1.12.1 tls
4204 1.1.12.1 tls return xcb_buffer_len;
4205 1.1.12.1 tls }
4206 1.1.12.1 tls
4207 1.1 mrg
4208 1.1 mrg /*****************************************************************************
4209 1.1 mrg **
4210 1.1 mrg ** xcb_void_cookie_t xcb_input_change_device_key_mapping_checked
4211 1.1 mrg **
4212 1.1 mrg ** @param xcb_connection_t *c
4213 1.1 mrg ** @param uint8_t device_id
4214 1.1 mrg ** @param xcb_input_key_code_t first_keycode
4215 1.1 mrg ** @param uint8_t keysyms_per_keycode
4216 1.1 mrg ** @param uint8_t keycode_count
4217 1.1 mrg ** @param const xcb_keysym_t *keysyms
4218 1.1 mrg ** @returns xcb_void_cookie_t
4219 1.1 mrg **
4220 1.1 mrg *****************************************************************************/
4221 1.1 mrg
4222 1.1 mrg xcb_void_cookie_t
4223 1.1 mrg xcb_input_change_device_key_mapping_checked (xcb_connection_t *c /**< */,
4224 1.1 mrg uint8_t device_id /**< */,
4225 1.1 mrg xcb_input_key_code_t first_keycode /**< */,
4226 1.1 mrg uint8_t keysyms_per_keycode /**< */,
4227 1.1 mrg uint8_t keycode_count /**< */,
4228 1.1 mrg const xcb_keysym_t *keysyms /**< */)
4229 1.1 mrg {
4230 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4231 1.1 mrg /* count */ 4,
4232 1.1 mrg /* ext */ &xcb_input_id,
4233 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING,
4234 1.1 mrg /* isvoid */ 1
4235 1.1 mrg };
4236 1.1 mrg
4237 1.1 mrg struct iovec xcb_parts[6];
4238 1.1 mrg xcb_void_cookie_t xcb_ret;
4239 1.1 mrg xcb_input_change_device_key_mapping_request_t xcb_out;
4240 1.1 mrg
4241 1.1 mrg xcb_out.device_id = device_id;
4242 1.1 mrg xcb_out.first_keycode = first_keycode;
4243 1.1 mrg xcb_out.keysyms_per_keycode = keysyms_per_keycode;
4244 1.1 mrg xcb_out.keycode_count = keycode_count;
4245 1.1 mrg
4246 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4247 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4248 1.1 mrg xcb_parts[3].iov_base = 0;
4249 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4250 1.1.12.1 tls /* xcb_keysym_t keysyms */
4251 1.1 mrg xcb_parts[4].iov_base = (char *) keysyms;
4252 1.1 mrg xcb_parts[4].iov_len = (keycode_count * keysyms_per_keycode) * sizeof(xcb_keysym_t);
4253 1.1 mrg xcb_parts[5].iov_base = 0;
4254 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
4255 1.1.12.1 tls
4256 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4257 1.1 mrg return xcb_ret;
4258 1.1 mrg }
4259 1.1 mrg
4260 1.1 mrg
4261 1.1 mrg /*****************************************************************************
4262 1.1 mrg **
4263 1.1 mrg ** xcb_void_cookie_t xcb_input_change_device_key_mapping
4264 1.1 mrg **
4265 1.1 mrg ** @param xcb_connection_t *c
4266 1.1 mrg ** @param uint8_t device_id
4267 1.1 mrg ** @param xcb_input_key_code_t first_keycode
4268 1.1 mrg ** @param uint8_t keysyms_per_keycode
4269 1.1 mrg ** @param uint8_t keycode_count
4270 1.1 mrg ** @param const xcb_keysym_t *keysyms
4271 1.1 mrg ** @returns xcb_void_cookie_t
4272 1.1 mrg **
4273 1.1 mrg *****************************************************************************/
4274 1.1 mrg
4275 1.1 mrg xcb_void_cookie_t
4276 1.1 mrg xcb_input_change_device_key_mapping (xcb_connection_t *c /**< */,
4277 1.1 mrg uint8_t device_id /**< */,
4278 1.1 mrg xcb_input_key_code_t first_keycode /**< */,
4279 1.1 mrg uint8_t keysyms_per_keycode /**< */,
4280 1.1 mrg uint8_t keycode_count /**< */,
4281 1.1 mrg const xcb_keysym_t *keysyms /**< */)
4282 1.1 mrg {
4283 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4284 1.1 mrg /* count */ 4,
4285 1.1 mrg /* ext */ &xcb_input_id,
4286 1.1 mrg /* opcode */ XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING,
4287 1.1 mrg /* isvoid */ 1
4288 1.1 mrg };
4289 1.1 mrg
4290 1.1 mrg struct iovec xcb_parts[6];
4291 1.1 mrg xcb_void_cookie_t xcb_ret;
4292 1.1 mrg xcb_input_change_device_key_mapping_request_t xcb_out;
4293 1.1 mrg
4294 1.1 mrg xcb_out.device_id = device_id;
4295 1.1 mrg xcb_out.first_keycode = first_keycode;
4296 1.1 mrg xcb_out.keysyms_per_keycode = keysyms_per_keycode;
4297 1.1 mrg xcb_out.keycode_count = keycode_count;
4298 1.1 mrg
4299 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4300 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4301 1.1 mrg xcb_parts[3].iov_base = 0;
4302 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4303 1.1.12.1 tls /* xcb_keysym_t keysyms */
4304 1.1 mrg xcb_parts[4].iov_base = (char *) keysyms;
4305 1.1 mrg xcb_parts[4].iov_len = (keycode_count * keysyms_per_keycode) * sizeof(xcb_keysym_t);
4306 1.1 mrg xcb_parts[5].iov_base = 0;
4307 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
4308 1.1.12.1 tls
4309 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4310 1.1 mrg return xcb_ret;
4311 1.1 mrg }
4312 1.1 mrg
4313 1.1.12.1 tls int
4314 1.1.12.1 tls xcb_input_get_device_modifier_mapping_sizeof (const void *_buffer /**< */)
4315 1.1.12.1 tls {
4316 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
4317 1.1.12.1 tls const xcb_input_get_device_modifier_mapping_reply_t *_aux = (xcb_input_get_device_modifier_mapping_reply_t *)_buffer;
4318 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
4319 1.1.12.1 tls unsigned int xcb_block_len = 0;
4320 1.1.12.1 tls unsigned int xcb_pad = 0;
4321 1.1.12.1 tls unsigned int xcb_align_to;
4322 1.1.12.1 tls
4323 1.1.12.1 tls
4324 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_get_device_modifier_mapping_reply_t);
4325 1.1.12.1 tls xcb_tmp += xcb_block_len;
4326 1.1.12.1 tls /* keymaps */
4327 1.1.12.1 tls xcb_block_len += (_aux->keycodes_per_modifier * 8) * sizeof(uint8_t);
4328 1.1.12.1 tls xcb_tmp += xcb_block_len;
4329 1.1.12.1 tls xcb_align_to = ALIGNOF(uint8_t);
4330 1.1.12.1 tls /* insert padding */
4331 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
4332 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
4333 1.1.12.1 tls if (0 != xcb_pad) {
4334 1.1.12.1 tls xcb_tmp += xcb_pad;
4335 1.1.12.1 tls xcb_pad = 0;
4336 1.1.12.1 tls }
4337 1.1.12.1 tls xcb_block_len = 0;
4338 1.1.12.1 tls
4339 1.1.12.1 tls return xcb_buffer_len;
4340 1.1.12.1 tls }
4341 1.1.12.1 tls
4342 1.1 mrg
4343 1.1 mrg /*****************************************************************************
4344 1.1 mrg **
4345 1.1 mrg ** xcb_input_get_device_modifier_mapping_cookie_t xcb_input_get_device_modifier_mapping
4346 1.1 mrg **
4347 1.1 mrg ** @param xcb_connection_t *c
4348 1.1 mrg ** @param uint8_t device_id
4349 1.1 mrg ** @returns xcb_input_get_device_modifier_mapping_cookie_t
4350 1.1 mrg **
4351 1.1 mrg *****************************************************************************/
4352 1.1 mrg
4353 1.1 mrg xcb_input_get_device_modifier_mapping_cookie_t
4354 1.1 mrg xcb_input_get_device_modifier_mapping (xcb_connection_t *c /**< */,
4355 1.1 mrg uint8_t device_id /**< */)
4356 1.1 mrg {
4357 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4358 1.1 mrg /* count */ 2,
4359 1.1 mrg /* ext */ &xcb_input_id,
4360 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING,
4361 1.1 mrg /* isvoid */ 0
4362 1.1 mrg };
4363 1.1 mrg
4364 1.1 mrg struct iovec xcb_parts[4];
4365 1.1 mrg xcb_input_get_device_modifier_mapping_cookie_t xcb_ret;
4366 1.1 mrg xcb_input_get_device_modifier_mapping_request_t xcb_out;
4367 1.1 mrg
4368 1.1 mrg xcb_out.device_id = device_id;
4369 1.1 mrg memset(xcb_out.pad0, 0, 3);
4370 1.1 mrg
4371 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4372 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4373 1.1 mrg xcb_parts[3].iov_base = 0;
4374 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4375 1.1.12.1 tls
4376 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4377 1.1 mrg return xcb_ret;
4378 1.1 mrg }
4379 1.1 mrg
4380 1.1 mrg
4381 1.1 mrg /*****************************************************************************
4382 1.1 mrg **
4383 1.1 mrg ** xcb_input_get_device_modifier_mapping_cookie_t xcb_input_get_device_modifier_mapping_unchecked
4384 1.1 mrg **
4385 1.1 mrg ** @param xcb_connection_t *c
4386 1.1 mrg ** @param uint8_t device_id
4387 1.1 mrg ** @returns xcb_input_get_device_modifier_mapping_cookie_t
4388 1.1 mrg **
4389 1.1 mrg *****************************************************************************/
4390 1.1 mrg
4391 1.1 mrg xcb_input_get_device_modifier_mapping_cookie_t
4392 1.1 mrg xcb_input_get_device_modifier_mapping_unchecked (xcb_connection_t *c /**< */,
4393 1.1 mrg uint8_t device_id /**< */)
4394 1.1 mrg {
4395 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4396 1.1 mrg /* count */ 2,
4397 1.1 mrg /* ext */ &xcb_input_id,
4398 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING,
4399 1.1 mrg /* isvoid */ 0
4400 1.1 mrg };
4401 1.1 mrg
4402 1.1 mrg struct iovec xcb_parts[4];
4403 1.1 mrg xcb_input_get_device_modifier_mapping_cookie_t xcb_ret;
4404 1.1 mrg xcb_input_get_device_modifier_mapping_request_t xcb_out;
4405 1.1 mrg
4406 1.1 mrg xcb_out.device_id = device_id;
4407 1.1 mrg memset(xcb_out.pad0, 0, 3);
4408 1.1 mrg
4409 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4410 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4411 1.1 mrg xcb_parts[3].iov_base = 0;
4412 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4413 1.1.12.1 tls
4414 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4415 1.1 mrg return xcb_ret;
4416 1.1 mrg }
4417 1.1 mrg
4418 1.1 mrg
4419 1.1 mrg /*****************************************************************************
4420 1.1 mrg **
4421 1.1 mrg ** uint8_t * xcb_input_get_device_modifier_mapping_keymaps
4422 1.1 mrg **
4423 1.1 mrg ** @param const xcb_input_get_device_modifier_mapping_reply_t *R
4424 1.1 mrg ** @returns uint8_t *
4425 1.1 mrg **
4426 1.1 mrg *****************************************************************************/
4427 1.1 mrg
4428 1.1 mrg uint8_t *
4429 1.1 mrg xcb_input_get_device_modifier_mapping_keymaps (const xcb_input_get_device_modifier_mapping_reply_t *R /**< */)
4430 1.1 mrg {
4431 1.1 mrg return (uint8_t *) (R + 1);
4432 1.1 mrg }
4433 1.1 mrg
4434 1.1 mrg
4435 1.1 mrg /*****************************************************************************
4436 1.1 mrg **
4437 1.1 mrg ** int xcb_input_get_device_modifier_mapping_keymaps_length
4438 1.1 mrg **
4439 1.1 mrg ** @param const xcb_input_get_device_modifier_mapping_reply_t *R
4440 1.1 mrg ** @returns int
4441 1.1 mrg **
4442 1.1 mrg *****************************************************************************/
4443 1.1 mrg
4444 1.1 mrg int
4445 1.1 mrg xcb_input_get_device_modifier_mapping_keymaps_length (const xcb_input_get_device_modifier_mapping_reply_t *R /**< */)
4446 1.1 mrg {
4447 1.1 mrg return (R->keycodes_per_modifier * 8);
4448 1.1 mrg }
4449 1.1 mrg
4450 1.1 mrg
4451 1.1 mrg /*****************************************************************************
4452 1.1 mrg **
4453 1.1 mrg ** xcb_generic_iterator_t xcb_input_get_device_modifier_mapping_keymaps_end
4454 1.1 mrg **
4455 1.1 mrg ** @param const xcb_input_get_device_modifier_mapping_reply_t *R
4456 1.1 mrg ** @returns xcb_generic_iterator_t
4457 1.1 mrg **
4458 1.1 mrg *****************************************************************************/
4459 1.1 mrg
4460 1.1 mrg xcb_generic_iterator_t
4461 1.1 mrg xcb_input_get_device_modifier_mapping_keymaps_end (const xcb_input_get_device_modifier_mapping_reply_t *R /**< */)
4462 1.1 mrg {
4463 1.1 mrg xcb_generic_iterator_t i;
4464 1.1 mrg i.data = ((uint8_t *) (R + 1)) + ((R->keycodes_per_modifier * 8));
4465 1.1 mrg i.rem = 0;
4466 1.1 mrg i.index = (char *) i.data - (char *) R;
4467 1.1 mrg return i;
4468 1.1 mrg }
4469 1.1 mrg
4470 1.1 mrg
4471 1.1 mrg /*****************************************************************************
4472 1.1 mrg **
4473 1.1 mrg ** xcb_input_get_device_modifier_mapping_reply_t * xcb_input_get_device_modifier_mapping_reply
4474 1.1 mrg **
4475 1.1 mrg ** @param xcb_connection_t *c
4476 1.1 mrg ** @param xcb_input_get_device_modifier_mapping_cookie_t cookie
4477 1.1 mrg ** @param xcb_generic_error_t **e
4478 1.1 mrg ** @returns xcb_input_get_device_modifier_mapping_reply_t *
4479 1.1 mrg **
4480 1.1 mrg *****************************************************************************/
4481 1.1 mrg
4482 1.1 mrg xcb_input_get_device_modifier_mapping_reply_t *
4483 1.1 mrg xcb_input_get_device_modifier_mapping_reply (xcb_connection_t *c /**< */,
4484 1.1 mrg xcb_input_get_device_modifier_mapping_cookie_t cookie /**< */,
4485 1.1 mrg xcb_generic_error_t **e /**< */)
4486 1.1 mrg {
4487 1.1 mrg return (xcb_input_get_device_modifier_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4488 1.1 mrg }
4489 1.1 mrg
4490 1.1.12.1 tls int
4491 1.1.12.1 tls xcb_input_set_device_modifier_mapping_sizeof (const void *_buffer /**< */)
4492 1.1.12.1 tls {
4493 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
4494 1.1.12.1 tls const xcb_input_set_device_modifier_mapping_request_t *_aux = (xcb_input_set_device_modifier_mapping_request_t *)_buffer;
4495 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
4496 1.1.12.1 tls unsigned int xcb_block_len = 0;
4497 1.1.12.1 tls unsigned int xcb_pad = 0;
4498 1.1.12.1 tls unsigned int xcb_align_to;
4499 1.1.12.1 tls
4500 1.1.12.1 tls
4501 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_set_device_modifier_mapping_request_t);
4502 1.1.12.1 tls xcb_tmp += xcb_block_len;
4503 1.1.12.1 tls /* keymaps */
4504 1.1.12.1 tls xcb_block_len += (_aux->keycodes_per_modifier * 8) * sizeof(uint8_t);
4505 1.1.12.1 tls xcb_tmp += xcb_block_len;
4506 1.1.12.1 tls xcb_align_to = ALIGNOF(uint8_t);
4507 1.1.12.1 tls /* insert padding */
4508 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
4509 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
4510 1.1.12.1 tls if (0 != xcb_pad) {
4511 1.1.12.1 tls xcb_tmp += xcb_pad;
4512 1.1.12.1 tls xcb_pad = 0;
4513 1.1.12.1 tls }
4514 1.1.12.1 tls xcb_block_len = 0;
4515 1.1.12.1 tls
4516 1.1.12.1 tls return xcb_buffer_len;
4517 1.1.12.1 tls }
4518 1.1.12.1 tls
4519 1.1 mrg
4520 1.1 mrg /*****************************************************************************
4521 1.1 mrg **
4522 1.1 mrg ** xcb_input_set_device_modifier_mapping_cookie_t xcb_input_set_device_modifier_mapping
4523 1.1 mrg **
4524 1.1 mrg ** @param xcb_connection_t *c
4525 1.1 mrg ** @param uint8_t device_id
4526 1.1 mrg ** @param uint8_t keycodes_per_modifier
4527 1.1 mrg ** @param const uint8_t *keymaps
4528 1.1 mrg ** @returns xcb_input_set_device_modifier_mapping_cookie_t
4529 1.1 mrg **
4530 1.1 mrg *****************************************************************************/
4531 1.1 mrg
4532 1.1 mrg xcb_input_set_device_modifier_mapping_cookie_t
4533 1.1 mrg xcb_input_set_device_modifier_mapping (xcb_connection_t *c /**< */,
4534 1.1 mrg uint8_t device_id /**< */,
4535 1.1 mrg uint8_t keycodes_per_modifier /**< */,
4536 1.1 mrg const uint8_t *keymaps /**< */)
4537 1.1 mrg {
4538 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4539 1.1 mrg /* count */ 4,
4540 1.1 mrg /* ext */ &xcb_input_id,
4541 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING,
4542 1.1 mrg /* isvoid */ 0
4543 1.1 mrg };
4544 1.1 mrg
4545 1.1 mrg struct iovec xcb_parts[6];
4546 1.1 mrg xcb_input_set_device_modifier_mapping_cookie_t xcb_ret;
4547 1.1 mrg xcb_input_set_device_modifier_mapping_request_t xcb_out;
4548 1.1 mrg
4549 1.1 mrg xcb_out.device_id = device_id;
4550 1.1 mrg xcb_out.keycodes_per_modifier = keycodes_per_modifier;
4551 1.1 mrg xcb_out.pad0 = 0;
4552 1.1 mrg
4553 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4554 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4555 1.1 mrg xcb_parts[3].iov_base = 0;
4556 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4557 1.1.12.1 tls /* uint8_t keymaps */
4558 1.1 mrg xcb_parts[4].iov_base = (char *) keymaps;
4559 1.1 mrg xcb_parts[4].iov_len = (keycodes_per_modifier * 8) * sizeof(uint8_t);
4560 1.1 mrg xcb_parts[5].iov_base = 0;
4561 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
4562 1.1.12.1 tls
4563 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4564 1.1 mrg return xcb_ret;
4565 1.1 mrg }
4566 1.1 mrg
4567 1.1 mrg
4568 1.1 mrg /*****************************************************************************
4569 1.1 mrg **
4570 1.1 mrg ** xcb_input_set_device_modifier_mapping_cookie_t xcb_input_set_device_modifier_mapping_unchecked
4571 1.1 mrg **
4572 1.1 mrg ** @param xcb_connection_t *c
4573 1.1 mrg ** @param uint8_t device_id
4574 1.1 mrg ** @param uint8_t keycodes_per_modifier
4575 1.1 mrg ** @param const uint8_t *keymaps
4576 1.1 mrg ** @returns xcb_input_set_device_modifier_mapping_cookie_t
4577 1.1 mrg **
4578 1.1 mrg *****************************************************************************/
4579 1.1 mrg
4580 1.1 mrg xcb_input_set_device_modifier_mapping_cookie_t
4581 1.1 mrg xcb_input_set_device_modifier_mapping_unchecked (xcb_connection_t *c /**< */,
4582 1.1 mrg uint8_t device_id /**< */,
4583 1.1 mrg uint8_t keycodes_per_modifier /**< */,
4584 1.1 mrg const uint8_t *keymaps /**< */)
4585 1.1 mrg {
4586 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4587 1.1 mrg /* count */ 4,
4588 1.1 mrg /* ext */ &xcb_input_id,
4589 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING,
4590 1.1 mrg /* isvoid */ 0
4591 1.1 mrg };
4592 1.1 mrg
4593 1.1 mrg struct iovec xcb_parts[6];
4594 1.1 mrg xcb_input_set_device_modifier_mapping_cookie_t xcb_ret;
4595 1.1 mrg xcb_input_set_device_modifier_mapping_request_t xcb_out;
4596 1.1 mrg
4597 1.1 mrg xcb_out.device_id = device_id;
4598 1.1 mrg xcb_out.keycodes_per_modifier = keycodes_per_modifier;
4599 1.1 mrg xcb_out.pad0 = 0;
4600 1.1 mrg
4601 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4602 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4603 1.1 mrg xcb_parts[3].iov_base = 0;
4604 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4605 1.1.12.1 tls /* uint8_t keymaps */
4606 1.1 mrg xcb_parts[4].iov_base = (char *) keymaps;
4607 1.1 mrg xcb_parts[4].iov_len = (keycodes_per_modifier * 8) * sizeof(uint8_t);
4608 1.1 mrg xcb_parts[5].iov_base = 0;
4609 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
4610 1.1.12.1 tls
4611 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4612 1.1 mrg return xcb_ret;
4613 1.1 mrg }
4614 1.1 mrg
4615 1.1 mrg
4616 1.1 mrg /*****************************************************************************
4617 1.1 mrg **
4618 1.1 mrg ** xcb_input_set_device_modifier_mapping_reply_t * xcb_input_set_device_modifier_mapping_reply
4619 1.1 mrg **
4620 1.1 mrg ** @param xcb_connection_t *c
4621 1.1 mrg ** @param xcb_input_set_device_modifier_mapping_cookie_t cookie
4622 1.1 mrg ** @param xcb_generic_error_t **e
4623 1.1 mrg ** @returns xcb_input_set_device_modifier_mapping_reply_t *
4624 1.1 mrg **
4625 1.1 mrg *****************************************************************************/
4626 1.1 mrg
4627 1.1 mrg xcb_input_set_device_modifier_mapping_reply_t *
4628 1.1 mrg xcb_input_set_device_modifier_mapping_reply (xcb_connection_t *c /**< */,
4629 1.1 mrg xcb_input_set_device_modifier_mapping_cookie_t cookie /**< */,
4630 1.1 mrg xcb_generic_error_t **e /**< */)
4631 1.1 mrg {
4632 1.1 mrg return (xcb_input_set_device_modifier_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4633 1.1 mrg }
4634 1.1 mrg
4635 1.1.12.1 tls int
4636 1.1.12.1 tls xcb_input_get_device_button_mapping_sizeof (const void *_buffer /**< */)
4637 1.1.12.1 tls {
4638 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
4639 1.1.12.1 tls const xcb_input_get_device_button_mapping_reply_t *_aux = (xcb_input_get_device_button_mapping_reply_t *)_buffer;
4640 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
4641 1.1.12.1 tls unsigned int xcb_block_len = 0;
4642 1.1.12.1 tls unsigned int xcb_pad = 0;
4643 1.1.12.1 tls unsigned int xcb_align_to;
4644 1.1.12.1 tls
4645 1.1.12.1 tls
4646 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_get_device_button_mapping_reply_t);
4647 1.1.12.1 tls xcb_tmp += xcb_block_len;
4648 1.1.12.1 tls /* map */
4649 1.1.12.1 tls xcb_block_len += _aux->map_size * sizeof(uint8_t);
4650 1.1.12.1 tls xcb_tmp += xcb_block_len;
4651 1.1.12.1 tls xcb_align_to = ALIGNOF(uint8_t);
4652 1.1.12.1 tls /* insert padding */
4653 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
4654 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
4655 1.1.12.1 tls if (0 != xcb_pad) {
4656 1.1.12.1 tls xcb_tmp += xcb_pad;
4657 1.1.12.1 tls xcb_pad = 0;
4658 1.1.12.1 tls }
4659 1.1.12.1 tls xcb_block_len = 0;
4660 1.1.12.1 tls
4661 1.1.12.1 tls return xcb_buffer_len;
4662 1.1.12.1 tls }
4663 1.1.12.1 tls
4664 1.1 mrg
4665 1.1 mrg /*****************************************************************************
4666 1.1 mrg **
4667 1.1 mrg ** xcb_input_get_device_button_mapping_cookie_t xcb_input_get_device_button_mapping
4668 1.1 mrg **
4669 1.1 mrg ** @param xcb_connection_t *c
4670 1.1 mrg ** @param uint8_t device_id
4671 1.1 mrg ** @returns xcb_input_get_device_button_mapping_cookie_t
4672 1.1 mrg **
4673 1.1 mrg *****************************************************************************/
4674 1.1 mrg
4675 1.1 mrg xcb_input_get_device_button_mapping_cookie_t
4676 1.1 mrg xcb_input_get_device_button_mapping (xcb_connection_t *c /**< */,
4677 1.1 mrg uint8_t device_id /**< */)
4678 1.1 mrg {
4679 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4680 1.1 mrg /* count */ 2,
4681 1.1 mrg /* ext */ &xcb_input_id,
4682 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_BUTTON_MAPPING,
4683 1.1 mrg /* isvoid */ 0
4684 1.1 mrg };
4685 1.1 mrg
4686 1.1 mrg struct iovec xcb_parts[4];
4687 1.1 mrg xcb_input_get_device_button_mapping_cookie_t xcb_ret;
4688 1.1 mrg xcb_input_get_device_button_mapping_request_t xcb_out;
4689 1.1 mrg
4690 1.1 mrg xcb_out.device_id = device_id;
4691 1.1 mrg memset(xcb_out.pad0, 0, 3);
4692 1.1 mrg
4693 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4694 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4695 1.1 mrg xcb_parts[3].iov_base = 0;
4696 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4697 1.1.12.1 tls
4698 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4699 1.1 mrg return xcb_ret;
4700 1.1 mrg }
4701 1.1 mrg
4702 1.1 mrg
4703 1.1 mrg /*****************************************************************************
4704 1.1 mrg **
4705 1.1 mrg ** xcb_input_get_device_button_mapping_cookie_t xcb_input_get_device_button_mapping_unchecked
4706 1.1 mrg **
4707 1.1 mrg ** @param xcb_connection_t *c
4708 1.1 mrg ** @param uint8_t device_id
4709 1.1 mrg ** @returns xcb_input_get_device_button_mapping_cookie_t
4710 1.1 mrg **
4711 1.1 mrg *****************************************************************************/
4712 1.1 mrg
4713 1.1 mrg xcb_input_get_device_button_mapping_cookie_t
4714 1.1 mrg xcb_input_get_device_button_mapping_unchecked (xcb_connection_t *c /**< */,
4715 1.1 mrg uint8_t device_id /**< */)
4716 1.1 mrg {
4717 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4718 1.1 mrg /* count */ 2,
4719 1.1 mrg /* ext */ &xcb_input_id,
4720 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_BUTTON_MAPPING,
4721 1.1 mrg /* isvoid */ 0
4722 1.1 mrg };
4723 1.1 mrg
4724 1.1 mrg struct iovec xcb_parts[4];
4725 1.1 mrg xcb_input_get_device_button_mapping_cookie_t xcb_ret;
4726 1.1 mrg xcb_input_get_device_button_mapping_request_t xcb_out;
4727 1.1 mrg
4728 1.1 mrg xcb_out.device_id = device_id;
4729 1.1 mrg memset(xcb_out.pad0, 0, 3);
4730 1.1 mrg
4731 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4732 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4733 1.1 mrg xcb_parts[3].iov_base = 0;
4734 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4735 1.1.12.1 tls
4736 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4737 1.1 mrg return xcb_ret;
4738 1.1 mrg }
4739 1.1 mrg
4740 1.1 mrg
4741 1.1 mrg /*****************************************************************************
4742 1.1 mrg **
4743 1.1 mrg ** uint8_t * xcb_input_get_device_button_mapping_map
4744 1.1 mrg **
4745 1.1 mrg ** @param const xcb_input_get_device_button_mapping_reply_t *R
4746 1.1 mrg ** @returns uint8_t *
4747 1.1 mrg **
4748 1.1 mrg *****************************************************************************/
4749 1.1 mrg
4750 1.1 mrg uint8_t *
4751 1.1 mrg xcb_input_get_device_button_mapping_map (const xcb_input_get_device_button_mapping_reply_t *R /**< */)
4752 1.1 mrg {
4753 1.1 mrg return (uint8_t *) (R + 1);
4754 1.1 mrg }
4755 1.1 mrg
4756 1.1 mrg
4757 1.1 mrg /*****************************************************************************
4758 1.1 mrg **
4759 1.1 mrg ** int xcb_input_get_device_button_mapping_map_length
4760 1.1 mrg **
4761 1.1 mrg ** @param const xcb_input_get_device_button_mapping_reply_t *R
4762 1.1 mrg ** @returns int
4763 1.1 mrg **
4764 1.1 mrg *****************************************************************************/
4765 1.1 mrg
4766 1.1 mrg int
4767 1.1 mrg xcb_input_get_device_button_mapping_map_length (const xcb_input_get_device_button_mapping_reply_t *R /**< */)
4768 1.1 mrg {
4769 1.1 mrg return R->map_size;
4770 1.1 mrg }
4771 1.1 mrg
4772 1.1 mrg
4773 1.1 mrg /*****************************************************************************
4774 1.1 mrg **
4775 1.1 mrg ** xcb_generic_iterator_t xcb_input_get_device_button_mapping_map_end
4776 1.1 mrg **
4777 1.1 mrg ** @param const xcb_input_get_device_button_mapping_reply_t *R
4778 1.1 mrg ** @returns xcb_generic_iterator_t
4779 1.1 mrg **
4780 1.1 mrg *****************************************************************************/
4781 1.1 mrg
4782 1.1 mrg xcb_generic_iterator_t
4783 1.1 mrg xcb_input_get_device_button_mapping_map_end (const xcb_input_get_device_button_mapping_reply_t *R /**< */)
4784 1.1 mrg {
4785 1.1 mrg xcb_generic_iterator_t i;
4786 1.1 mrg i.data = ((uint8_t *) (R + 1)) + (R->map_size);
4787 1.1 mrg i.rem = 0;
4788 1.1 mrg i.index = (char *) i.data - (char *) R;
4789 1.1 mrg return i;
4790 1.1 mrg }
4791 1.1 mrg
4792 1.1 mrg
4793 1.1 mrg /*****************************************************************************
4794 1.1 mrg **
4795 1.1 mrg ** xcb_input_get_device_button_mapping_reply_t * xcb_input_get_device_button_mapping_reply
4796 1.1 mrg **
4797 1.1 mrg ** @param xcb_connection_t *c
4798 1.1 mrg ** @param xcb_input_get_device_button_mapping_cookie_t cookie
4799 1.1 mrg ** @param xcb_generic_error_t **e
4800 1.1 mrg ** @returns xcb_input_get_device_button_mapping_reply_t *
4801 1.1 mrg **
4802 1.1 mrg *****************************************************************************/
4803 1.1 mrg
4804 1.1 mrg xcb_input_get_device_button_mapping_reply_t *
4805 1.1 mrg xcb_input_get_device_button_mapping_reply (xcb_connection_t *c /**< */,
4806 1.1 mrg xcb_input_get_device_button_mapping_cookie_t cookie /**< */,
4807 1.1 mrg xcb_generic_error_t **e /**< */)
4808 1.1 mrg {
4809 1.1 mrg return (xcb_input_get_device_button_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4810 1.1 mrg }
4811 1.1 mrg
4812 1.1.12.1 tls int
4813 1.1.12.1 tls xcb_input_set_device_button_mapping_sizeof (const void *_buffer /**< */)
4814 1.1.12.1 tls {
4815 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
4816 1.1.12.1 tls const xcb_input_set_device_button_mapping_request_t *_aux = (xcb_input_set_device_button_mapping_request_t *)_buffer;
4817 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
4818 1.1.12.1 tls unsigned int xcb_block_len = 0;
4819 1.1.12.1 tls unsigned int xcb_pad = 0;
4820 1.1.12.1 tls unsigned int xcb_align_to;
4821 1.1.12.1 tls
4822 1.1.12.1 tls
4823 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_set_device_button_mapping_request_t);
4824 1.1.12.1 tls xcb_tmp += xcb_block_len;
4825 1.1.12.1 tls /* map */
4826 1.1.12.1 tls xcb_block_len += _aux->map_size * sizeof(uint8_t);
4827 1.1.12.1 tls xcb_tmp += xcb_block_len;
4828 1.1.12.1 tls xcb_align_to = ALIGNOF(uint8_t);
4829 1.1.12.1 tls /* insert padding */
4830 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
4831 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
4832 1.1.12.1 tls if (0 != xcb_pad) {
4833 1.1.12.1 tls xcb_tmp += xcb_pad;
4834 1.1.12.1 tls xcb_pad = 0;
4835 1.1.12.1 tls }
4836 1.1.12.1 tls xcb_block_len = 0;
4837 1.1.12.1 tls
4838 1.1.12.1 tls return xcb_buffer_len;
4839 1.1.12.1 tls }
4840 1.1.12.1 tls
4841 1.1 mrg
4842 1.1 mrg /*****************************************************************************
4843 1.1 mrg **
4844 1.1 mrg ** xcb_input_set_device_button_mapping_cookie_t xcb_input_set_device_button_mapping
4845 1.1 mrg **
4846 1.1 mrg ** @param xcb_connection_t *c
4847 1.1 mrg ** @param uint8_t device_id
4848 1.1 mrg ** @param uint8_t map_size
4849 1.1 mrg ** @param const uint8_t *map
4850 1.1 mrg ** @returns xcb_input_set_device_button_mapping_cookie_t
4851 1.1 mrg **
4852 1.1 mrg *****************************************************************************/
4853 1.1 mrg
4854 1.1 mrg xcb_input_set_device_button_mapping_cookie_t
4855 1.1 mrg xcb_input_set_device_button_mapping (xcb_connection_t *c /**< */,
4856 1.1 mrg uint8_t device_id /**< */,
4857 1.1 mrg uint8_t map_size /**< */,
4858 1.1 mrg const uint8_t *map /**< */)
4859 1.1 mrg {
4860 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4861 1.1 mrg /* count */ 4,
4862 1.1 mrg /* ext */ &xcb_input_id,
4863 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_BUTTON_MAPPING,
4864 1.1 mrg /* isvoid */ 0
4865 1.1 mrg };
4866 1.1 mrg
4867 1.1 mrg struct iovec xcb_parts[6];
4868 1.1 mrg xcb_input_set_device_button_mapping_cookie_t xcb_ret;
4869 1.1 mrg xcb_input_set_device_button_mapping_request_t xcb_out;
4870 1.1 mrg
4871 1.1 mrg xcb_out.device_id = device_id;
4872 1.1 mrg xcb_out.map_size = map_size;
4873 1.1 mrg memset(xcb_out.pad0, 0, 2);
4874 1.1 mrg
4875 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4876 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4877 1.1 mrg xcb_parts[3].iov_base = 0;
4878 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4879 1.1.12.1 tls /* uint8_t map */
4880 1.1 mrg xcb_parts[4].iov_base = (char *) map;
4881 1.1 mrg xcb_parts[4].iov_len = map_size * sizeof(uint8_t);
4882 1.1 mrg xcb_parts[5].iov_base = 0;
4883 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
4884 1.1.12.1 tls
4885 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4886 1.1 mrg return xcb_ret;
4887 1.1 mrg }
4888 1.1 mrg
4889 1.1 mrg
4890 1.1 mrg /*****************************************************************************
4891 1.1 mrg **
4892 1.1 mrg ** xcb_input_set_device_button_mapping_cookie_t xcb_input_set_device_button_mapping_unchecked
4893 1.1 mrg **
4894 1.1 mrg ** @param xcb_connection_t *c
4895 1.1 mrg ** @param uint8_t device_id
4896 1.1 mrg ** @param uint8_t map_size
4897 1.1 mrg ** @param const uint8_t *map
4898 1.1 mrg ** @returns xcb_input_set_device_button_mapping_cookie_t
4899 1.1 mrg **
4900 1.1 mrg *****************************************************************************/
4901 1.1 mrg
4902 1.1 mrg xcb_input_set_device_button_mapping_cookie_t
4903 1.1 mrg xcb_input_set_device_button_mapping_unchecked (xcb_connection_t *c /**< */,
4904 1.1 mrg uint8_t device_id /**< */,
4905 1.1 mrg uint8_t map_size /**< */,
4906 1.1 mrg const uint8_t *map /**< */)
4907 1.1 mrg {
4908 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4909 1.1 mrg /* count */ 4,
4910 1.1 mrg /* ext */ &xcb_input_id,
4911 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_BUTTON_MAPPING,
4912 1.1 mrg /* isvoid */ 0
4913 1.1 mrg };
4914 1.1 mrg
4915 1.1 mrg struct iovec xcb_parts[6];
4916 1.1 mrg xcb_input_set_device_button_mapping_cookie_t xcb_ret;
4917 1.1 mrg xcb_input_set_device_button_mapping_request_t xcb_out;
4918 1.1 mrg
4919 1.1 mrg xcb_out.device_id = device_id;
4920 1.1 mrg xcb_out.map_size = map_size;
4921 1.1 mrg memset(xcb_out.pad0, 0, 2);
4922 1.1 mrg
4923 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4924 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4925 1.1 mrg xcb_parts[3].iov_base = 0;
4926 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4927 1.1.12.1 tls /* uint8_t map */
4928 1.1 mrg xcb_parts[4].iov_base = (char *) map;
4929 1.1 mrg xcb_parts[4].iov_len = map_size * sizeof(uint8_t);
4930 1.1 mrg xcb_parts[5].iov_base = 0;
4931 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
4932 1.1.12.1 tls
4933 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4934 1.1 mrg return xcb_ret;
4935 1.1 mrg }
4936 1.1 mrg
4937 1.1 mrg
4938 1.1 mrg /*****************************************************************************
4939 1.1 mrg **
4940 1.1 mrg ** xcb_input_set_device_button_mapping_reply_t * xcb_input_set_device_button_mapping_reply
4941 1.1 mrg **
4942 1.1 mrg ** @param xcb_connection_t *c
4943 1.1 mrg ** @param xcb_input_set_device_button_mapping_cookie_t cookie
4944 1.1 mrg ** @param xcb_generic_error_t **e
4945 1.1 mrg ** @returns xcb_input_set_device_button_mapping_reply_t *
4946 1.1 mrg **
4947 1.1 mrg *****************************************************************************/
4948 1.1 mrg
4949 1.1 mrg xcb_input_set_device_button_mapping_reply_t *
4950 1.1 mrg xcb_input_set_device_button_mapping_reply (xcb_connection_t *c /**< */,
4951 1.1 mrg xcb_input_set_device_button_mapping_cookie_t cookie /**< */,
4952 1.1 mrg xcb_generic_error_t **e /**< */)
4953 1.1 mrg {
4954 1.1 mrg return (xcb_input_set_device_button_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4955 1.1 mrg }
4956 1.1 mrg
4957 1.1 mrg
4958 1.1 mrg /*****************************************************************************
4959 1.1 mrg **
4960 1.1 mrg ** xcb_input_query_device_state_cookie_t xcb_input_query_device_state
4961 1.1 mrg **
4962 1.1 mrg ** @param xcb_connection_t *c
4963 1.1 mrg ** @param uint8_t device_id
4964 1.1 mrg ** @returns xcb_input_query_device_state_cookie_t
4965 1.1 mrg **
4966 1.1 mrg *****************************************************************************/
4967 1.1 mrg
4968 1.1 mrg xcb_input_query_device_state_cookie_t
4969 1.1 mrg xcb_input_query_device_state (xcb_connection_t *c /**< */,
4970 1.1 mrg uint8_t device_id /**< */)
4971 1.1 mrg {
4972 1.1 mrg static const xcb_protocol_request_t xcb_req = {
4973 1.1 mrg /* count */ 2,
4974 1.1 mrg /* ext */ &xcb_input_id,
4975 1.1 mrg /* opcode */ XCB_INPUT_QUERY_DEVICE_STATE,
4976 1.1 mrg /* isvoid */ 0
4977 1.1 mrg };
4978 1.1 mrg
4979 1.1 mrg struct iovec xcb_parts[4];
4980 1.1 mrg xcb_input_query_device_state_cookie_t xcb_ret;
4981 1.1 mrg xcb_input_query_device_state_request_t xcb_out;
4982 1.1 mrg
4983 1.1 mrg xcb_out.device_id = device_id;
4984 1.1 mrg memset(xcb_out.pad0, 0, 3);
4985 1.1 mrg
4986 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
4987 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
4988 1.1 mrg xcb_parts[3].iov_base = 0;
4989 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4990 1.1.12.1 tls
4991 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4992 1.1 mrg return xcb_ret;
4993 1.1 mrg }
4994 1.1 mrg
4995 1.1 mrg
4996 1.1 mrg /*****************************************************************************
4997 1.1 mrg **
4998 1.1 mrg ** xcb_input_query_device_state_cookie_t xcb_input_query_device_state_unchecked
4999 1.1 mrg **
5000 1.1 mrg ** @param xcb_connection_t *c
5001 1.1 mrg ** @param uint8_t device_id
5002 1.1 mrg ** @returns xcb_input_query_device_state_cookie_t
5003 1.1 mrg **
5004 1.1 mrg *****************************************************************************/
5005 1.1 mrg
5006 1.1 mrg xcb_input_query_device_state_cookie_t
5007 1.1 mrg xcb_input_query_device_state_unchecked (xcb_connection_t *c /**< */,
5008 1.1 mrg uint8_t device_id /**< */)
5009 1.1 mrg {
5010 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5011 1.1 mrg /* count */ 2,
5012 1.1 mrg /* ext */ &xcb_input_id,
5013 1.1 mrg /* opcode */ XCB_INPUT_QUERY_DEVICE_STATE,
5014 1.1 mrg /* isvoid */ 0
5015 1.1 mrg };
5016 1.1 mrg
5017 1.1 mrg struct iovec xcb_parts[4];
5018 1.1 mrg xcb_input_query_device_state_cookie_t xcb_ret;
5019 1.1 mrg xcb_input_query_device_state_request_t xcb_out;
5020 1.1 mrg
5021 1.1 mrg xcb_out.device_id = device_id;
5022 1.1 mrg memset(xcb_out.pad0, 0, 3);
5023 1.1 mrg
5024 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5025 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5026 1.1 mrg xcb_parts[3].iov_base = 0;
5027 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5028 1.1.12.1 tls
5029 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5030 1.1 mrg return xcb_ret;
5031 1.1 mrg }
5032 1.1 mrg
5033 1.1 mrg
5034 1.1 mrg /*****************************************************************************
5035 1.1 mrg **
5036 1.1 mrg ** xcb_input_query_device_state_reply_t * xcb_input_query_device_state_reply
5037 1.1 mrg **
5038 1.1 mrg ** @param xcb_connection_t *c
5039 1.1 mrg ** @param xcb_input_query_device_state_cookie_t cookie
5040 1.1 mrg ** @param xcb_generic_error_t **e
5041 1.1 mrg ** @returns xcb_input_query_device_state_reply_t *
5042 1.1 mrg **
5043 1.1 mrg *****************************************************************************/
5044 1.1 mrg
5045 1.1 mrg xcb_input_query_device_state_reply_t *
5046 1.1 mrg xcb_input_query_device_state_reply (xcb_connection_t *c /**< */,
5047 1.1 mrg xcb_input_query_device_state_cookie_t cookie /**< */,
5048 1.1 mrg xcb_generic_error_t **e /**< */)
5049 1.1 mrg {
5050 1.1 mrg return (xcb_input_query_device_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5051 1.1 mrg }
5052 1.1 mrg
5053 1.1 mrg
5054 1.1 mrg /*****************************************************************************
5055 1.1 mrg **
5056 1.1 mrg ** void xcb_input_input_state_next
5057 1.1 mrg **
5058 1.1 mrg ** @param xcb_input_input_state_iterator_t *i
5059 1.1 mrg ** @returns void
5060 1.1 mrg **
5061 1.1 mrg *****************************************************************************/
5062 1.1 mrg
5063 1.1 mrg void
5064 1.1 mrg xcb_input_input_state_next (xcb_input_input_state_iterator_t *i /**< */)
5065 1.1 mrg {
5066 1.1 mrg --i->rem;
5067 1.1 mrg ++i->data;
5068 1.1 mrg i->index += sizeof(xcb_input_input_state_t);
5069 1.1 mrg }
5070 1.1 mrg
5071 1.1 mrg
5072 1.1 mrg /*****************************************************************************
5073 1.1 mrg **
5074 1.1 mrg ** xcb_generic_iterator_t xcb_input_input_state_end
5075 1.1 mrg **
5076 1.1 mrg ** @param xcb_input_input_state_iterator_t i
5077 1.1 mrg ** @returns xcb_generic_iterator_t
5078 1.1 mrg **
5079 1.1 mrg *****************************************************************************/
5080 1.1 mrg
5081 1.1 mrg xcb_generic_iterator_t
5082 1.1 mrg xcb_input_input_state_end (xcb_input_input_state_iterator_t i /**< */)
5083 1.1 mrg {
5084 1.1 mrg xcb_generic_iterator_t ret;
5085 1.1 mrg ret.data = i.data + i.rem;
5086 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
5087 1.1 mrg ret.rem = 0;
5088 1.1 mrg return ret;
5089 1.1 mrg }
5090 1.1 mrg
5091 1.1 mrg
5092 1.1 mrg /*****************************************************************************
5093 1.1 mrg **
5094 1.1 mrg ** void xcb_input_key_state_next
5095 1.1 mrg **
5096 1.1 mrg ** @param xcb_input_key_state_iterator_t *i
5097 1.1 mrg ** @returns void
5098 1.1 mrg **
5099 1.1 mrg *****************************************************************************/
5100 1.1 mrg
5101 1.1 mrg void
5102 1.1 mrg xcb_input_key_state_next (xcb_input_key_state_iterator_t *i /**< */)
5103 1.1 mrg {
5104 1.1 mrg --i->rem;
5105 1.1 mrg ++i->data;
5106 1.1 mrg i->index += sizeof(xcb_input_key_state_t);
5107 1.1 mrg }
5108 1.1 mrg
5109 1.1 mrg
5110 1.1 mrg /*****************************************************************************
5111 1.1 mrg **
5112 1.1 mrg ** xcb_generic_iterator_t xcb_input_key_state_end
5113 1.1 mrg **
5114 1.1 mrg ** @param xcb_input_key_state_iterator_t i
5115 1.1 mrg ** @returns xcb_generic_iterator_t
5116 1.1 mrg **
5117 1.1 mrg *****************************************************************************/
5118 1.1 mrg
5119 1.1 mrg xcb_generic_iterator_t
5120 1.1 mrg xcb_input_key_state_end (xcb_input_key_state_iterator_t i /**< */)
5121 1.1 mrg {
5122 1.1 mrg xcb_generic_iterator_t ret;
5123 1.1 mrg ret.data = i.data + i.rem;
5124 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
5125 1.1 mrg ret.rem = 0;
5126 1.1 mrg return ret;
5127 1.1 mrg }
5128 1.1 mrg
5129 1.1 mrg
5130 1.1 mrg /*****************************************************************************
5131 1.1 mrg **
5132 1.1 mrg ** void xcb_input_button_state_next
5133 1.1 mrg **
5134 1.1 mrg ** @param xcb_input_button_state_iterator_t *i
5135 1.1 mrg ** @returns void
5136 1.1 mrg **
5137 1.1 mrg *****************************************************************************/
5138 1.1 mrg
5139 1.1 mrg void
5140 1.1 mrg xcb_input_button_state_next (xcb_input_button_state_iterator_t *i /**< */)
5141 1.1 mrg {
5142 1.1 mrg --i->rem;
5143 1.1 mrg ++i->data;
5144 1.1 mrg i->index += sizeof(xcb_input_button_state_t);
5145 1.1 mrg }
5146 1.1 mrg
5147 1.1 mrg
5148 1.1 mrg /*****************************************************************************
5149 1.1 mrg **
5150 1.1 mrg ** xcb_generic_iterator_t xcb_input_button_state_end
5151 1.1 mrg **
5152 1.1 mrg ** @param xcb_input_button_state_iterator_t i
5153 1.1 mrg ** @returns xcb_generic_iterator_t
5154 1.1 mrg **
5155 1.1 mrg *****************************************************************************/
5156 1.1 mrg
5157 1.1 mrg xcb_generic_iterator_t
5158 1.1 mrg xcb_input_button_state_end (xcb_input_button_state_iterator_t i /**< */)
5159 1.1 mrg {
5160 1.1 mrg xcb_generic_iterator_t ret;
5161 1.1 mrg ret.data = i.data + i.rem;
5162 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
5163 1.1 mrg ret.rem = 0;
5164 1.1 mrg return ret;
5165 1.1 mrg }
5166 1.1 mrg
5167 1.1.12.1 tls int
5168 1.1.12.1 tls xcb_input_valuator_state_sizeof (const void *_buffer /**< */)
5169 1.1.12.1 tls {
5170 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
5171 1.1.12.1 tls const xcb_input_valuator_state_t *_aux = (xcb_input_valuator_state_t *)_buffer;
5172 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
5173 1.1.12.1 tls unsigned int xcb_block_len = 0;
5174 1.1.12.1 tls unsigned int xcb_pad = 0;
5175 1.1.12.1 tls unsigned int xcb_align_to;
5176 1.1.12.1 tls
5177 1.1.12.1 tls
5178 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_valuator_state_t);
5179 1.1.12.1 tls xcb_tmp += xcb_block_len;
5180 1.1.12.1 tls /* valuators */
5181 1.1.12.1 tls xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
5182 1.1.12.1 tls xcb_tmp += xcb_block_len;
5183 1.1.12.1 tls xcb_align_to = ALIGNOF(uint32_t);
5184 1.1.12.1 tls /* insert padding */
5185 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5186 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5187 1.1.12.1 tls if (0 != xcb_pad) {
5188 1.1.12.1 tls xcb_tmp += xcb_pad;
5189 1.1.12.1 tls xcb_pad = 0;
5190 1.1.12.1 tls }
5191 1.1.12.1 tls xcb_block_len = 0;
5192 1.1.12.1 tls
5193 1.1.12.1 tls return xcb_buffer_len;
5194 1.1.12.1 tls }
5195 1.1.12.1 tls
5196 1.1 mrg
5197 1.1 mrg /*****************************************************************************
5198 1.1 mrg **
5199 1.1 mrg ** uint32_t * xcb_input_valuator_state_valuators
5200 1.1 mrg **
5201 1.1 mrg ** @param const xcb_input_valuator_state_t *R
5202 1.1 mrg ** @returns uint32_t *
5203 1.1 mrg **
5204 1.1 mrg *****************************************************************************/
5205 1.1 mrg
5206 1.1 mrg uint32_t *
5207 1.1 mrg xcb_input_valuator_state_valuators (const xcb_input_valuator_state_t *R /**< */)
5208 1.1 mrg {
5209 1.1 mrg return (uint32_t *) (R + 1);
5210 1.1 mrg }
5211 1.1 mrg
5212 1.1 mrg
5213 1.1 mrg /*****************************************************************************
5214 1.1 mrg **
5215 1.1 mrg ** int xcb_input_valuator_state_valuators_length
5216 1.1 mrg **
5217 1.1 mrg ** @param const xcb_input_valuator_state_t *R
5218 1.1 mrg ** @returns int
5219 1.1 mrg **
5220 1.1 mrg *****************************************************************************/
5221 1.1 mrg
5222 1.1 mrg int
5223 1.1 mrg xcb_input_valuator_state_valuators_length (const xcb_input_valuator_state_t *R /**< */)
5224 1.1 mrg {
5225 1.1 mrg return R->num_valuators;
5226 1.1 mrg }
5227 1.1 mrg
5228 1.1 mrg
5229 1.1 mrg /*****************************************************************************
5230 1.1 mrg **
5231 1.1 mrg ** xcb_generic_iterator_t xcb_input_valuator_state_valuators_end
5232 1.1 mrg **
5233 1.1 mrg ** @param const xcb_input_valuator_state_t *R
5234 1.1 mrg ** @returns xcb_generic_iterator_t
5235 1.1 mrg **
5236 1.1 mrg *****************************************************************************/
5237 1.1 mrg
5238 1.1 mrg xcb_generic_iterator_t
5239 1.1 mrg xcb_input_valuator_state_valuators_end (const xcb_input_valuator_state_t *R /**< */)
5240 1.1 mrg {
5241 1.1 mrg xcb_generic_iterator_t i;
5242 1.1 mrg i.data = ((uint32_t *) (R + 1)) + (R->num_valuators);
5243 1.1 mrg i.rem = 0;
5244 1.1 mrg i.index = (char *) i.data - (char *) R;
5245 1.1 mrg return i;
5246 1.1 mrg }
5247 1.1 mrg
5248 1.1 mrg
5249 1.1 mrg /*****************************************************************************
5250 1.1 mrg **
5251 1.1 mrg ** void xcb_input_valuator_state_next
5252 1.1 mrg **
5253 1.1 mrg ** @param xcb_input_valuator_state_iterator_t *i
5254 1.1 mrg ** @returns void
5255 1.1 mrg **
5256 1.1 mrg *****************************************************************************/
5257 1.1 mrg
5258 1.1 mrg void
5259 1.1 mrg xcb_input_valuator_state_next (xcb_input_valuator_state_iterator_t *i /**< */)
5260 1.1 mrg {
5261 1.1 mrg xcb_input_valuator_state_t *R = i->data;
5262 1.1.12.1 tls xcb_generic_iterator_t child;
5263 1.1.12.1 tls child.data = (xcb_input_valuator_state_t *)(((char *)R) + xcb_input_valuator_state_sizeof(R));
5264 1.1.12.1 tls i->index = (char *) child.data - (char *) i->data;
5265 1.1 mrg --i->rem;
5266 1.1 mrg i->data = (xcb_input_valuator_state_t *) child.data;
5267 1.1 mrg }
5268 1.1 mrg
5269 1.1 mrg
5270 1.1 mrg /*****************************************************************************
5271 1.1 mrg **
5272 1.1 mrg ** xcb_generic_iterator_t xcb_input_valuator_state_end
5273 1.1 mrg **
5274 1.1 mrg ** @param xcb_input_valuator_state_iterator_t i
5275 1.1 mrg ** @returns xcb_generic_iterator_t
5276 1.1 mrg **
5277 1.1 mrg *****************************************************************************/
5278 1.1 mrg
5279 1.1 mrg xcb_generic_iterator_t
5280 1.1 mrg xcb_input_valuator_state_end (xcb_input_valuator_state_iterator_t i /**< */)
5281 1.1 mrg {
5282 1.1 mrg xcb_generic_iterator_t ret;
5283 1.1 mrg while(i.rem > 0)
5284 1.1 mrg xcb_input_valuator_state_next(&i);
5285 1.1 mrg ret.data = i.data;
5286 1.1 mrg ret.rem = i.rem;
5287 1.1 mrg ret.index = i.index;
5288 1.1 mrg return ret;
5289 1.1 mrg }
5290 1.1 mrg
5291 1.1.12.1 tls int
5292 1.1.12.1 tls xcb_input_send_extension_event_sizeof (const void *_buffer /**< */)
5293 1.1.12.1 tls {
5294 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
5295 1.1.12.1 tls const xcb_input_send_extension_event_request_t *_aux = (xcb_input_send_extension_event_request_t *)_buffer;
5296 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
5297 1.1.12.1 tls unsigned int xcb_block_len = 0;
5298 1.1.12.1 tls unsigned int xcb_pad = 0;
5299 1.1.12.1 tls unsigned int xcb_align_to;
5300 1.1.12.1 tls
5301 1.1.12.1 tls
5302 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_send_extension_event_request_t);
5303 1.1.12.1 tls xcb_tmp += xcb_block_len;
5304 1.1.12.1 tls /* events */
5305 1.1.12.1 tls xcb_block_len += (_aux->num_events * 32) * sizeof(char);
5306 1.1.12.1 tls xcb_tmp += xcb_block_len;
5307 1.1.12.1 tls xcb_align_to = ALIGNOF(char);
5308 1.1.12.1 tls /* insert padding */
5309 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5310 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5311 1.1.12.1 tls if (0 != xcb_pad) {
5312 1.1.12.1 tls xcb_tmp += xcb_pad;
5313 1.1.12.1 tls xcb_pad = 0;
5314 1.1.12.1 tls }
5315 1.1.12.1 tls xcb_block_len = 0;
5316 1.1.12.1 tls /* classes */
5317 1.1.12.1 tls xcb_block_len += _aux->num_classes * sizeof(xcb_input_event_class_t);
5318 1.1.12.1 tls xcb_tmp += xcb_block_len;
5319 1.1.12.1 tls xcb_align_to = ALIGNOF(xcb_input_event_class_t);
5320 1.1.12.1 tls /* insert padding */
5321 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5322 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5323 1.1.12.1 tls if (0 != xcb_pad) {
5324 1.1.12.1 tls xcb_tmp += xcb_pad;
5325 1.1.12.1 tls xcb_pad = 0;
5326 1.1.12.1 tls }
5327 1.1.12.1 tls xcb_block_len = 0;
5328 1.1.12.1 tls
5329 1.1.12.1 tls return xcb_buffer_len;
5330 1.1.12.1 tls }
5331 1.1.12.1 tls
5332 1.1 mrg
5333 1.1 mrg /*****************************************************************************
5334 1.1 mrg **
5335 1.1 mrg ** xcb_void_cookie_t xcb_input_send_extension_event_checked
5336 1.1 mrg **
5337 1.1 mrg ** @param xcb_connection_t *c
5338 1.1 mrg ** @param xcb_window_t destination
5339 1.1 mrg ** @param uint8_t device_id
5340 1.1 mrg ** @param uint8_t propagate
5341 1.1 mrg ** @param uint16_t num_classes
5342 1.1 mrg ** @param uint8_t num_events
5343 1.1 mrg ** @param const char *events
5344 1.1 mrg ** @param const xcb_input_event_class_t *classes
5345 1.1 mrg ** @returns xcb_void_cookie_t
5346 1.1 mrg **
5347 1.1 mrg *****************************************************************************/
5348 1.1 mrg
5349 1.1 mrg xcb_void_cookie_t
5350 1.1 mrg xcb_input_send_extension_event_checked (xcb_connection_t *c /**< */,
5351 1.1 mrg xcb_window_t destination /**< */,
5352 1.1 mrg uint8_t device_id /**< */,
5353 1.1 mrg uint8_t propagate /**< */,
5354 1.1 mrg uint16_t num_classes /**< */,
5355 1.1 mrg uint8_t num_events /**< */,
5356 1.1 mrg const char *events /**< */,
5357 1.1 mrg const xcb_input_event_class_t *classes /**< */)
5358 1.1 mrg {
5359 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5360 1.1 mrg /* count */ 6,
5361 1.1 mrg /* ext */ &xcb_input_id,
5362 1.1 mrg /* opcode */ XCB_INPUT_SEND_EXTENSION_EVENT,
5363 1.1 mrg /* isvoid */ 1
5364 1.1 mrg };
5365 1.1 mrg
5366 1.1 mrg struct iovec xcb_parts[8];
5367 1.1 mrg xcb_void_cookie_t xcb_ret;
5368 1.1 mrg xcb_input_send_extension_event_request_t xcb_out;
5369 1.1 mrg
5370 1.1 mrg xcb_out.destination = destination;
5371 1.1 mrg xcb_out.device_id = device_id;
5372 1.1 mrg xcb_out.propagate = propagate;
5373 1.1 mrg xcb_out.num_classes = num_classes;
5374 1.1 mrg xcb_out.num_events = num_events;
5375 1.1 mrg memset(xcb_out.pad0, 0, 3);
5376 1.1 mrg
5377 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5378 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5379 1.1 mrg xcb_parts[3].iov_base = 0;
5380 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5381 1.1.12.1 tls /* char events */
5382 1.1 mrg xcb_parts[4].iov_base = (char *) events;
5383 1.1 mrg xcb_parts[4].iov_len = (num_events * 32) * sizeof(char);
5384 1.1 mrg xcb_parts[5].iov_base = 0;
5385 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
5386 1.1.12.1 tls /* xcb_input_event_class_t classes */
5387 1.1 mrg xcb_parts[6].iov_base = (char *) classes;
5388 1.1 mrg xcb_parts[6].iov_len = num_classes * sizeof(xcb_input_event_class_t);
5389 1.1 mrg xcb_parts[7].iov_base = 0;
5390 1.1 mrg xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
5391 1.1.12.1 tls
5392 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5393 1.1 mrg return xcb_ret;
5394 1.1 mrg }
5395 1.1 mrg
5396 1.1 mrg
5397 1.1 mrg /*****************************************************************************
5398 1.1 mrg **
5399 1.1 mrg ** xcb_void_cookie_t xcb_input_send_extension_event
5400 1.1 mrg **
5401 1.1 mrg ** @param xcb_connection_t *c
5402 1.1 mrg ** @param xcb_window_t destination
5403 1.1 mrg ** @param uint8_t device_id
5404 1.1 mrg ** @param uint8_t propagate
5405 1.1 mrg ** @param uint16_t num_classes
5406 1.1 mrg ** @param uint8_t num_events
5407 1.1 mrg ** @param const char *events
5408 1.1 mrg ** @param const xcb_input_event_class_t *classes
5409 1.1 mrg ** @returns xcb_void_cookie_t
5410 1.1 mrg **
5411 1.1 mrg *****************************************************************************/
5412 1.1 mrg
5413 1.1 mrg xcb_void_cookie_t
5414 1.1 mrg xcb_input_send_extension_event (xcb_connection_t *c /**< */,
5415 1.1 mrg xcb_window_t destination /**< */,
5416 1.1 mrg uint8_t device_id /**< */,
5417 1.1 mrg uint8_t propagate /**< */,
5418 1.1 mrg uint16_t num_classes /**< */,
5419 1.1 mrg uint8_t num_events /**< */,
5420 1.1 mrg const char *events /**< */,
5421 1.1 mrg const xcb_input_event_class_t *classes /**< */)
5422 1.1 mrg {
5423 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5424 1.1 mrg /* count */ 6,
5425 1.1 mrg /* ext */ &xcb_input_id,
5426 1.1 mrg /* opcode */ XCB_INPUT_SEND_EXTENSION_EVENT,
5427 1.1 mrg /* isvoid */ 1
5428 1.1 mrg };
5429 1.1 mrg
5430 1.1 mrg struct iovec xcb_parts[8];
5431 1.1 mrg xcb_void_cookie_t xcb_ret;
5432 1.1 mrg xcb_input_send_extension_event_request_t xcb_out;
5433 1.1 mrg
5434 1.1 mrg xcb_out.destination = destination;
5435 1.1 mrg xcb_out.device_id = device_id;
5436 1.1 mrg xcb_out.propagate = propagate;
5437 1.1 mrg xcb_out.num_classes = num_classes;
5438 1.1 mrg xcb_out.num_events = num_events;
5439 1.1 mrg memset(xcb_out.pad0, 0, 3);
5440 1.1 mrg
5441 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5442 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5443 1.1 mrg xcb_parts[3].iov_base = 0;
5444 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5445 1.1.12.1 tls /* char events */
5446 1.1 mrg xcb_parts[4].iov_base = (char *) events;
5447 1.1 mrg xcb_parts[4].iov_len = (num_events * 32) * sizeof(char);
5448 1.1 mrg xcb_parts[5].iov_base = 0;
5449 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
5450 1.1.12.1 tls /* xcb_input_event_class_t classes */
5451 1.1 mrg xcb_parts[6].iov_base = (char *) classes;
5452 1.1 mrg xcb_parts[6].iov_len = num_classes * sizeof(xcb_input_event_class_t);
5453 1.1 mrg xcb_parts[7].iov_base = 0;
5454 1.1 mrg xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
5455 1.1.12.1 tls
5456 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5457 1.1 mrg return xcb_ret;
5458 1.1 mrg }
5459 1.1 mrg
5460 1.1 mrg
5461 1.1 mrg /*****************************************************************************
5462 1.1 mrg **
5463 1.1 mrg ** xcb_void_cookie_t xcb_input_device_bell_checked
5464 1.1 mrg **
5465 1.1 mrg ** @param xcb_connection_t *c
5466 1.1 mrg ** @param uint8_t device_id
5467 1.1 mrg ** @param uint8_t feedback_id
5468 1.1 mrg ** @param uint8_t feedback_class
5469 1.1 mrg ** @param int8_t percent
5470 1.1 mrg ** @returns xcb_void_cookie_t
5471 1.1 mrg **
5472 1.1 mrg *****************************************************************************/
5473 1.1 mrg
5474 1.1 mrg xcb_void_cookie_t
5475 1.1 mrg xcb_input_device_bell_checked (xcb_connection_t *c /**< */,
5476 1.1 mrg uint8_t device_id /**< */,
5477 1.1 mrg uint8_t feedback_id /**< */,
5478 1.1 mrg uint8_t feedback_class /**< */,
5479 1.1 mrg int8_t percent /**< */)
5480 1.1 mrg {
5481 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5482 1.1 mrg /* count */ 2,
5483 1.1 mrg /* ext */ &xcb_input_id,
5484 1.1 mrg /* opcode */ XCB_INPUT_DEVICE_BELL,
5485 1.1 mrg /* isvoid */ 1
5486 1.1 mrg };
5487 1.1 mrg
5488 1.1 mrg struct iovec xcb_parts[4];
5489 1.1 mrg xcb_void_cookie_t xcb_ret;
5490 1.1 mrg xcb_input_device_bell_request_t xcb_out;
5491 1.1 mrg
5492 1.1 mrg xcb_out.device_id = device_id;
5493 1.1 mrg xcb_out.feedback_id = feedback_id;
5494 1.1 mrg xcb_out.feedback_class = feedback_class;
5495 1.1 mrg xcb_out.percent = percent;
5496 1.1 mrg
5497 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5498 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5499 1.1 mrg xcb_parts[3].iov_base = 0;
5500 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5501 1.1.12.1 tls
5502 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5503 1.1 mrg return xcb_ret;
5504 1.1 mrg }
5505 1.1 mrg
5506 1.1 mrg
5507 1.1 mrg /*****************************************************************************
5508 1.1 mrg **
5509 1.1 mrg ** xcb_void_cookie_t xcb_input_device_bell
5510 1.1 mrg **
5511 1.1 mrg ** @param xcb_connection_t *c
5512 1.1 mrg ** @param uint8_t device_id
5513 1.1 mrg ** @param uint8_t feedback_id
5514 1.1 mrg ** @param uint8_t feedback_class
5515 1.1 mrg ** @param int8_t percent
5516 1.1 mrg ** @returns xcb_void_cookie_t
5517 1.1 mrg **
5518 1.1 mrg *****************************************************************************/
5519 1.1 mrg
5520 1.1 mrg xcb_void_cookie_t
5521 1.1 mrg xcb_input_device_bell (xcb_connection_t *c /**< */,
5522 1.1 mrg uint8_t device_id /**< */,
5523 1.1 mrg uint8_t feedback_id /**< */,
5524 1.1 mrg uint8_t feedback_class /**< */,
5525 1.1 mrg int8_t percent /**< */)
5526 1.1 mrg {
5527 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5528 1.1 mrg /* count */ 2,
5529 1.1 mrg /* ext */ &xcb_input_id,
5530 1.1 mrg /* opcode */ XCB_INPUT_DEVICE_BELL,
5531 1.1 mrg /* isvoid */ 1
5532 1.1 mrg };
5533 1.1 mrg
5534 1.1 mrg struct iovec xcb_parts[4];
5535 1.1 mrg xcb_void_cookie_t xcb_ret;
5536 1.1 mrg xcb_input_device_bell_request_t xcb_out;
5537 1.1 mrg
5538 1.1 mrg xcb_out.device_id = device_id;
5539 1.1 mrg xcb_out.feedback_id = feedback_id;
5540 1.1 mrg xcb_out.feedback_class = feedback_class;
5541 1.1 mrg xcb_out.percent = percent;
5542 1.1 mrg
5543 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5544 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5545 1.1 mrg xcb_parts[3].iov_base = 0;
5546 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5547 1.1.12.1 tls
5548 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5549 1.1 mrg return xcb_ret;
5550 1.1 mrg }
5551 1.1 mrg
5552 1.1.12.1 tls int
5553 1.1.12.1 tls xcb_input_set_device_valuators_sizeof (const void *_buffer /**< */)
5554 1.1.12.1 tls {
5555 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
5556 1.1.12.1 tls const xcb_input_set_device_valuators_request_t *_aux = (xcb_input_set_device_valuators_request_t *)_buffer;
5557 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
5558 1.1.12.1 tls unsigned int xcb_block_len = 0;
5559 1.1.12.1 tls unsigned int xcb_pad = 0;
5560 1.1.12.1 tls unsigned int xcb_align_to;
5561 1.1.12.1 tls
5562 1.1.12.1 tls
5563 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_set_device_valuators_request_t);
5564 1.1.12.1 tls xcb_tmp += xcb_block_len;
5565 1.1.12.1 tls /* valuators */
5566 1.1.12.1 tls xcb_block_len += _aux->num_valuators * sizeof(int32_t);
5567 1.1.12.1 tls xcb_tmp += xcb_block_len;
5568 1.1.12.1 tls xcb_align_to = ALIGNOF(int32_t);
5569 1.1.12.1 tls /* insert padding */
5570 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5571 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5572 1.1.12.1 tls if (0 != xcb_pad) {
5573 1.1.12.1 tls xcb_tmp += xcb_pad;
5574 1.1.12.1 tls xcb_pad = 0;
5575 1.1.12.1 tls }
5576 1.1.12.1 tls xcb_block_len = 0;
5577 1.1.12.1 tls
5578 1.1.12.1 tls return xcb_buffer_len;
5579 1.1.12.1 tls }
5580 1.1.12.1 tls
5581 1.1 mrg
5582 1.1 mrg /*****************************************************************************
5583 1.1 mrg **
5584 1.1 mrg ** xcb_input_set_device_valuators_cookie_t xcb_input_set_device_valuators
5585 1.1 mrg **
5586 1.1 mrg ** @param xcb_connection_t *c
5587 1.1 mrg ** @param uint8_t device_id
5588 1.1 mrg ** @param uint8_t first_valuator
5589 1.1 mrg ** @param uint8_t num_valuators
5590 1.1 mrg ** @param const int32_t *valuators
5591 1.1 mrg ** @returns xcb_input_set_device_valuators_cookie_t
5592 1.1 mrg **
5593 1.1 mrg *****************************************************************************/
5594 1.1 mrg
5595 1.1 mrg xcb_input_set_device_valuators_cookie_t
5596 1.1 mrg xcb_input_set_device_valuators (xcb_connection_t *c /**< */,
5597 1.1 mrg uint8_t device_id /**< */,
5598 1.1 mrg uint8_t first_valuator /**< */,
5599 1.1 mrg uint8_t num_valuators /**< */,
5600 1.1 mrg const int32_t *valuators /**< */)
5601 1.1 mrg {
5602 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5603 1.1 mrg /* count */ 4,
5604 1.1 mrg /* ext */ &xcb_input_id,
5605 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_VALUATORS,
5606 1.1 mrg /* isvoid */ 0
5607 1.1 mrg };
5608 1.1 mrg
5609 1.1 mrg struct iovec xcb_parts[6];
5610 1.1 mrg xcb_input_set_device_valuators_cookie_t xcb_ret;
5611 1.1 mrg xcb_input_set_device_valuators_request_t xcb_out;
5612 1.1 mrg
5613 1.1 mrg xcb_out.device_id = device_id;
5614 1.1 mrg xcb_out.first_valuator = first_valuator;
5615 1.1 mrg xcb_out.num_valuators = num_valuators;
5616 1.1 mrg xcb_out.pad0 = 0;
5617 1.1 mrg
5618 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5619 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5620 1.1 mrg xcb_parts[3].iov_base = 0;
5621 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5622 1.1.12.1 tls /* int32_t valuators */
5623 1.1 mrg xcb_parts[4].iov_base = (char *) valuators;
5624 1.1 mrg xcb_parts[4].iov_len = num_valuators * sizeof(int32_t);
5625 1.1 mrg xcb_parts[5].iov_base = 0;
5626 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
5627 1.1.12.1 tls
5628 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5629 1.1 mrg return xcb_ret;
5630 1.1 mrg }
5631 1.1 mrg
5632 1.1 mrg
5633 1.1 mrg /*****************************************************************************
5634 1.1 mrg **
5635 1.1 mrg ** xcb_input_set_device_valuators_cookie_t xcb_input_set_device_valuators_unchecked
5636 1.1 mrg **
5637 1.1 mrg ** @param xcb_connection_t *c
5638 1.1 mrg ** @param uint8_t device_id
5639 1.1 mrg ** @param uint8_t first_valuator
5640 1.1 mrg ** @param uint8_t num_valuators
5641 1.1 mrg ** @param const int32_t *valuators
5642 1.1 mrg ** @returns xcb_input_set_device_valuators_cookie_t
5643 1.1 mrg **
5644 1.1 mrg *****************************************************************************/
5645 1.1 mrg
5646 1.1 mrg xcb_input_set_device_valuators_cookie_t
5647 1.1 mrg xcb_input_set_device_valuators_unchecked (xcb_connection_t *c /**< */,
5648 1.1 mrg uint8_t device_id /**< */,
5649 1.1 mrg uint8_t first_valuator /**< */,
5650 1.1 mrg uint8_t num_valuators /**< */,
5651 1.1 mrg const int32_t *valuators /**< */)
5652 1.1 mrg {
5653 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5654 1.1 mrg /* count */ 4,
5655 1.1 mrg /* ext */ &xcb_input_id,
5656 1.1 mrg /* opcode */ XCB_INPUT_SET_DEVICE_VALUATORS,
5657 1.1 mrg /* isvoid */ 0
5658 1.1 mrg };
5659 1.1 mrg
5660 1.1 mrg struct iovec xcb_parts[6];
5661 1.1 mrg xcb_input_set_device_valuators_cookie_t xcb_ret;
5662 1.1 mrg xcb_input_set_device_valuators_request_t xcb_out;
5663 1.1 mrg
5664 1.1 mrg xcb_out.device_id = device_id;
5665 1.1 mrg xcb_out.first_valuator = first_valuator;
5666 1.1 mrg xcb_out.num_valuators = num_valuators;
5667 1.1 mrg xcb_out.pad0 = 0;
5668 1.1 mrg
5669 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5670 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5671 1.1 mrg xcb_parts[3].iov_base = 0;
5672 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5673 1.1.12.1 tls /* int32_t valuators */
5674 1.1 mrg xcb_parts[4].iov_base = (char *) valuators;
5675 1.1 mrg xcb_parts[4].iov_len = num_valuators * sizeof(int32_t);
5676 1.1 mrg xcb_parts[5].iov_base = 0;
5677 1.1 mrg xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
5678 1.1.12.1 tls
5679 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5680 1.1 mrg return xcb_ret;
5681 1.1 mrg }
5682 1.1 mrg
5683 1.1 mrg
5684 1.1 mrg /*****************************************************************************
5685 1.1 mrg **
5686 1.1 mrg ** xcb_input_set_device_valuators_reply_t * xcb_input_set_device_valuators_reply
5687 1.1 mrg **
5688 1.1 mrg ** @param xcb_connection_t *c
5689 1.1 mrg ** @param xcb_input_set_device_valuators_cookie_t cookie
5690 1.1 mrg ** @param xcb_generic_error_t **e
5691 1.1 mrg ** @returns xcb_input_set_device_valuators_reply_t *
5692 1.1 mrg **
5693 1.1 mrg *****************************************************************************/
5694 1.1 mrg
5695 1.1 mrg xcb_input_set_device_valuators_reply_t *
5696 1.1 mrg xcb_input_set_device_valuators_reply (xcb_connection_t *c /**< */,
5697 1.1 mrg xcb_input_set_device_valuators_cookie_t cookie /**< */,
5698 1.1 mrg xcb_generic_error_t **e /**< */)
5699 1.1 mrg {
5700 1.1 mrg return (xcb_input_set_device_valuators_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5701 1.1 mrg }
5702 1.1 mrg
5703 1.1 mrg
5704 1.1 mrg /*****************************************************************************
5705 1.1 mrg **
5706 1.1 mrg ** xcb_input_get_device_control_cookie_t xcb_input_get_device_control
5707 1.1 mrg **
5708 1.1 mrg ** @param xcb_connection_t *c
5709 1.1 mrg ** @param uint16_t control_id
5710 1.1 mrg ** @param uint8_t device_id
5711 1.1 mrg ** @returns xcb_input_get_device_control_cookie_t
5712 1.1 mrg **
5713 1.1 mrg *****************************************************************************/
5714 1.1 mrg
5715 1.1 mrg xcb_input_get_device_control_cookie_t
5716 1.1 mrg xcb_input_get_device_control (xcb_connection_t *c /**< */,
5717 1.1 mrg uint16_t control_id /**< */,
5718 1.1 mrg uint8_t device_id /**< */)
5719 1.1 mrg {
5720 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5721 1.1 mrg /* count */ 2,
5722 1.1 mrg /* ext */ &xcb_input_id,
5723 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_CONTROL,
5724 1.1 mrg /* isvoid */ 0
5725 1.1 mrg };
5726 1.1 mrg
5727 1.1 mrg struct iovec xcb_parts[4];
5728 1.1 mrg xcb_input_get_device_control_cookie_t xcb_ret;
5729 1.1 mrg xcb_input_get_device_control_request_t xcb_out;
5730 1.1 mrg
5731 1.1 mrg xcb_out.control_id = control_id;
5732 1.1 mrg xcb_out.device_id = device_id;
5733 1.1 mrg xcb_out.pad0 = 0;
5734 1.1 mrg
5735 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5736 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5737 1.1 mrg xcb_parts[3].iov_base = 0;
5738 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5739 1.1.12.1 tls
5740 1.1 mrg xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5741 1.1 mrg return xcb_ret;
5742 1.1 mrg }
5743 1.1 mrg
5744 1.1 mrg
5745 1.1 mrg /*****************************************************************************
5746 1.1 mrg **
5747 1.1 mrg ** xcb_input_get_device_control_cookie_t xcb_input_get_device_control_unchecked
5748 1.1 mrg **
5749 1.1 mrg ** @param xcb_connection_t *c
5750 1.1 mrg ** @param uint16_t control_id
5751 1.1 mrg ** @param uint8_t device_id
5752 1.1 mrg ** @returns xcb_input_get_device_control_cookie_t
5753 1.1 mrg **
5754 1.1 mrg *****************************************************************************/
5755 1.1 mrg
5756 1.1 mrg xcb_input_get_device_control_cookie_t
5757 1.1 mrg xcb_input_get_device_control_unchecked (xcb_connection_t *c /**< */,
5758 1.1 mrg uint16_t control_id /**< */,
5759 1.1 mrg uint8_t device_id /**< */)
5760 1.1 mrg {
5761 1.1 mrg static const xcb_protocol_request_t xcb_req = {
5762 1.1 mrg /* count */ 2,
5763 1.1 mrg /* ext */ &xcb_input_id,
5764 1.1 mrg /* opcode */ XCB_INPUT_GET_DEVICE_CONTROL,
5765 1.1 mrg /* isvoid */ 0
5766 1.1 mrg };
5767 1.1 mrg
5768 1.1 mrg struct iovec xcb_parts[4];
5769 1.1 mrg xcb_input_get_device_control_cookie_t xcb_ret;
5770 1.1 mrg xcb_input_get_device_control_request_t xcb_out;
5771 1.1 mrg
5772 1.1 mrg xcb_out.control_id = control_id;
5773 1.1 mrg xcb_out.device_id = device_id;
5774 1.1 mrg xcb_out.pad0 = 0;
5775 1.1 mrg
5776 1.1 mrg xcb_parts[2].iov_base = (char *) &xcb_out;
5777 1.1 mrg xcb_parts[2].iov_len = sizeof(xcb_out);
5778 1.1 mrg xcb_parts[3].iov_base = 0;
5779 1.1 mrg xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5780 1.1.12.1 tls
5781 1.1 mrg xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5782 1.1 mrg return xcb_ret;
5783 1.1 mrg }
5784 1.1 mrg
5785 1.1 mrg
5786 1.1 mrg /*****************************************************************************
5787 1.1 mrg **
5788 1.1 mrg ** xcb_input_get_device_control_reply_t * xcb_input_get_device_control_reply
5789 1.1 mrg **
5790 1.1 mrg ** @param xcb_connection_t *c
5791 1.1 mrg ** @param xcb_input_get_device_control_cookie_t cookie
5792 1.1 mrg ** @param xcb_generic_error_t **e
5793 1.1 mrg ** @returns xcb_input_get_device_control_reply_t *
5794 1.1 mrg **
5795 1.1 mrg *****************************************************************************/
5796 1.1 mrg
5797 1.1 mrg xcb_input_get_device_control_reply_t *
5798 1.1 mrg xcb_input_get_device_control_reply (xcb_connection_t *c /**< */,
5799 1.1 mrg xcb_input_get_device_control_cookie_t cookie /**< */,
5800 1.1 mrg xcb_generic_error_t **e /**< */)
5801 1.1 mrg {
5802 1.1 mrg return (xcb_input_get_device_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5803 1.1 mrg }
5804 1.1 mrg
5805 1.1 mrg
5806 1.1 mrg /*****************************************************************************
5807 1.1 mrg **
5808 1.1 mrg ** void xcb_input_device_state_next
5809 1.1 mrg **
5810 1.1 mrg ** @param xcb_input_device_state_iterator_t *i
5811 1.1 mrg ** @returns void
5812 1.1 mrg **
5813 1.1 mrg *****************************************************************************/
5814 1.1 mrg
5815 1.1 mrg void
5816 1.1 mrg xcb_input_device_state_next (xcb_input_device_state_iterator_t *i /**< */)
5817 1.1 mrg {
5818 1.1 mrg --i->rem;
5819 1.1 mrg ++i->data;
5820 1.1 mrg i->index += sizeof(xcb_input_device_state_t);
5821 1.1 mrg }
5822 1.1 mrg
5823 1.1 mrg
5824 1.1 mrg /*****************************************************************************
5825 1.1 mrg **
5826 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_state_end
5827 1.1 mrg **
5828 1.1 mrg ** @param xcb_input_device_state_iterator_t i
5829 1.1 mrg ** @returns xcb_generic_iterator_t
5830 1.1 mrg **
5831 1.1 mrg *****************************************************************************/
5832 1.1 mrg
5833 1.1 mrg xcb_generic_iterator_t
5834 1.1 mrg xcb_input_device_state_end (xcb_input_device_state_iterator_t i /**< */)
5835 1.1 mrg {
5836 1.1 mrg xcb_generic_iterator_t ret;
5837 1.1 mrg ret.data = i.data + i.rem;
5838 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
5839 1.1 mrg ret.rem = 0;
5840 1.1 mrg return ret;
5841 1.1 mrg }
5842 1.1 mrg
5843 1.1.12.1 tls int
5844 1.1.12.1 tls xcb_input_device_resolution_state_sizeof (const void *_buffer /**< */)
5845 1.1.12.1 tls {
5846 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
5847 1.1.12.1 tls const xcb_input_device_resolution_state_t *_aux = (xcb_input_device_resolution_state_t *)_buffer;
5848 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
5849 1.1.12.1 tls unsigned int xcb_block_len = 0;
5850 1.1.12.1 tls unsigned int xcb_pad = 0;
5851 1.1.12.1 tls unsigned int xcb_align_to;
5852 1.1.12.1 tls
5853 1.1.12.1 tls
5854 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_device_resolution_state_t);
5855 1.1.12.1 tls xcb_tmp += xcb_block_len;
5856 1.1.12.1 tls /* resolution_values */
5857 1.1.12.1 tls xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
5858 1.1.12.1 tls xcb_tmp += xcb_block_len;
5859 1.1.12.1 tls xcb_align_to = ALIGNOF(uint32_t);
5860 1.1.12.1 tls /* insert padding */
5861 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5862 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5863 1.1.12.1 tls if (0 != xcb_pad) {
5864 1.1.12.1 tls xcb_tmp += xcb_pad;
5865 1.1.12.1 tls xcb_pad = 0;
5866 1.1.12.1 tls }
5867 1.1.12.1 tls xcb_block_len = 0;
5868 1.1.12.1 tls /* resolution_min */
5869 1.1.12.1 tls xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
5870 1.1.12.1 tls xcb_tmp += xcb_block_len;
5871 1.1.12.1 tls xcb_align_to = ALIGNOF(uint32_t);
5872 1.1.12.1 tls /* insert padding */
5873 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5874 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5875 1.1.12.1 tls if (0 != xcb_pad) {
5876 1.1.12.1 tls xcb_tmp += xcb_pad;
5877 1.1.12.1 tls xcb_pad = 0;
5878 1.1.12.1 tls }
5879 1.1.12.1 tls xcb_block_len = 0;
5880 1.1.12.1 tls /* resolution_max */
5881 1.1.12.1 tls xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
5882 1.1.12.1 tls xcb_tmp += xcb_block_len;
5883 1.1.12.1 tls xcb_align_to = ALIGNOF(uint32_t);
5884 1.1.12.1 tls /* insert padding */
5885 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
5886 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
5887 1.1.12.1 tls if (0 != xcb_pad) {
5888 1.1.12.1 tls xcb_tmp += xcb_pad;
5889 1.1.12.1 tls xcb_pad = 0;
5890 1.1.12.1 tls }
5891 1.1.12.1 tls xcb_block_len = 0;
5892 1.1.12.1 tls
5893 1.1.12.1 tls return xcb_buffer_len;
5894 1.1.12.1 tls }
5895 1.1.12.1 tls
5896 1.1 mrg
5897 1.1 mrg /*****************************************************************************
5898 1.1 mrg **
5899 1.1 mrg ** uint32_t * xcb_input_device_resolution_state_resolution_values
5900 1.1 mrg **
5901 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
5902 1.1 mrg ** @returns uint32_t *
5903 1.1 mrg **
5904 1.1 mrg *****************************************************************************/
5905 1.1 mrg
5906 1.1 mrg uint32_t *
5907 1.1 mrg xcb_input_device_resolution_state_resolution_values (const xcb_input_device_resolution_state_t *R /**< */)
5908 1.1 mrg {
5909 1.1 mrg return (uint32_t *) (R + 1);
5910 1.1 mrg }
5911 1.1 mrg
5912 1.1 mrg
5913 1.1 mrg /*****************************************************************************
5914 1.1 mrg **
5915 1.1 mrg ** int xcb_input_device_resolution_state_resolution_values_length
5916 1.1 mrg **
5917 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
5918 1.1 mrg ** @returns int
5919 1.1 mrg **
5920 1.1 mrg *****************************************************************************/
5921 1.1 mrg
5922 1.1 mrg int
5923 1.1 mrg xcb_input_device_resolution_state_resolution_values_length (const xcb_input_device_resolution_state_t *R /**< */)
5924 1.1 mrg {
5925 1.1 mrg return R->num_valuators;
5926 1.1 mrg }
5927 1.1 mrg
5928 1.1 mrg
5929 1.1 mrg /*****************************************************************************
5930 1.1 mrg **
5931 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_resolution_state_resolution_values_end
5932 1.1 mrg **
5933 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
5934 1.1 mrg ** @returns xcb_generic_iterator_t
5935 1.1 mrg **
5936 1.1 mrg *****************************************************************************/
5937 1.1 mrg
5938 1.1 mrg xcb_generic_iterator_t
5939 1.1 mrg xcb_input_device_resolution_state_resolution_values_end (const xcb_input_device_resolution_state_t *R /**< */)
5940 1.1 mrg {
5941 1.1 mrg xcb_generic_iterator_t i;
5942 1.1 mrg i.data = ((uint32_t *) (R + 1)) + (R->num_valuators);
5943 1.1 mrg i.rem = 0;
5944 1.1 mrg i.index = (char *) i.data - (char *) R;
5945 1.1 mrg return i;
5946 1.1 mrg }
5947 1.1 mrg
5948 1.1 mrg
5949 1.1 mrg /*****************************************************************************
5950 1.1 mrg **
5951 1.1 mrg ** uint32_t * xcb_input_device_resolution_state_resolution_min
5952 1.1 mrg **
5953 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
5954 1.1 mrg ** @returns uint32_t *
5955 1.1 mrg **
5956 1.1 mrg *****************************************************************************/
5957 1.1 mrg
5958 1.1 mrg uint32_t *
5959 1.1 mrg xcb_input_device_resolution_state_resolution_min (const xcb_input_device_resolution_state_t *R /**< */)
5960 1.1 mrg {
5961 1.1 mrg xcb_generic_iterator_t prev = xcb_input_device_resolution_state_resolution_values_end(R);
5962 1.1 mrg return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
5963 1.1 mrg }
5964 1.1 mrg
5965 1.1 mrg
5966 1.1 mrg /*****************************************************************************
5967 1.1 mrg **
5968 1.1 mrg ** int xcb_input_device_resolution_state_resolution_min_length
5969 1.1 mrg **
5970 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
5971 1.1 mrg ** @returns int
5972 1.1 mrg **
5973 1.1 mrg *****************************************************************************/
5974 1.1 mrg
5975 1.1 mrg int
5976 1.1 mrg xcb_input_device_resolution_state_resolution_min_length (const xcb_input_device_resolution_state_t *R /**< */)
5977 1.1 mrg {
5978 1.1 mrg return R->num_valuators;
5979 1.1 mrg }
5980 1.1 mrg
5981 1.1 mrg
5982 1.1 mrg /*****************************************************************************
5983 1.1 mrg **
5984 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_resolution_state_resolution_min_end
5985 1.1 mrg **
5986 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
5987 1.1 mrg ** @returns xcb_generic_iterator_t
5988 1.1 mrg **
5989 1.1 mrg *****************************************************************************/
5990 1.1 mrg
5991 1.1 mrg xcb_generic_iterator_t
5992 1.1 mrg xcb_input_device_resolution_state_resolution_min_end (const xcb_input_device_resolution_state_t *R /**< */)
5993 1.1 mrg {
5994 1.1 mrg xcb_generic_iterator_t i;
5995 1.1 mrg xcb_generic_iterator_t child = xcb_input_device_resolution_state_resolution_values_end(R);
5996 1.1 mrg i.data = ((uint32_t *) child.data) + (R->num_valuators);
5997 1.1 mrg i.rem = 0;
5998 1.1 mrg i.index = (char *) i.data - (char *) R;
5999 1.1 mrg return i;
6000 1.1 mrg }
6001 1.1 mrg
6002 1.1 mrg
6003 1.1 mrg /*****************************************************************************
6004 1.1 mrg **
6005 1.1 mrg ** uint32_t * xcb_input_device_resolution_state_resolution_max
6006 1.1 mrg **
6007 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
6008 1.1 mrg ** @returns uint32_t *
6009 1.1 mrg **
6010 1.1 mrg *****************************************************************************/
6011 1.1 mrg
6012 1.1 mrg uint32_t *
6013 1.1 mrg xcb_input_device_resolution_state_resolution_max (const xcb_input_device_resolution_state_t *R /**< */)
6014 1.1 mrg {
6015 1.1 mrg xcb_generic_iterator_t prev = xcb_input_device_resolution_state_resolution_min_end(R);
6016 1.1 mrg return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
6017 1.1 mrg }
6018 1.1 mrg
6019 1.1 mrg
6020 1.1 mrg /*****************************************************************************
6021 1.1 mrg **
6022 1.1 mrg ** int xcb_input_device_resolution_state_resolution_max_length
6023 1.1 mrg **
6024 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
6025 1.1 mrg ** @returns int
6026 1.1 mrg **
6027 1.1 mrg *****************************************************************************/
6028 1.1 mrg
6029 1.1 mrg int
6030 1.1 mrg xcb_input_device_resolution_state_resolution_max_length (const xcb_input_device_resolution_state_t *R /**< */)
6031 1.1 mrg {
6032 1.1 mrg return R->num_valuators;
6033 1.1 mrg }
6034 1.1 mrg
6035 1.1 mrg
6036 1.1 mrg /*****************************************************************************
6037 1.1 mrg **
6038 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_resolution_state_resolution_max_end
6039 1.1 mrg **
6040 1.1 mrg ** @param const xcb_input_device_resolution_state_t *R
6041 1.1 mrg ** @returns xcb_generic_iterator_t
6042 1.1 mrg **
6043 1.1 mrg *****************************************************************************/
6044 1.1 mrg
6045 1.1 mrg xcb_generic_iterator_t
6046 1.1 mrg xcb_input_device_resolution_state_resolution_max_end (const xcb_input_device_resolution_state_t *R /**< */)
6047 1.1 mrg {
6048 1.1 mrg xcb_generic_iterator_t i;
6049 1.1 mrg xcb_generic_iterator_t child = xcb_input_device_resolution_state_resolution_min_end(R);
6050 1.1 mrg i.data = ((uint32_t *) child.data) + (R->num_valuators);
6051 1.1 mrg i.rem = 0;
6052 1.1 mrg i.index = (char *) i.data - (char *) R;
6053 1.1 mrg return i;
6054 1.1 mrg }
6055 1.1 mrg
6056 1.1 mrg
6057 1.1 mrg /*****************************************************************************
6058 1.1 mrg **
6059 1.1 mrg ** void xcb_input_device_resolution_state_next
6060 1.1 mrg **
6061 1.1 mrg ** @param xcb_input_device_resolution_state_iterator_t *i
6062 1.1 mrg ** @returns void
6063 1.1 mrg **
6064 1.1 mrg *****************************************************************************/
6065 1.1 mrg
6066 1.1 mrg void
6067 1.1 mrg xcb_input_device_resolution_state_next (xcb_input_device_resolution_state_iterator_t *i /**< */)
6068 1.1 mrg {
6069 1.1 mrg xcb_input_device_resolution_state_t *R = i->data;
6070 1.1.12.1 tls xcb_generic_iterator_t child;
6071 1.1.12.1 tls child.data = (xcb_input_device_resolution_state_t *)(((char *)R) + xcb_input_device_resolution_state_sizeof(R));
6072 1.1.12.1 tls i->index = (char *) child.data - (char *) i->data;
6073 1.1 mrg --i->rem;
6074 1.1 mrg i->data = (xcb_input_device_resolution_state_t *) child.data;
6075 1.1 mrg }
6076 1.1 mrg
6077 1.1 mrg
6078 1.1 mrg /*****************************************************************************
6079 1.1 mrg **
6080 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_resolution_state_end
6081 1.1 mrg **
6082 1.1 mrg ** @param xcb_input_device_resolution_state_iterator_t i
6083 1.1 mrg ** @returns xcb_generic_iterator_t
6084 1.1 mrg **
6085 1.1 mrg *****************************************************************************/
6086 1.1 mrg
6087 1.1 mrg xcb_generic_iterator_t
6088 1.1 mrg xcb_input_device_resolution_state_end (xcb_input_device_resolution_state_iterator_t i /**< */)
6089 1.1 mrg {
6090 1.1 mrg xcb_generic_iterator_t ret;
6091 1.1 mrg while(i.rem > 0)
6092 1.1 mrg xcb_input_device_resolution_state_next(&i);
6093 1.1 mrg ret.data = i.data;
6094 1.1 mrg ret.rem = i.rem;
6095 1.1 mrg ret.index = i.index;
6096 1.1 mrg return ret;
6097 1.1 mrg }
6098 1.1 mrg
6099 1.1 mrg
6100 1.1 mrg /*****************************************************************************
6101 1.1 mrg **
6102 1.1 mrg ** void xcb_input_device_abs_calib_state_next
6103 1.1 mrg **
6104 1.1 mrg ** @param xcb_input_device_abs_calib_state_iterator_t *i
6105 1.1 mrg ** @returns void
6106 1.1 mrg **
6107 1.1 mrg *****************************************************************************/
6108 1.1 mrg
6109 1.1 mrg void
6110 1.1 mrg xcb_input_device_abs_calib_state_next (xcb_input_device_abs_calib_state_iterator_t *i /**< */)
6111 1.1 mrg {
6112 1.1 mrg --i->rem;
6113 1.1 mrg ++i->data;
6114 1.1 mrg i->index += sizeof(xcb_input_device_abs_calib_state_t);
6115 1.1 mrg }
6116 1.1 mrg
6117 1.1 mrg
6118 1.1 mrg /*****************************************************************************
6119 1.1 mrg **
6120 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_abs_calib_state_end
6121 1.1 mrg **
6122 1.1 mrg ** @param xcb_input_device_abs_calib_state_iterator_t i
6123 1.1 mrg ** @returns xcb_generic_iterator_t
6124 1.1 mrg **
6125 1.1 mrg *****************************************************************************/
6126 1.1 mrg
6127 1.1 mrg xcb_generic_iterator_t
6128 1.1 mrg xcb_input_device_abs_calib_state_end (xcb_input_device_abs_calib_state_iterator_t i /**< */)
6129 1.1 mrg {
6130 1.1 mrg xcb_generic_iterator_t ret;
6131 1.1 mrg ret.data = i.data + i.rem;
6132 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6133 1.1 mrg ret.rem = 0;
6134 1.1 mrg return ret;
6135 1.1 mrg }
6136 1.1 mrg
6137 1.1 mrg
6138 1.1 mrg /*****************************************************************************
6139 1.1 mrg **
6140 1.1 mrg ** void xcb_input_device_abs_area_state_next
6141 1.1 mrg **
6142 1.1 mrg ** @param xcb_input_device_abs_area_state_iterator_t *i
6143 1.1 mrg ** @returns void
6144 1.1 mrg **
6145 1.1 mrg *****************************************************************************/
6146 1.1 mrg
6147 1.1 mrg void
6148 1.1 mrg xcb_input_device_abs_area_state_next (xcb_input_device_abs_area_state_iterator_t *i /**< */)
6149 1.1 mrg {
6150 1.1 mrg --i->rem;
6151 1.1 mrg ++i->data;
6152 1.1 mrg i->index += sizeof(xcb_input_device_abs_area_state_t);
6153 1.1 mrg }
6154 1.1 mrg
6155 1.1 mrg
6156 1.1 mrg /*****************************************************************************
6157 1.1 mrg **
6158 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_abs_area_state_end
6159 1.1 mrg **
6160 1.1 mrg ** @param xcb_input_device_abs_area_state_iterator_t i
6161 1.1 mrg ** @returns xcb_generic_iterator_t
6162 1.1 mrg **
6163 1.1 mrg *****************************************************************************/
6164 1.1 mrg
6165 1.1 mrg xcb_generic_iterator_t
6166 1.1 mrg xcb_input_device_abs_area_state_end (xcb_input_device_abs_area_state_iterator_t i /**< */)
6167 1.1 mrg {
6168 1.1 mrg xcb_generic_iterator_t ret;
6169 1.1 mrg ret.data = i.data + i.rem;
6170 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6171 1.1 mrg ret.rem = 0;
6172 1.1 mrg return ret;
6173 1.1 mrg }
6174 1.1 mrg
6175 1.1 mrg
6176 1.1 mrg /*****************************************************************************
6177 1.1 mrg **
6178 1.1 mrg ** void xcb_input_device_core_state_next
6179 1.1 mrg **
6180 1.1 mrg ** @param xcb_input_device_core_state_iterator_t *i
6181 1.1 mrg ** @returns void
6182 1.1 mrg **
6183 1.1 mrg *****************************************************************************/
6184 1.1 mrg
6185 1.1 mrg void
6186 1.1 mrg xcb_input_device_core_state_next (xcb_input_device_core_state_iterator_t *i /**< */)
6187 1.1 mrg {
6188 1.1 mrg --i->rem;
6189 1.1 mrg ++i->data;
6190 1.1 mrg i->index += sizeof(xcb_input_device_core_state_t);
6191 1.1 mrg }
6192 1.1 mrg
6193 1.1 mrg
6194 1.1 mrg /*****************************************************************************
6195 1.1 mrg **
6196 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_core_state_end
6197 1.1 mrg **
6198 1.1 mrg ** @param xcb_input_device_core_state_iterator_t i
6199 1.1 mrg ** @returns xcb_generic_iterator_t
6200 1.1 mrg **
6201 1.1 mrg *****************************************************************************/
6202 1.1 mrg
6203 1.1 mrg xcb_generic_iterator_t
6204 1.1 mrg xcb_input_device_core_state_end (xcb_input_device_core_state_iterator_t i /**< */)
6205 1.1 mrg {
6206 1.1 mrg xcb_generic_iterator_t ret;
6207 1.1 mrg ret.data = i.data + i.rem;
6208 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6209 1.1 mrg ret.rem = 0;
6210 1.1 mrg return ret;
6211 1.1 mrg }
6212 1.1 mrg
6213 1.1 mrg
6214 1.1 mrg /*****************************************************************************
6215 1.1 mrg **
6216 1.1 mrg ** void xcb_input_device_enable_state_next
6217 1.1 mrg **
6218 1.1 mrg ** @param xcb_input_device_enable_state_iterator_t *i
6219 1.1 mrg ** @returns void
6220 1.1 mrg **
6221 1.1 mrg *****************************************************************************/
6222 1.1 mrg
6223 1.1 mrg void
6224 1.1 mrg xcb_input_device_enable_state_next (xcb_input_device_enable_state_iterator_t *i /**< */)
6225 1.1 mrg {
6226 1.1 mrg --i->rem;
6227 1.1 mrg ++i->data;
6228 1.1 mrg i->index += sizeof(xcb_input_device_enable_state_t);
6229 1.1 mrg }
6230 1.1 mrg
6231 1.1 mrg
6232 1.1 mrg /*****************************************************************************
6233 1.1 mrg **
6234 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_enable_state_end
6235 1.1 mrg **
6236 1.1 mrg ** @param xcb_input_device_enable_state_iterator_t i
6237 1.1 mrg ** @returns xcb_generic_iterator_t
6238 1.1 mrg **
6239 1.1 mrg *****************************************************************************/
6240 1.1 mrg
6241 1.1 mrg xcb_generic_iterator_t
6242 1.1 mrg xcb_input_device_enable_state_end (xcb_input_device_enable_state_iterator_t i /**< */)
6243 1.1 mrg {
6244 1.1 mrg xcb_generic_iterator_t ret;
6245 1.1 mrg ret.data = i.data + i.rem;
6246 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6247 1.1 mrg ret.rem = 0;
6248 1.1 mrg return ret;
6249 1.1 mrg }
6250 1.1 mrg
6251 1.1 mrg
6252 1.1 mrg /*****************************************************************************
6253 1.1 mrg **
6254 1.1 mrg ** void xcb_input_device_ctl_next
6255 1.1 mrg **
6256 1.1 mrg ** @param xcb_input_device_ctl_iterator_t *i
6257 1.1 mrg ** @returns void
6258 1.1 mrg **
6259 1.1 mrg *****************************************************************************/
6260 1.1 mrg
6261 1.1 mrg void
6262 1.1 mrg xcb_input_device_ctl_next (xcb_input_device_ctl_iterator_t *i /**< */)
6263 1.1 mrg {
6264 1.1 mrg --i->rem;
6265 1.1 mrg ++i->data;
6266 1.1 mrg i->index += sizeof(xcb_input_device_ctl_t);
6267 1.1 mrg }
6268 1.1 mrg
6269 1.1 mrg
6270 1.1 mrg /*****************************************************************************
6271 1.1 mrg **
6272 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_ctl_end
6273 1.1 mrg **
6274 1.1 mrg ** @param xcb_input_device_ctl_iterator_t i
6275 1.1 mrg ** @returns xcb_generic_iterator_t
6276 1.1 mrg **
6277 1.1 mrg *****************************************************************************/
6278 1.1 mrg
6279 1.1 mrg xcb_generic_iterator_t
6280 1.1 mrg xcb_input_device_ctl_end (xcb_input_device_ctl_iterator_t i /**< */)
6281 1.1 mrg {
6282 1.1 mrg xcb_generic_iterator_t ret;
6283 1.1 mrg ret.data = i.data + i.rem;
6284 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6285 1.1 mrg ret.rem = 0;
6286 1.1 mrg return ret;
6287 1.1 mrg }
6288 1.1 mrg
6289 1.1.12.1 tls int
6290 1.1.12.1 tls xcb_input_device_resolution_ctl_sizeof (const void *_buffer /**< */)
6291 1.1.12.1 tls {
6292 1.1.12.1 tls char *xcb_tmp = (char *)_buffer;
6293 1.1.12.1 tls const xcb_input_device_resolution_ctl_t *_aux = (xcb_input_device_resolution_ctl_t *)_buffer;
6294 1.1.12.1 tls unsigned int xcb_buffer_len = 0;
6295 1.1.12.1 tls unsigned int xcb_block_len = 0;
6296 1.1.12.1 tls unsigned int xcb_pad = 0;
6297 1.1.12.1 tls unsigned int xcb_align_to;
6298 1.1.12.1 tls
6299 1.1.12.1 tls
6300 1.1.12.1 tls xcb_block_len += sizeof(xcb_input_device_resolution_ctl_t);
6301 1.1.12.1 tls xcb_tmp += xcb_block_len;
6302 1.1.12.1 tls /* resolution_values */
6303 1.1.12.1 tls xcb_block_len += _aux->num_valuators * sizeof(uint32_t);
6304 1.1.12.1 tls xcb_tmp += xcb_block_len;
6305 1.1.12.1 tls xcb_align_to = ALIGNOF(uint32_t);
6306 1.1.12.1 tls /* insert padding */
6307 1.1.12.1 tls xcb_pad = -xcb_block_len & (xcb_align_to - 1);
6308 1.1.12.1 tls xcb_buffer_len += xcb_block_len + xcb_pad;
6309 1.1.12.1 tls if (0 != xcb_pad) {
6310 1.1.12.1 tls xcb_tmp += xcb_pad;
6311 1.1.12.1 tls xcb_pad = 0;
6312 1.1.12.1 tls }
6313 1.1.12.1 tls xcb_block_len = 0;
6314 1.1.12.1 tls
6315 1.1.12.1 tls return xcb_buffer_len;
6316 1.1.12.1 tls }
6317 1.1.12.1 tls
6318 1.1 mrg
6319 1.1 mrg /*****************************************************************************
6320 1.1 mrg **
6321 1.1 mrg ** uint32_t * xcb_input_device_resolution_ctl_resolution_values
6322 1.1 mrg **
6323 1.1 mrg ** @param const xcb_input_device_resolution_ctl_t *R
6324 1.1 mrg ** @returns uint32_t *
6325 1.1 mrg **
6326 1.1 mrg *****************************************************************************/
6327 1.1 mrg
6328 1.1 mrg uint32_t *
6329 1.1 mrg xcb_input_device_resolution_ctl_resolution_values (const xcb_input_device_resolution_ctl_t *R /**< */)
6330 1.1 mrg {
6331 1.1 mrg return (uint32_t *) (R + 1);
6332 1.1 mrg }
6333 1.1 mrg
6334 1.1 mrg
6335 1.1 mrg /*****************************************************************************
6336 1.1 mrg **
6337 1.1 mrg ** int xcb_input_device_resolution_ctl_resolution_values_length
6338 1.1 mrg **
6339 1.1 mrg ** @param const xcb_input_device_resolution_ctl_t *R
6340 1.1 mrg ** @returns int
6341 1.1 mrg **
6342 1.1 mrg *****************************************************************************/
6343 1.1 mrg
6344 1.1 mrg int
6345 1.1 mrg xcb_input_device_resolution_ctl_resolution_values_length (const xcb_input_device_resolution_ctl_t *R /**< */)
6346 1.1 mrg {
6347 1.1 mrg return R->num_valuators;
6348 1.1 mrg }
6349 1.1 mrg
6350 1.1 mrg
6351 1.1 mrg /*****************************************************************************
6352 1.1 mrg **
6353 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_resolution_ctl_resolution_values_end
6354 1.1 mrg **
6355 1.1 mrg ** @param const xcb_input_device_resolution_ctl_t *R
6356 1.1 mrg ** @returns xcb_generic_iterator_t
6357 1.1 mrg **
6358 1.1 mrg *****************************************************************************/
6359 1.1 mrg
6360 1.1 mrg xcb_generic_iterator_t
6361 1.1 mrg xcb_input_device_resolution_ctl_resolution_values_end (const xcb_input_device_resolution_ctl_t *R /**< */)
6362 1.1 mrg {
6363 1.1 mrg xcb_generic_iterator_t i;
6364 1.1 mrg i.data = ((uint32_t *) (R + 1)) + (R->num_valuators);
6365 1.1 mrg i.rem = 0;
6366 1.1 mrg i.index = (char *) i.data - (char *) R;
6367 1.1 mrg return i;
6368 1.1 mrg }
6369 1.1 mrg
6370 1.1 mrg
6371 1.1 mrg /*****************************************************************************
6372 1.1 mrg **
6373 1.1 mrg ** void xcb_input_device_resolution_ctl_next
6374 1.1 mrg **
6375 1.1 mrg ** @param xcb_input_device_resolution_ctl_iterator_t *i
6376 1.1 mrg ** @returns void
6377 1.1 mrg **
6378 1.1 mrg *****************************************************************************/
6379 1.1 mrg
6380 1.1 mrg void
6381 1.1 mrg xcb_input_device_resolution_ctl_next (xcb_input_device_resolution_ctl_iterator_t *i /**< */)
6382 1.1 mrg {
6383 1.1 mrg xcb_input_device_resolution_ctl_t *R = i->data;
6384 1.1.12.1 tls xcb_generic_iterator_t child;
6385 1.1.12.1 tls child.data = (xcb_input_device_resolution_ctl_t *)(((char *)R) + xcb_input_device_resolution_ctl_sizeof(R));
6386 1.1.12.1 tls i->index = (char *) child.data - (char *) i->data;
6387 1.1 mrg --i->rem;
6388 1.1 mrg i->data = (xcb_input_device_resolution_ctl_t *) child.data;
6389 1.1 mrg }
6390 1.1 mrg
6391 1.1 mrg
6392 1.1 mrg /*****************************************************************************
6393 1.1 mrg **
6394 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_resolution_ctl_end
6395 1.1 mrg **
6396 1.1 mrg ** @param xcb_input_device_resolution_ctl_iterator_t i
6397 1.1 mrg ** @returns xcb_generic_iterator_t
6398 1.1 mrg **
6399 1.1 mrg *****************************************************************************/
6400 1.1 mrg
6401 1.1 mrg xcb_generic_iterator_t
6402 1.1 mrg xcb_input_device_resolution_ctl_end (xcb_input_device_resolution_ctl_iterator_t i /**< */)
6403 1.1 mrg {
6404 1.1 mrg xcb_generic_iterator_t ret;
6405 1.1 mrg while(i.rem > 0)
6406 1.1 mrg xcb_input_device_resolution_ctl_next(&i);
6407 1.1 mrg ret.data = i.data;
6408 1.1 mrg ret.rem = i.rem;
6409 1.1 mrg ret.index = i.index;
6410 1.1 mrg return ret;
6411 1.1 mrg }
6412 1.1 mrg
6413 1.1 mrg
6414 1.1 mrg /*****************************************************************************
6415 1.1 mrg **
6416 1.1 mrg ** void xcb_input_device_abs_calib_ctl_next
6417 1.1 mrg **
6418 1.1 mrg ** @param xcb_input_device_abs_calib_ctl_iterator_t *i
6419 1.1 mrg ** @returns void
6420 1.1 mrg **
6421 1.1 mrg *****************************************************************************/
6422 1.1 mrg
6423 1.1 mrg void
6424 1.1 mrg xcb_input_device_abs_calib_ctl_next (xcb_input_device_abs_calib_ctl_iterator_t *i /**< */)
6425 1.1 mrg {
6426 1.1 mrg --i->rem;
6427 1.1 mrg ++i->data;
6428 1.1 mrg i->index += sizeof(xcb_input_device_abs_calib_ctl_t);
6429 1.1 mrg }
6430 1.1 mrg
6431 1.1 mrg
6432 1.1 mrg /*****************************************************************************
6433 1.1 mrg **
6434 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_abs_calib_ctl_end
6435 1.1 mrg **
6436 1.1 mrg ** @param xcb_input_device_abs_calib_ctl_iterator_t i
6437 1.1 mrg ** @returns xcb_generic_iterator_t
6438 1.1 mrg **
6439 1.1 mrg *****************************************************************************/
6440 1.1 mrg
6441 1.1 mrg xcb_generic_iterator_t
6442 1.1 mrg xcb_input_device_abs_calib_ctl_end (xcb_input_device_abs_calib_ctl_iterator_t i /**< */)
6443 1.1 mrg {
6444 1.1 mrg xcb_generic_iterator_t ret;
6445 1.1 mrg ret.data = i.data + i.rem;
6446 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6447 1.1 mrg ret.rem = 0;
6448 1.1 mrg return ret;
6449 1.1 mrg }
6450 1.1 mrg
6451 1.1 mrg
6452 1.1 mrg /*****************************************************************************
6453 1.1 mrg **
6454 1.1 mrg ** void xcb_input_device_abs_area_ctrl_next
6455 1.1 mrg **
6456 1.1 mrg ** @param xcb_input_device_abs_area_ctrl_iterator_t *i
6457 1.1 mrg ** @returns void
6458 1.1 mrg **
6459 1.1 mrg *****************************************************************************/
6460 1.1 mrg
6461 1.1 mrg void
6462 1.1 mrg xcb_input_device_abs_area_ctrl_next (xcb_input_device_abs_area_ctrl_iterator_t *i /**< */)
6463 1.1 mrg {
6464 1.1 mrg --i->rem;
6465 1.1 mrg ++i->data;
6466 1.1 mrg i->index += sizeof(xcb_input_device_abs_area_ctrl_t);
6467 1.1 mrg }
6468 1.1 mrg
6469 1.1 mrg
6470 1.1 mrg /*****************************************************************************
6471 1.1 mrg **
6472 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_abs_area_ctrl_end
6473 1.1 mrg **
6474 1.1 mrg ** @param xcb_input_device_abs_area_ctrl_iterator_t i
6475 1.1 mrg ** @returns xcb_generic_iterator_t
6476 1.1 mrg **
6477 1.1 mrg *****************************************************************************/
6478 1.1 mrg
6479 1.1 mrg xcb_generic_iterator_t
6480 1.1 mrg xcb_input_device_abs_area_ctrl_end (xcb_input_device_abs_area_ctrl_iterator_t i /**< */)
6481 1.1 mrg {
6482 1.1 mrg xcb_generic_iterator_t ret;
6483 1.1 mrg ret.data = i.data + i.rem;
6484 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6485 1.1 mrg ret.rem = 0;
6486 1.1 mrg return ret;
6487 1.1 mrg }
6488 1.1 mrg
6489 1.1 mrg
6490 1.1 mrg /*****************************************************************************
6491 1.1 mrg **
6492 1.1 mrg ** void xcb_input_device_core_ctrl_next
6493 1.1 mrg **
6494 1.1 mrg ** @param xcb_input_device_core_ctrl_iterator_t *i
6495 1.1 mrg ** @returns void
6496 1.1 mrg **
6497 1.1 mrg *****************************************************************************/
6498 1.1 mrg
6499 1.1 mrg void
6500 1.1 mrg xcb_input_device_core_ctrl_next (xcb_input_device_core_ctrl_iterator_t *i /**< */)
6501 1.1 mrg {
6502 1.1 mrg --i->rem;
6503 1.1 mrg ++i->data;
6504 1.1 mrg i->index += sizeof(xcb_input_device_core_ctrl_t);
6505 1.1 mrg }
6506 1.1 mrg
6507 1.1 mrg
6508 1.1 mrg /*****************************************************************************
6509 1.1 mrg **
6510 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_core_ctrl_end
6511 1.1 mrg **
6512 1.1 mrg ** @param xcb_input_device_core_ctrl_iterator_t i
6513 1.1 mrg ** @returns xcb_generic_iterator_t
6514 1.1 mrg **
6515 1.1 mrg *****************************************************************************/
6516 1.1 mrg
6517 1.1 mrg xcb_generic_iterator_t
6518 1.1 mrg xcb_input_device_core_ctrl_end (xcb_input_device_core_ctrl_iterator_t i /**< */)
6519 1.1 mrg {
6520 1.1 mrg xcb_generic_iterator_t ret;
6521 1.1 mrg ret.data = i.data + i.rem;
6522 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6523 1.1 mrg ret.rem = 0;
6524 1.1 mrg return ret;
6525 1.1 mrg }
6526 1.1 mrg
6527 1.1 mrg
6528 1.1 mrg /*****************************************************************************
6529 1.1 mrg **
6530 1.1 mrg ** void xcb_input_device_enable_ctrl_next
6531 1.1 mrg **
6532 1.1 mrg ** @param xcb_input_device_enable_ctrl_iterator_t *i
6533 1.1 mrg ** @returns void
6534 1.1 mrg **
6535 1.1 mrg *****************************************************************************/
6536 1.1 mrg
6537 1.1 mrg void
6538 1.1 mrg xcb_input_device_enable_ctrl_next (xcb_input_device_enable_ctrl_iterator_t *i /**< */)
6539 1.1 mrg {
6540 1.1 mrg --i->rem;
6541 1.1 mrg ++i->data;
6542 1.1 mrg i->index += sizeof(xcb_input_device_enable_ctrl_t);
6543 1.1 mrg }
6544 1.1 mrg
6545 1.1 mrg
6546 1.1 mrg /*****************************************************************************
6547 1.1 mrg **
6548 1.1 mrg ** xcb_generic_iterator_t xcb_input_device_enable_ctrl_end
6549 1.1 mrg **
6550 1.1 mrg ** @param xcb_input_device_enable_ctrl_iterator_t i
6551 1.1 mrg ** @returns xcb_generic_iterator_t
6552 1.1 mrg **
6553 1.1 mrg *****************************************************************************/
6554 1.1 mrg
6555 1.1 mrg xcb_generic_iterator_t
6556 1.1 mrg xcb_input_device_enable_ctrl_end (xcb_input_device_enable_ctrl_iterator_t i /**< */)
6557 1.1 mrg {
6558 1.1 mrg xcb_generic_iterator_t ret;
6559 1.1 mrg ret.data = i.data + i.rem;
6560 1.1 mrg ret.index = i.index + ((char *) ret.data - (char *) i.data);
6561 1.1 mrg ret.rem = 0;
6562 1.1 mrg return ret;
6563 1.1 mrg }
6564 1.1 mrg
6565