2 * This file generated automatically from xinput.xml by c_client.py.
12 #include <stddef.h> /* for offsetof() */
13 #include "xcb/xcbext.h"
16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17 #include "xcb/xproto.h"
18 #include "xcb/render.h"
19 #include "xcb/shape.h"
20 #include "xcb/xfixes.h"
22 xcb_extension_t xcb_input_id
= { "XInputExtension", 0 };
25 /*****************************************************************************
27 ** void xcb_input_event_class_next
29 ** @param xcb_input_event_class_iterator_t *i
32 *****************************************************************************/
35 xcb_input_event_class_next (xcb_input_event_class_iterator_t
*i
/**< */)
39 i
->index
+= sizeof(xcb_input_event_class_t
);
43 /*****************************************************************************
45 ** xcb_generic_iterator_t xcb_input_event_class_end
47 ** @param xcb_input_event_class_iterator_t i
48 ** @returns xcb_generic_iterator_t
50 *****************************************************************************/
52 xcb_generic_iterator_t
53 xcb_input_event_class_end (xcb_input_event_class_iterator_t i
/**< */)
55 xcb_generic_iterator_t ret
;
56 ret
.data
= i
.data
+ i
.rem
;
57 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
63 /*****************************************************************************
65 ** void xcb_input_key_code_next
67 ** @param xcb_input_key_code_iterator_t *i
70 *****************************************************************************/
73 xcb_input_key_code_next (xcb_input_key_code_iterator_t
*i
/**< */)
77 i
->index
+= sizeof(xcb_input_key_code_t
);
81 /*****************************************************************************
83 ** xcb_generic_iterator_t xcb_input_key_code_end
85 ** @param xcb_input_key_code_iterator_t i
86 ** @returns xcb_generic_iterator_t
88 *****************************************************************************/
90 xcb_generic_iterator_t
91 xcb_input_key_code_end (xcb_input_key_code_iterator_t i
/**< */)
93 xcb_generic_iterator_t ret
;
94 ret
.data
= i
.data
+ i
.rem
;
95 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
101 /*****************************************************************************
103 ** void xcb_input_device_id_next
105 ** @param xcb_input_device_id_iterator_t *i
108 *****************************************************************************/
111 xcb_input_device_id_next (xcb_input_device_id_iterator_t
*i
/**< */)
115 i
->index
+= sizeof(xcb_input_device_id_t
);
119 /*****************************************************************************
121 ** xcb_generic_iterator_t xcb_input_device_id_end
123 ** @param xcb_input_device_id_iterator_t i
124 ** @returns xcb_generic_iterator_t
126 *****************************************************************************/
128 xcb_generic_iterator_t
129 xcb_input_device_id_end (xcb_input_device_id_iterator_t i
/**< */)
131 xcb_generic_iterator_t ret
;
132 ret
.data
= i
.data
+ i
.rem
;
133 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
139 /*****************************************************************************
141 ** void xcb_input_fp1616_next
143 ** @param xcb_input_fp1616_iterator_t *i
146 *****************************************************************************/
149 xcb_input_fp1616_next (xcb_input_fp1616_iterator_t
*i
/**< */)
153 i
->index
+= sizeof(xcb_input_fp1616_t
);
157 /*****************************************************************************
159 ** xcb_generic_iterator_t xcb_input_fp1616_end
161 ** @param xcb_input_fp1616_iterator_t i
162 ** @returns xcb_generic_iterator_t
164 *****************************************************************************/
166 xcb_generic_iterator_t
167 xcb_input_fp1616_end (xcb_input_fp1616_iterator_t i
/**< */)
169 xcb_generic_iterator_t ret
;
170 ret
.data
= i
.data
+ i
.rem
;
171 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
177 /*****************************************************************************
179 ** void xcb_input_fp3232_next
181 ** @param xcb_input_fp3232_iterator_t *i
184 *****************************************************************************/
187 xcb_input_fp3232_next (xcb_input_fp3232_iterator_t
*i
/**< */)
191 i
->index
+= sizeof(xcb_input_fp3232_t
);
195 /*****************************************************************************
197 ** xcb_generic_iterator_t xcb_input_fp3232_end
199 ** @param xcb_input_fp3232_iterator_t i
200 ** @returns xcb_generic_iterator_t
202 *****************************************************************************/
204 xcb_generic_iterator_t
205 xcb_input_fp3232_end (xcb_input_fp3232_iterator_t i
/**< */)
207 xcb_generic_iterator_t ret
;
208 ret
.data
= i
.data
+ i
.rem
;
209 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
215 xcb_input_get_extension_version_sizeof (const void *_buffer
/**< */)
217 char *xcb_tmp
= (char *)_buffer
;
218 const xcb_input_get_extension_version_request_t
*_aux
= (xcb_input_get_extension_version_request_t
*)_buffer
;
219 unsigned int xcb_buffer_len
= 0;
220 unsigned int xcb_block_len
= 0;
221 unsigned int xcb_pad
= 0;
222 unsigned int xcb_align_to
= 0;
225 xcb_block_len
+= sizeof(xcb_input_get_extension_version_request_t
);
226 xcb_tmp
+= xcb_block_len
;
227 xcb_buffer_len
+= xcb_block_len
;
230 xcb_block_len
+= _aux
->name_len
* sizeof(char);
231 xcb_tmp
+= xcb_block_len
;
232 xcb_align_to
= ALIGNOF(char);
234 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
235 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
242 return xcb_buffer_len
;
246 /*****************************************************************************
248 ** xcb_input_get_extension_version_cookie_t xcb_input_get_extension_version
250 ** @param xcb_connection_t *c
251 ** @param uint16_t name_len
252 ** @param const char *name
253 ** @returns xcb_input_get_extension_version_cookie_t
255 *****************************************************************************/
257 xcb_input_get_extension_version_cookie_t
258 xcb_input_get_extension_version (xcb_connection_t
*c
/**< */,
259 uint16_t name_len
/**< */,
260 const char *name
/**< */)
262 static const xcb_protocol_request_t xcb_req
= {
264 /* ext */ &xcb_input_id
,
265 /* opcode */ XCB_INPUT_GET_EXTENSION_VERSION
,
269 struct iovec xcb_parts
[6];
270 xcb_input_get_extension_version_cookie_t xcb_ret
;
271 xcb_input_get_extension_version_request_t xcb_out
;
273 xcb_out
.name_len
= name_len
;
274 memset(xcb_out
.pad0
, 0, 2);
276 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
277 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
278 xcb_parts
[3].iov_base
= 0;
279 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
281 xcb_parts
[4].iov_base
= (char *) name
;
282 xcb_parts
[4].iov_len
= name_len
* sizeof(char);
283 xcb_parts
[5].iov_base
= 0;
284 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
286 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
291 /*****************************************************************************
293 ** xcb_input_get_extension_version_cookie_t xcb_input_get_extension_version_unchecked
295 ** @param xcb_connection_t *c
296 ** @param uint16_t name_len
297 ** @param const char *name
298 ** @returns xcb_input_get_extension_version_cookie_t
300 *****************************************************************************/
302 xcb_input_get_extension_version_cookie_t
303 xcb_input_get_extension_version_unchecked (xcb_connection_t
*c
/**< */,
304 uint16_t name_len
/**< */,
305 const char *name
/**< */)
307 static const xcb_protocol_request_t xcb_req
= {
309 /* ext */ &xcb_input_id
,
310 /* opcode */ XCB_INPUT_GET_EXTENSION_VERSION
,
314 struct iovec xcb_parts
[6];
315 xcb_input_get_extension_version_cookie_t xcb_ret
;
316 xcb_input_get_extension_version_request_t xcb_out
;
318 xcb_out
.name_len
= name_len
;
319 memset(xcb_out
.pad0
, 0, 2);
321 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
322 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
323 xcb_parts
[3].iov_base
= 0;
324 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
326 xcb_parts
[4].iov_base
= (char *) name
;
327 xcb_parts
[4].iov_len
= name_len
* sizeof(char);
328 xcb_parts
[5].iov_base
= 0;
329 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
331 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
336 /*****************************************************************************
338 ** xcb_input_get_extension_version_reply_t * xcb_input_get_extension_version_reply
340 ** @param xcb_connection_t *c
341 ** @param xcb_input_get_extension_version_cookie_t cookie
342 ** @param xcb_generic_error_t **e
343 ** @returns xcb_input_get_extension_version_reply_t *
345 *****************************************************************************/
347 xcb_input_get_extension_version_reply_t
*
348 xcb_input_get_extension_version_reply (xcb_connection_t
*c
/**< */,
349 xcb_input_get_extension_version_cookie_t cookie
/**< */,
350 xcb_generic_error_t
**e
/**< */)
352 return (xcb_input_get_extension_version_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
356 /*****************************************************************************
358 ** void xcb_input_device_info_next
360 ** @param xcb_input_device_info_iterator_t *i
363 *****************************************************************************/
366 xcb_input_device_info_next (xcb_input_device_info_iterator_t
*i
/**< */)
370 i
->index
+= sizeof(xcb_input_device_info_t
);
374 /*****************************************************************************
376 ** xcb_generic_iterator_t xcb_input_device_info_end
378 ** @param xcb_input_device_info_iterator_t i
379 ** @returns xcb_generic_iterator_t
381 *****************************************************************************/
383 xcb_generic_iterator_t
384 xcb_input_device_info_end (xcb_input_device_info_iterator_t i
/**< */)
386 xcb_generic_iterator_t ret
;
387 ret
.data
= i
.data
+ i
.rem
;
388 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
394 /*****************************************************************************
396 ** void xcb_input_key_info_next
398 ** @param xcb_input_key_info_iterator_t *i
401 *****************************************************************************/
404 xcb_input_key_info_next (xcb_input_key_info_iterator_t
*i
/**< */)
408 i
->index
+= sizeof(xcb_input_key_info_t
);
412 /*****************************************************************************
414 ** xcb_generic_iterator_t xcb_input_key_info_end
416 ** @param xcb_input_key_info_iterator_t i
417 ** @returns xcb_generic_iterator_t
419 *****************************************************************************/
421 xcb_generic_iterator_t
422 xcb_input_key_info_end (xcb_input_key_info_iterator_t i
/**< */)
424 xcb_generic_iterator_t ret
;
425 ret
.data
= i
.data
+ i
.rem
;
426 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
432 /*****************************************************************************
434 ** void xcb_input_button_info_next
436 ** @param xcb_input_button_info_iterator_t *i
439 *****************************************************************************/
442 xcb_input_button_info_next (xcb_input_button_info_iterator_t
*i
/**< */)
446 i
->index
+= sizeof(xcb_input_button_info_t
);
450 /*****************************************************************************
452 ** xcb_generic_iterator_t xcb_input_button_info_end
454 ** @param xcb_input_button_info_iterator_t i
455 ** @returns xcb_generic_iterator_t
457 *****************************************************************************/
459 xcb_generic_iterator_t
460 xcb_input_button_info_end (xcb_input_button_info_iterator_t i
/**< */)
462 xcb_generic_iterator_t ret
;
463 ret
.data
= i
.data
+ i
.rem
;
464 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
470 /*****************************************************************************
472 ** void xcb_input_axis_info_next
474 ** @param xcb_input_axis_info_iterator_t *i
477 *****************************************************************************/
480 xcb_input_axis_info_next (xcb_input_axis_info_iterator_t
*i
/**< */)
484 i
->index
+= sizeof(xcb_input_axis_info_t
);
488 /*****************************************************************************
490 ** xcb_generic_iterator_t xcb_input_axis_info_end
492 ** @param xcb_input_axis_info_iterator_t i
493 ** @returns xcb_generic_iterator_t
495 *****************************************************************************/
497 xcb_generic_iterator_t
498 xcb_input_axis_info_end (xcb_input_axis_info_iterator_t i
/**< */)
500 xcb_generic_iterator_t ret
;
501 ret
.data
= i
.data
+ i
.rem
;
502 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
508 xcb_input_valuator_info_sizeof (const void *_buffer
/**< */)
510 char *xcb_tmp
= (char *)_buffer
;
511 const xcb_input_valuator_info_t
*_aux
= (xcb_input_valuator_info_t
*)_buffer
;
512 unsigned int xcb_buffer_len
= 0;
513 unsigned int xcb_block_len
= 0;
514 unsigned int xcb_pad
= 0;
515 unsigned int xcb_align_to
= 0;
518 xcb_block_len
+= sizeof(xcb_input_valuator_info_t
);
519 xcb_tmp
+= xcb_block_len
;
520 xcb_buffer_len
+= xcb_block_len
;
523 xcb_block_len
+= _aux
->axes_len
* sizeof(xcb_input_axis_info_t
);
524 xcb_tmp
+= xcb_block_len
;
525 xcb_align_to
= ALIGNOF(xcb_input_axis_info_t
);
527 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
528 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
535 return xcb_buffer_len
;
539 /*****************************************************************************
541 ** xcb_input_axis_info_t * xcb_input_valuator_info_axes
543 ** @param const xcb_input_valuator_info_t *R
544 ** @returns xcb_input_axis_info_t *
546 *****************************************************************************/
548 xcb_input_axis_info_t
*
549 xcb_input_valuator_info_axes (const xcb_input_valuator_info_t
*R
/**< */)
551 return (xcb_input_axis_info_t
*) (R
+ 1);
555 /*****************************************************************************
557 ** int xcb_input_valuator_info_axes_length
559 ** @param const xcb_input_valuator_info_t *R
562 *****************************************************************************/
565 xcb_input_valuator_info_axes_length (const xcb_input_valuator_info_t
*R
/**< */)
571 /*****************************************************************************
573 ** xcb_input_axis_info_iterator_t xcb_input_valuator_info_axes_iterator
575 ** @param const xcb_input_valuator_info_t *R
576 ** @returns xcb_input_axis_info_iterator_t
578 *****************************************************************************/
580 xcb_input_axis_info_iterator_t
581 xcb_input_valuator_info_axes_iterator (const xcb_input_valuator_info_t
*R
/**< */)
583 xcb_input_axis_info_iterator_t i
;
584 i
.data
= (xcb_input_axis_info_t
*) (R
+ 1);
586 i
.index
= (char *) i
.data
- (char *) R
;
591 /*****************************************************************************
593 ** void xcb_input_valuator_info_next
595 ** @param xcb_input_valuator_info_iterator_t *i
598 *****************************************************************************/
601 xcb_input_valuator_info_next (xcb_input_valuator_info_iterator_t
*i
/**< */)
603 xcb_input_valuator_info_t
*R
= i
->data
;
604 xcb_generic_iterator_t child
;
605 child
.data
= (xcb_input_valuator_info_t
*)(((char *)R
) + xcb_input_valuator_info_sizeof(R
));
606 i
->index
= (char *) child
.data
- (char *) i
->data
;
608 i
->data
= (xcb_input_valuator_info_t
*) child
.data
;
612 /*****************************************************************************
614 ** xcb_generic_iterator_t xcb_input_valuator_info_end
616 ** @param xcb_input_valuator_info_iterator_t i
617 ** @returns xcb_generic_iterator_t
619 *****************************************************************************/
621 xcb_generic_iterator_t
622 xcb_input_valuator_info_end (xcb_input_valuator_info_iterator_t i
/**< */)
624 xcb_generic_iterator_t ret
;
626 xcb_input_valuator_info_next(&i
);
634 /*****************************************************************************
636 ** void xcb_input_input_info_next
638 ** @param xcb_input_input_info_iterator_t *i
641 *****************************************************************************/
644 xcb_input_input_info_next (xcb_input_input_info_iterator_t
*i
/**< */)
648 i
->index
+= sizeof(xcb_input_input_info_t
);
652 /*****************************************************************************
654 ** xcb_generic_iterator_t xcb_input_input_info_end
656 ** @param xcb_input_input_info_iterator_t i
657 ** @returns xcb_generic_iterator_t
659 *****************************************************************************/
661 xcb_generic_iterator_t
662 xcb_input_input_info_end (xcb_input_input_info_iterator_t i
/**< */)
664 xcb_generic_iterator_t ret
;
665 ret
.data
= i
.data
+ i
.rem
;
666 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
672 xcb_input_device_name_sizeof (const void *_buffer
/**< */)
674 char *xcb_tmp
= (char *)_buffer
;
675 const xcb_input_device_name_t
*_aux
= (xcb_input_device_name_t
*)_buffer
;
676 unsigned int xcb_buffer_len
= 0;
677 unsigned int xcb_block_len
= 0;
678 unsigned int xcb_pad
= 0;
679 unsigned int xcb_align_to
= 0;
682 xcb_block_len
+= sizeof(xcb_input_device_name_t
);
683 xcb_tmp
+= xcb_block_len
;
684 xcb_buffer_len
+= xcb_block_len
;
687 xcb_block_len
+= _aux
->len
* sizeof(char);
688 xcb_tmp
+= xcb_block_len
;
689 xcb_align_to
= ALIGNOF(char);
691 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
692 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
699 return xcb_buffer_len
;
703 /*****************************************************************************
705 ** char * xcb_input_device_name_string
707 ** @param const xcb_input_device_name_t *R
710 *****************************************************************************/
713 xcb_input_device_name_string (const xcb_input_device_name_t
*R
/**< */)
715 return (char *) (R
+ 1);
719 /*****************************************************************************
721 ** int xcb_input_device_name_string_length
723 ** @param const xcb_input_device_name_t *R
726 *****************************************************************************/
729 xcb_input_device_name_string_length (const xcb_input_device_name_t
*R
/**< */)
735 /*****************************************************************************
737 ** xcb_generic_iterator_t xcb_input_device_name_string_end
739 ** @param const xcb_input_device_name_t *R
740 ** @returns xcb_generic_iterator_t
742 *****************************************************************************/
744 xcb_generic_iterator_t
745 xcb_input_device_name_string_end (const xcb_input_device_name_t
*R
/**< */)
747 xcb_generic_iterator_t i
;
748 i
.data
= ((char *) (R
+ 1)) + (R
->len
);
750 i
.index
= (char *) i
.data
- (char *) R
;
755 /*****************************************************************************
757 ** void xcb_input_device_name_next
759 ** @param xcb_input_device_name_iterator_t *i
762 *****************************************************************************/
765 xcb_input_device_name_next (xcb_input_device_name_iterator_t
*i
/**< */)
767 xcb_input_device_name_t
*R
= i
->data
;
768 xcb_generic_iterator_t child
;
769 child
.data
= (xcb_input_device_name_t
*)(((char *)R
) + xcb_input_device_name_sizeof(R
));
770 i
->index
= (char *) child
.data
- (char *) i
->data
;
772 i
->data
= (xcb_input_device_name_t
*) child
.data
;
776 /*****************************************************************************
778 ** xcb_generic_iterator_t xcb_input_device_name_end
780 ** @param xcb_input_device_name_iterator_t i
781 ** @returns xcb_generic_iterator_t
783 *****************************************************************************/
785 xcb_generic_iterator_t
786 xcb_input_device_name_end (xcb_input_device_name_iterator_t i
/**< */)
788 xcb_generic_iterator_t ret
;
790 xcb_input_device_name_next(&i
);
798 xcb_input_list_input_devices_sizeof (const void *_buffer
/**< */)
800 char *xcb_tmp
= (char *)_buffer
;
801 const xcb_input_list_input_devices_reply_t
*_aux
= (xcb_input_list_input_devices_reply_t
*)_buffer
;
802 unsigned int xcb_buffer_len
= 0;
803 unsigned int xcb_block_len
= 0;
804 unsigned int xcb_pad
= 0;
805 unsigned int xcb_align_to
= 0;
808 xcb_block_len
+= sizeof(xcb_input_list_input_devices_reply_t
);
809 xcb_tmp
+= xcb_block_len
;
810 xcb_buffer_len
+= xcb_block_len
;
813 xcb_block_len
+= _aux
->devices_len
* sizeof(xcb_input_device_info_t
);
814 xcb_tmp
+= xcb_block_len
;
815 xcb_align_to
= ALIGNOF(xcb_input_device_info_t
);
817 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
818 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
825 return xcb_buffer_len
;
829 /*****************************************************************************
831 ** xcb_input_list_input_devices_cookie_t xcb_input_list_input_devices
833 ** @param xcb_connection_t *c
834 ** @returns xcb_input_list_input_devices_cookie_t
836 *****************************************************************************/
838 xcb_input_list_input_devices_cookie_t
839 xcb_input_list_input_devices (xcb_connection_t
*c
/**< */)
841 static const xcb_protocol_request_t xcb_req
= {
843 /* ext */ &xcb_input_id
,
844 /* opcode */ XCB_INPUT_LIST_INPUT_DEVICES
,
848 struct iovec xcb_parts
[4];
849 xcb_input_list_input_devices_cookie_t xcb_ret
;
850 xcb_input_list_input_devices_request_t xcb_out
;
853 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
854 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
855 xcb_parts
[3].iov_base
= 0;
856 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
858 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
863 /*****************************************************************************
865 ** xcb_input_list_input_devices_cookie_t xcb_input_list_input_devices_unchecked
867 ** @param xcb_connection_t *c
868 ** @returns xcb_input_list_input_devices_cookie_t
870 *****************************************************************************/
872 xcb_input_list_input_devices_cookie_t
873 xcb_input_list_input_devices_unchecked (xcb_connection_t
*c
/**< */)
875 static const xcb_protocol_request_t xcb_req
= {
877 /* ext */ &xcb_input_id
,
878 /* opcode */ XCB_INPUT_LIST_INPUT_DEVICES
,
882 struct iovec xcb_parts
[4];
883 xcb_input_list_input_devices_cookie_t xcb_ret
;
884 xcb_input_list_input_devices_request_t xcb_out
;
887 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
888 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
889 xcb_parts
[3].iov_base
= 0;
890 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
892 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
897 /*****************************************************************************
899 ** xcb_input_device_info_t * xcb_input_list_input_devices_devices
901 ** @param const xcb_input_list_input_devices_reply_t *R
902 ** @returns xcb_input_device_info_t *
904 *****************************************************************************/
906 xcb_input_device_info_t
*
907 xcb_input_list_input_devices_devices (const xcb_input_list_input_devices_reply_t
*R
/**< */)
909 return (xcb_input_device_info_t
*) (R
+ 1);
913 /*****************************************************************************
915 ** int xcb_input_list_input_devices_devices_length
917 ** @param const xcb_input_list_input_devices_reply_t *R
920 *****************************************************************************/
923 xcb_input_list_input_devices_devices_length (const xcb_input_list_input_devices_reply_t
*R
/**< */)
925 return R
->devices_len
;
929 /*****************************************************************************
931 ** xcb_input_device_info_iterator_t xcb_input_list_input_devices_devices_iterator
933 ** @param const xcb_input_list_input_devices_reply_t *R
934 ** @returns xcb_input_device_info_iterator_t
936 *****************************************************************************/
938 xcb_input_device_info_iterator_t
939 xcb_input_list_input_devices_devices_iterator (const xcb_input_list_input_devices_reply_t
*R
/**< */)
941 xcb_input_device_info_iterator_t i
;
942 i
.data
= (xcb_input_device_info_t
*) (R
+ 1);
943 i
.rem
= R
->devices_len
;
944 i
.index
= (char *) i
.data
- (char *) R
;
949 /*****************************************************************************
951 ** xcb_input_list_input_devices_reply_t * xcb_input_list_input_devices_reply
953 ** @param xcb_connection_t *c
954 ** @param xcb_input_list_input_devices_cookie_t cookie
955 ** @param xcb_generic_error_t **e
956 ** @returns xcb_input_list_input_devices_reply_t *
958 *****************************************************************************/
960 xcb_input_list_input_devices_reply_t
*
961 xcb_input_list_input_devices_reply (xcb_connection_t
*c
/**< */,
962 xcb_input_list_input_devices_cookie_t cookie
/**< */,
963 xcb_generic_error_t
**e
/**< */)
965 return (xcb_input_list_input_devices_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
969 /*****************************************************************************
971 ** void xcb_input_input_class_info_next
973 ** @param xcb_input_input_class_info_iterator_t *i
976 *****************************************************************************/
979 xcb_input_input_class_info_next (xcb_input_input_class_info_iterator_t
*i
/**< */)
983 i
->index
+= sizeof(xcb_input_input_class_info_t
);
987 /*****************************************************************************
989 ** xcb_generic_iterator_t xcb_input_input_class_info_end
991 ** @param xcb_input_input_class_info_iterator_t i
992 ** @returns xcb_generic_iterator_t
994 *****************************************************************************/
996 xcb_generic_iterator_t
997 xcb_input_input_class_info_end (xcb_input_input_class_info_iterator_t i
/**< */)
999 xcb_generic_iterator_t ret
;
1000 ret
.data
= i
.data
+ i
.rem
;
1001 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
1007 xcb_input_open_device_sizeof (const void *_buffer
/**< */)
1009 char *xcb_tmp
= (char *)_buffer
;
1010 const xcb_input_open_device_reply_t
*_aux
= (xcb_input_open_device_reply_t
*)_buffer
;
1011 unsigned int xcb_buffer_len
= 0;
1012 unsigned int xcb_block_len
= 0;
1013 unsigned int xcb_pad
= 0;
1014 unsigned int xcb_align_to
= 0;
1017 xcb_block_len
+= sizeof(xcb_input_open_device_reply_t
);
1018 xcb_tmp
+= xcb_block_len
;
1019 xcb_buffer_len
+= xcb_block_len
;
1022 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_input_class_info_t
);
1023 xcb_tmp
+= xcb_block_len
;
1024 xcb_align_to
= ALIGNOF(xcb_input_input_class_info_t
);
1025 /* insert padding */
1026 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
1027 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
1034 return xcb_buffer_len
;
1038 /*****************************************************************************
1040 ** xcb_input_open_device_cookie_t xcb_input_open_device
1042 ** @param xcb_connection_t *c
1043 ** @param uint8_t device_id
1044 ** @returns xcb_input_open_device_cookie_t
1046 *****************************************************************************/
1048 xcb_input_open_device_cookie_t
1049 xcb_input_open_device (xcb_connection_t
*c
/**< */,
1050 uint8_t device_id
/**< */)
1052 static const xcb_protocol_request_t xcb_req
= {
1054 /* ext */ &xcb_input_id
,
1055 /* opcode */ XCB_INPUT_OPEN_DEVICE
,
1059 struct iovec xcb_parts
[4];
1060 xcb_input_open_device_cookie_t xcb_ret
;
1061 xcb_input_open_device_request_t xcb_out
;
1063 xcb_out
.device_id
= device_id
;
1064 memset(xcb_out
.pad0
, 0, 3);
1066 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1067 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1068 xcb_parts
[3].iov_base
= 0;
1069 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1071 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1076 /*****************************************************************************
1078 ** xcb_input_open_device_cookie_t xcb_input_open_device_unchecked
1080 ** @param xcb_connection_t *c
1081 ** @param uint8_t device_id
1082 ** @returns xcb_input_open_device_cookie_t
1084 *****************************************************************************/
1086 xcb_input_open_device_cookie_t
1087 xcb_input_open_device_unchecked (xcb_connection_t
*c
/**< */,
1088 uint8_t device_id
/**< */)
1090 static const xcb_protocol_request_t xcb_req
= {
1092 /* ext */ &xcb_input_id
,
1093 /* opcode */ XCB_INPUT_OPEN_DEVICE
,
1097 struct iovec xcb_parts
[4];
1098 xcb_input_open_device_cookie_t xcb_ret
;
1099 xcb_input_open_device_request_t xcb_out
;
1101 xcb_out
.device_id
= device_id
;
1102 memset(xcb_out
.pad0
, 0, 3);
1104 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1105 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1106 xcb_parts
[3].iov_base
= 0;
1107 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1109 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1114 /*****************************************************************************
1116 ** xcb_input_input_class_info_t * xcb_input_open_device_class_info
1118 ** @param const xcb_input_open_device_reply_t *R
1119 ** @returns xcb_input_input_class_info_t *
1121 *****************************************************************************/
1123 xcb_input_input_class_info_t
*
1124 xcb_input_open_device_class_info (const xcb_input_open_device_reply_t
*R
/**< */)
1126 return (xcb_input_input_class_info_t
*) (R
+ 1);
1130 /*****************************************************************************
1132 ** int xcb_input_open_device_class_info_length
1134 ** @param const xcb_input_open_device_reply_t *R
1137 *****************************************************************************/
1140 xcb_input_open_device_class_info_length (const xcb_input_open_device_reply_t
*R
/**< */)
1142 return R
->num_classes
;
1146 /*****************************************************************************
1148 ** xcb_input_input_class_info_iterator_t xcb_input_open_device_class_info_iterator
1150 ** @param const xcb_input_open_device_reply_t *R
1151 ** @returns xcb_input_input_class_info_iterator_t
1153 *****************************************************************************/
1155 xcb_input_input_class_info_iterator_t
1156 xcb_input_open_device_class_info_iterator (const xcb_input_open_device_reply_t
*R
/**< */)
1158 xcb_input_input_class_info_iterator_t i
;
1159 i
.data
= (xcb_input_input_class_info_t
*) (R
+ 1);
1160 i
.rem
= R
->num_classes
;
1161 i
.index
= (char *) i
.data
- (char *) R
;
1166 /*****************************************************************************
1168 ** xcb_input_open_device_reply_t * xcb_input_open_device_reply
1170 ** @param xcb_connection_t *c
1171 ** @param xcb_input_open_device_cookie_t cookie
1172 ** @param xcb_generic_error_t **e
1173 ** @returns xcb_input_open_device_reply_t *
1175 *****************************************************************************/
1177 xcb_input_open_device_reply_t
*
1178 xcb_input_open_device_reply (xcb_connection_t
*c
/**< */,
1179 xcb_input_open_device_cookie_t cookie
/**< */,
1180 xcb_generic_error_t
**e
/**< */)
1182 return (xcb_input_open_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
1186 /*****************************************************************************
1188 ** xcb_void_cookie_t xcb_input_close_device_checked
1190 ** @param xcb_connection_t *c
1191 ** @param uint8_t device_id
1192 ** @returns xcb_void_cookie_t
1194 *****************************************************************************/
1197 xcb_input_close_device_checked (xcb_connection_t
*c
/**< */,
1198 uint8_t device_id
/**< */)
1200 static const xcb_protocol_request_t xcb_req
= {
1202 /* ext */ &xcb_input_id
,
1203 /* opcode */ XCB_INPUT_CLOSE_DEVICE
,
1207 struct iovec xcb_parts
[4];
1208 xcb_void_cookie_t xcb_ret
;
1209 xcb_input_close_device_request_t xcb_out
;
1211 xcb_out
.device_id
= device_id
;
1212 memset(xcb_out
.pad0
, 0, 3);
1214 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1215 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1216 xcb_parts
[3].iov_base
= 0;
1217 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1219 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1224 /*****************************************************************************
1226 ** xcb_void_cookie_t xcb_input_close_device
1228 ** @param xcb_connection_t *c
1229 ** @param uint8_t device_id
1230 ** @returns xcb_void_cookie_t
1232 *****************************************************************************/
1235 xcb_input_close_device (xcb_connection_t
*c
/**< */,
1236 uint8_t device_id
/**< */)
1238 static const xcb_protocol_request_t xcb_req
= {
1240 /* ext */ &xcb_input_id
,
1241 /* opcode */ XCB_INPUT_CLOSE_DEVICE
,
1245 struct iovec xcb_parts
[4];
1246 xcb_void_cookie_t xcb_ret
;
1247 xcb_input_close_device_request_t xcb_out
;
1249 xcb_out
.device_id
= device_id
;
1250 memset(xcb_out
.pad0
, 0, 3);
1252 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1253 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1254 xcb_parts
[3].iov_base
= 0;
1255 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1257 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1262 /*****************************************************************************
1264 ** xcb_input_set_device_mode_cookie_t xcb_input_set_device_mode
1266 ** @param xcb_connection_t *c
1267 ** @param uint8_t device_id
1268 ** @param uint8_t mode
1269 ** @returns xcb_input_set_device_mode_cookie_t
1271 *****************************************************************************/
1273 xcb_input_set_device_mode_cookie_t
1274 xcb_input_set_device_mode (xcb_connection_t
*c
/**< */,
1275 uint8_t device_id
/**< */,
1276 uint8_t mode
/**< */)
1278 static const xcb_protocol_request_t xcb_req
= {
1280 /* ext */ &xcb_input_id
,
1281 /* opcode */ XCB_INPUT_SET_DEVICE_MODE
,
1285 struct iovec xcb_parts
[4];
1286 xcb_input_set_device_mode_cookie_t xcb_ret
;
1287 xcb_input_set_device_mode_request_t xcb_out
;
1289 xcb_out
.device_id
= device_id
;
1290 xcb_out
.mode
= mode
;
1291 memset(xcb_out
.pad0
, 0, 2);
1293 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1294 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1295 xcb_parts
[3].iov_base
= 0;
1296 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1298 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1303 /*****************************************************************************
1305 ** xcb_input_set_device_mode_cookie_t xcb_input_set_device_mode_unchecked
1307 ** @param xcb_connection_t *c
1308 ** @param uint8_t device_id
1309 ** @param uint8_t mode
1310 ** @returns xcb_input_set_device_mode_cookie_t
1312 *****************************************************************************/
1314 xcb_input_set_device_mode_cookie_t
1315 xcb_input_set_device_mode_unchecked (xcb_connection_t
*c
/**< */,
1316 uint8_t device_id
/**< */,
1317 uint8_t mode
/**< */)
1319 static const xcb_protocol_request_t xcb_req
= {
1321 /* ext */ &xcb_input_id
,
1322 /* opcode */ XCB_INPUT_SET_DEVICE_MODE
,
1326 struct iovec xcb_parts
[4];
1327 xcb_input_set_device_mode_cookie_t xcb_ret
;
1328 xcb_input_set_device_mode_request_t xcb_out
;
1330 xcb_out
.device_id
= device_id
;
1331 xcb_out
.mode
= mode
;
1332 memset(xcb_out
.pad0
, 0, 2);
1334 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1335 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1336 xcb_parts
[3].iov_base
= 0;
1337 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1339 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1344 /*****************************************************************************
1346 ** xcb_input_set_device_mode_reply_t * xcb_input_set_device_mode_reply
1348 ** @param xcb_connection_t *c
1349 ** @param xcb_input_set_device_mode_cookie_t cookie
1350 ** @param xcb_generic_error_t **e
1351 ** @returns xcb_input_set_device_mode_reply_t *
1353 *****************************************************************************/
1355 xcb_input_set_device_mode_reply_t
*
1356 xcb_input_set_device_mode_reply (xcb_connection_t
*c
/**< */,
1357 xcb_input_set_device_mode_cookie_t cookie
/**< */,
1358 xcb_generic_error_t
**e
/**< */)
1360 return (xcb_input_set_device_mode_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
1364 xcb_input_select_extension_event_sizeof (const void *_buffer
/**< */)
1366 char *xcb_tmp
= (char *)_buffer
;
1367 const xcb_input_select_extension_event_request_t
*_aux
= (xcb_input_select_extension_event_request_t
*)_buffer
;
1368 unsigned int xcb_buffer_len
= 0;
1369 unsigned int xcb_block_len
= 0;
1370 unsigned int xcb_pad
= 0;
1371 unsigned int xcb_align_to
= 0;
1374 xcb_block_len
+= sizeof(xcb_input_select_extension_event_request_t
);
1375 xcb_tmp
+= xcb_block_len
;
1376 xcb_buffer_len
+= xcb_block_len
;
1379 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
1380 xcb_tmp
+= xcb_block_len
;
1381 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
1382 /* insert padding */
1383 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
1384 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
1391 return xcb_buffer_len
;
1395 /*****************************************************************************
1397 ** xcb_void_cookie_t xcb_input_select_extension_event_checked
1399 ** @param xcb_connection_t *c
1400 ** @param xcb_window_t window
1401 ** @param uint16_t num_classes
1402 ** @param const xcb_input_event_class_t *classes
1403 ** @returns xcb_void_cookie_t
1405 *****************************************************************************/
1408 xcb_input_select_extension_event_checked (xcb_connection_t
*c
/**< */,
1409 xcb_window_t window
/**< */,
1410 uint16_t num_classes
/**< */,
1411 const xcb_input_event_class_t
*classes
/**< */)
1413 static const xcb_protocol_request_t xcb_req
= {
1415 /* ext */ &xcb_input_id
,
1416 /* opcode */ XCB_INPUT_SELECT_EXTENSION_EVENT
,
1420 struct iovec xcb_parts
[6];
1421 xcb_void_cookie_t xcb_ret
;
1422 xcb_input_select_extension_event_request_t xcb_out
;
1424 xcb_out
.window
= window
;
1425 xcb_out
.num_classes
= num_classes
;
1426 memset(xcb_out
.pad0
, 0, 2);
1428 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1429 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1430 xcb_parts
[3].iov_base
= 0;
1431 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1432 /* xcb_input_event_class_t classes */
1433 xcb_parts
[4].iov_base
= (char *) classes
;
1434 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
1435 xcb_parts
[5].iov_base
= 0;
1436 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
1438 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1443 /*****************************************************************************
1445 ** xcb_void_cookie_t xcb_input_select_extension_event
1447 ** @param xcb_connection_t *c
1448 ** @param xcb_window_t window
1449 ** @param uint16_t num_classes
1450 ** @param const xcb_input_event_class_t *classes
1451 ** @returns xcb_void_cookie_t
1453 *****************************************************************************/
1456 xcb_input_select_extension_event (xcb_connection_t
*c
/**< */,
1457 xcb_window_t window
/**< */,
1458 uint16_t num_classes
/**< */,
1459 const xcb_input_event_class_t
*classes
/**< */)
1461 static const xcb_protocol_request_t xcb_req
= {
1463 /* ext */ &xcb_input_id
,
1464 /* opcode */ XCB_INPUT_SELECT_EXTENSION_EVENT
,
1468 struct iovec xcb_parts
[6];
1469 xcb_void_cookie_t xcb_ret
;
1470 xcb_input_select_extension_event_request_t xcb_out
;
1472 xcb_out
.window
= window
;
1473 xcb_out
.num_classes
= num_classes
;
1474 memset(xcb_out
.pad0
, 0, 2);
1476 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1477 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1478 xcb_parts
[3].iov_base
= 0;
1479 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1480 /* xcb_input_event_class_t classes */
1481 xcb_parts
[4].iov_base
= (char *) classes
;
1482 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
1483 xcb_parts
[5].iov_base
= 0;
1484 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
1486 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1491 xcb_input_get_selected_extension_events_sizeof (const void *_buffer
/**< */)
1493 char *xcb_tmp
= (char *)_buffer
;
1494 const xcb_input_get_selected_extension_events_reply_t
*_aux
= (xcb_input_get_selected_extension_events_reply_t
*)_buffer
;
1495 unsigned int xcb_buffer_len
= 0;
1496 unsigned int xcb_block_len
= 0;
1497 unsigned int xcb_pad
= 0;
1498 unsigned int xcb_align_to
= 0;
1501 xcb_block_len
+= sizeof(xcb_input_get_selected_extension_events_reply_t
);
1502 xcb_tmp
+= xcb_block_len
;
1503 xcb_buffer_len
+= xcb_block_len
;
1506 xcb_block_len
+= _aux
->num_this_classes
* sizeof(xcb_input_event_class_t
);
1507 xcb_tmp
+= xcb_block_len
;
1508 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
1509 /* insert padding */
1510 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
1511 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
1518 xcb_block_len
+= _aux
->num_all_classes
* sizeof(xcb_input_event_class_t
);
1519 xcb_tmp
+= xcb_block_len
;
1520 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
1521 /* insert padding */
1522 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
1523 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
1530 return xcb_buffer_len
;
1534 /*****************************************************************************
1536 ** xcb_input_get_selected_extension_events_cookie_t xcb_input_get_selected_extension_events
1538 ** @param xcb_connection_t *c
1539 ** @param xcb_window_t window
1540 ** @returns xcb_input_get_selected_extension_events_cookie_t
1542 *****************************************************************************/
1544 xcb_input_get_selected_extension_events_cookie_t
1545 xcb_input_get_selected_extension_events (xcb_connection_t
*c
/**< */,
1546 xcb_window_t window
/**< */)
1548 static const xcb_protocol_request_t xcb_req
= {
1550 /* ext */ &xcb_input_id
,
1551 /* opcode */ XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS
,
1555 struct iovec xcb_parts
[4];
1556 xcb_input_get_selected_extension_events_cookie_t xcb_ret
;
1557 xcb_input_get_selected_extension_events_request_t xcb_out
;
1559 xcb_out
.window
= window
;
1561 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1562 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1563 xcb_parts
[3].iov_base
= 0;
1564 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1566 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1571 /*****************************************************************************
1573 ** xcb_input_get_selected_extension_events_cookie_t xcb_input_get_selected_extension_events_unchecked
1575 ** @param xcb_connection_t *c
1576 ** @param xcb_window_t window
1577 ** @returns xcb_input_get_selected_extension_events_cookie_t
1579 *****************************************************************************/
1581 xcb_input_get_selected_extension_events_cookie_t
1582 xcb_input_get_selected_extension_events_unchecked (xcb_connection_t
*c
/**< */,
1583 xcb_window_t window
/**< */)
1585 static const xcb_protocol_request_t xcb_req
= {
1587 /* ext */ &xcb_input_id
,
1588 /* opcode */ XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS
,
1592 struct iovec xcb_parts
[4];
1593 xcb_input_get_selected_extension_events_cookie_t xcb_ret
;
1594 xcb_input_get_selected_extension_events_request_t xcb_out
;
1596 xcb_out
.window
= window
;
1598 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1599 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1600 xcb_parts
[3].iov_base
= 0;
1601 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1603 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1608 /*****************************************************************************
1610 ** xcb_input_event_class_t * xcb_input_get_selected_extension_events_this_classes
1612 ** @param const xcb_input_get_selected_extension_events_reply_t *R
1613 ** @returns xcb_input_event_class_t *
1615 *****************************************************************************/
1617 xcb_input_event_class_t
*
1618 xcb_input_get_selected_extension_events_this_classes (const xcb_input_get_selected_extension_events_reply_t
*R
/**< */)
1620 return (xcb_input_event_class_t
*) (R
+ 1);
1624 /*****************************************************************************
1626 ** int xcb_input_get_selected_extension_events_this_classes_length
1628 ** @param const xcb_input_get_selected_extension_events_reply_t *R
1631 *****************************************************************************/
1634 xcb_input_get_selected_extension_events_this_classes_length (const xcb_input_get_selected_extension_events_reply_t
*R
/**< */)
1636 return R
->num_this_classes
;
1640 /*****************************************************************************
1642 ** xcb_generic_iterator_t xcb_input_get_selected_extension_events_this_classes_end
1644 ** @param const xcb_input_get_selected_extension_events_reply_t *R
1645 ** @returns xcb_generic_iterator_t
1647 *****************************************************************************/
1649 xcb_generic_iterator_t
1650 xcb_input_get_selected_extension_events_this_classes_end (const xcb_input_get_selected_extension_events_reply_t
*R
/**< */)
1652 xcb_generic_iterator_t i
;
1653 i
.data
= ((xcb_input_event_class_t
*) (R
+ 1)) + (R
->num_this_classes
);
1655 i
.index
= (char *) i
.data
- (char *) R
;
1660 /*****************************************************************************
1662 ** xcb_input_event_class_t * xcb_input_get_selected_extension_events_all_classes
1664 ** @param const xcb_input_get_selected_extension_events_reply_t *R
1665 ** @returns xcb_input_event_class_t *
1667 *****************************************************************************/
1669 xcb_input_event_class_t
*
1670 xcb_input_get_selected_extension_events_all_classes (const xcb_input_get_selected_extension_events_reply_t
*R
/**< */)
1672 xcb_generic_iterator_t prev
= xcb_input_get_selected_extension_events_this_classes_end(R
);
1673 return (xcb_input_event_class_t
*) ((char *) prev
.data
+ XCB_TYPE_PAD(xcb_input_event_class_t
, prev
.index
) + 0);
1677 /*****************************************************************************
1679 ** int xcb_input_get_selected_extension_events_all_classes_length
1681 ** @param const xcb_input_get_selected_extension_events_reply_t *R
1684 *****************************************************************************/
1687 xcb_input_get_selected_extension_events_all_classes_length (const xcb_input_get_selected_extension_events_reply_t
*R
/**< */)
1689 return R
->num_all_classes
;
1693 /*****************************************************************************
1695 ** xcb_generic_iterator_t xcb_input_get_selected_extension_events_all_classes_end
1697 ** @param const xcb_input_get_selected_extension_events_reply_t *R
1698 ** @returns xcb_generic_iterator_t
1700 *****************************************************************************/
1702 xcb_generic_iterator_t
1703 xcb_input_get_selected_extension_events_all_classes_end (const xcb_input_get_selected_extension_events_reply_t
*R
/**< */)
1705 xcb_generic_iterator_t i
;
1706 xcb_generic_iterator_t child
= xcb_input_get_selected_extension_events_this_classes_end(R
);
1707 i
.data
= ((xcb_input_event_class_t
*) child
.data
) + (R
->num_all_classes
);
1709 i
.index
= (char *) i
.data
- (char *) R
;
1714 /*****************************************************************************
1716 ** xcb_input_get_selected_extension_events_reply_t * xcb_input_get_selected_extension_events_reply
1718 ** @param xcb_connection_t *c
1719 ** @param xcb_input_get_selected_extension_events_cookie_t cookie
1720 ** @param xcb_generic_error_t **e
1721 ** @returns xcb_input_get_selected_extension_events_reply_t *
1723 *****************************************************************************/
1725 xcb_input_get_selected_extension_events_reply_t
*
1726 xcb_input_get_selected_extension_events_reply (xcb_connection_t
*c
/**< */,
1727 xcb_input_get_selected_extension_events_cookie_t cookie
/**< */,
1728 xcb_generic_error_t
**e
/**< */)
1730 return (xcb_input_get_selected_extension_events_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
1734 xcb_input_change_device_dont_propagate_list_sizeof (const void *_buffer
/**< */)
1736 char *xcb_tmp
= (char *)_buffer
;
1737 const xcb_input_change_device_dont_propagate_list_request_t
*_aux
= (xcb_input_change_device_dont_propagate_list_request_t
*)_buffer
;
1738 unsigned int xcb_buffer_len
= 0;
1739 unsigned int xcb_block_len
= 0;
1740 unsigned int xcb_pad
= 0;
1741 unsigned int xcb_align_to
= 0;
1744 xcb_block_len
+= sizeof(xcb_input_change_device_dont_propagate_list_request_t
);
1745 xcb_tmp
+= xcb_block_len
;
1746 xcb_buffer_len
+= xcb_block_len
;
1749 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
1750 xcb_tmp
+= xcb_block_len
;
1751 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
1752 /* insert padding */
1753 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
1754 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
1761 return xcb_buffer_len
;
1765 /*****************************************************************************
1767 ** xcb_void_cookie_t xcb_input_change_device_dont_propagate_list_checked
1769 ** @param xcb_connection_t *c
1770 ** @param xcb_window_t window
1771 ** @param uint16_t num_classes
1772 ** @param uint8_t mode
1773 ** @param const xcb_input_event_class_t *classes
1774 ** @returns xcb_void_cookie_t
1776 *****************************************************************************/
1779 xcb_input_change_device_dont_propagate_list_checked (xcb_connection_t
*c
/**< */,
1780 xcb_window_t window
/**< */,
1781 uint16_t num_classes
/**< */,
1782 uint8_t mode
/**< */,
1783 const xcb_input_event_class_t
*classes
/**< */)
1785 static const xcb_protocol_request_t xcb_req
= {
1787 /* ext */ &xcb_input_id
,
1788 /* opcode */ XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST
,
1792 struct iovec xcb_parts
[6];
1793 xcb_void_cookie_t xcb_ret
;
1794 xcb_input_change_device_dont_propagate_list_request_t xcb_out
;
1796 xcb_out
.window
= window
;
1797 xcb_out
.num_classes
= num_classes
;
1798 xcb_out
.mode
= mode
;
1801 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1802 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1803 xcb_parts
[3].iov_base
= 0;
1804 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1805 /* xcb_input_event_class_t classes */
1806 xcb_parts
[4].iov_base
= (char *) classes
;
1807 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
1808 xcb_parts
[5].iov_base
= 0;
1809 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
1811 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1816 /*****************************************************************************
1818 ** xcb_void_cookie_t xcb_input_change_device_dont_propagate_list
1820 ** @param xcb_connection_t *c
1821 ** @param xcb_window_t window
1822 ** @param uint16_t num_classes
1823 ** @param uint8_t mode
1824 ** @param const xcb_input_event_class_t *classes
1825 ** @returns xcb_void_cookie_t
1827 *****************************************************************************/
1830 xcb_input_change_device_dont_propagate_list (xcb_connection_t
*c
/**< */,
1831 xcb_window_t window
/**< */,
1832 uint16_t num_classes
/**< */,
1833 uint8_t mode
/**< */,
1834 const xcb_input_event_class_t
*classes
/**< */)
1836 static const xcb_protocol_request_t xcb_req
= {
1838 /* ext */ &xcb_input_id
,
1839 /* opcode */ XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST
,
1843 struct iovec xcb_parts
[6];
1844 xcb_void_cookie_t xcb_ret
;
1845 xcb_input_change_device_dont_propagate_list_request_t xcb_out
;
1847 xcb_out
.window
= window
;
1848 xcb_out
.num_classes
= num_classes
;
1849 xcb_out
.mode
= mode
;
1852 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1853 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1854 xcb_parts
[3].iov_base
= 0;
1855 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1856 /* xcb_input_event_class_t classes */
1857 xcb_parts
[4].iov_base
= (char *) classes
;
1858 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
1859 xcb_parts
[5].iov_base
= 0;
1860 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
1862 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1867 xcb_input_get_device_dont_propagate_list_sizeof (const void *_buffer
/**< */)
1869 char *xcb_tmp
= (char *)_buffer
;
1870 const xcb_input_get_device_dont_propagate_list_reply_t
*_aux
= (xcb_input_get_device_dont_propagate_list_reply_t
*)_buffer
;
1871 unsigned int xcb_buffer_len
= 0;
1872 unsigned int xcb_block_len
= 0;
1873 unsigned int xcb_pad
= 0;
1874 unsigned int xcb_align_to
= 0;
1877 xcb_block_len
+= sizeof(xcb_input_get_device_dont_propagate_list_reply_t
);
1878 xcb_tmp
+= xcb_block_len
;
1879 xcb_buffer_len
+= xcb_block_len
;
1882 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
1883 xcb_tmp
+= xcb_block_len
;
1884 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
1885 /* insert padding */
1886 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
1887 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
1894 return xcb_buffer_len
;
1898 /*****************************************************************************
1900 ** xcb_input_get_device_dont_propagate_list_cookie_t xcb_input_get_device_dont_propagate_list
1902 ** @param xcb_connection_t *c
1903 ** @param xcb_window_t window
1904 ** @returns xcb_input_get_device_dont_propagate_list_cookie_t
1906 *****************************************************************************/
1908 xcb_input_get_device_dont_propagate_list_cookie_t
1909 xcb_input_get_device_dont_propagate_list (xcb_connection_t
*c
/**< */,
1910 xcb_window_t window
/**< */)
1912 static const xcb_protocol_request_t xcb_req
= {
1914 /* ext */ &xcb_input_id
,
1915 /* opcode */ XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST
,
1919 struct iovec xcb_parts
[4];
1920 xcb_input_get_device_dont_propagate_list_cookie_t xcb_ret
;
1921 xcb_input_get_device_dont_propagate_list_request_t xcb_out
;
1923 xcb_out
.window
= window
;
1925 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1926 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1927 xcb_parts
[3].iov_base
= 0;
1928 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1930 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
1935 /*****************************************************************************
1937 ** xcb_input_get_device_dont_propagate_list_cookie_t xcb_input_get_device_dont_propagate_list_unchecked
1939 ** @param xcb_connection_t *c
1940 ** @param xcb_window_t window
1941 ** @returns xcb_input_get_device_dont_propagate_list_cookie_t
1943 *****************************************************************************/
1945 xcb_input_get_device_dont_propagate_list_cookie_t
1946 xcb_input_get_device_dont_propagate_list_unchecked (xcb_connection_t
*c
/**< */,
1947 xcb_window_t window
/**< */)
1949 static const xcb_protocol_request_t xcb_req
= {
1951 /* ext */ &xcb_input_id
,
1952 /* opcode */ XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST
,
1956 struct iovec xcb_parts
[4];
1957 xcb_input_get_device_dont_propagate_list_cookie_t xcb_ret
;
1958 xcb_input_get_device_dont_propagate_list_request_t xcb_out
;
1960 xcb_out
.window
= window
;
1962 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
1963 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
1964 xcb_parts
[3].iov_base
= 0;
1965 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
1967 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
1972 /*****************************************************************************
1974 ** xcb_input_event_class_t * xcb_input_get_device_dont_propagate_list_classes
1976 ** @param const xcb_input_get_device_dont_propagate_list_reply_t *R
1977 ** @returns xcb_input_event_class_t *
1979 *****************************************************************************/
1981 xcb_input_event_class_t
*
1982 xcb_input_get_device_dont_propagate_list_classes (const xcb_input_get_device_dont_propagate_list_reply_t
*R
/**< */)
1984 return (xcb_input_event_class_t
*) (R
+ 1);
1988 /*****************************************************************************
1990 ** int xcb_input_get_device_dont_propagate_list_classes_length
1992 ** @param const xcb_input_get_device_dont_propagate_list_reply_t *R
1995 *****************************************************************************/
1998 xcb_input_get_device_dont_propagate_list_classes_length (const xcb_input_get_device_dont_propagate_list_reply_t
*R
/**< */)
2000 return R
->num_classes
;
2004 /*****************************************************************************
2006 ** xcb_generic_iterator_t xcb_input_get_device_dont_propagate_list_classes_end
2008 ** @param const xcb_input_get_device_dont_propagate_list_reply_t *R
2009 ** @returns xcb_generic_iterator_t
2011 *****************************************************************************/
2013 xcb_generic_iterator_t
2014 xcb_input_get_device_dont_propagate_list_classes_end (const xcb_input_get_device_dont_propagate_list_reply_t
*R
/**< */)
2016 xcb_generic_iterator_t i
;
2017 i
.data
= ((xcb_input_event_class_t
*) (R
+ 1)) + (R
->num_classes
);
2019 i
.index
= (char *) i
.data
- (char *) R
;
2024 /*****************************************************************************
2026 ** xcb_input_get_device_dont_propagate_list_reply_t * xcb_input_get_device_dont_propagate_list_reply
2028 ** @param xcb_connection_t *c
2029 ** @param xcb_input_get_device_dont_propagate_list_cookie_t cookie
2030 ** @param xcb_generic_error_t **e
2031 ** @returns xcb_input_get_device_dont_propagate_list_reply_t *
2033 *****************************************************************************/
2035 xcb_input_get_device_dont_propagate_list_reply_t
*
2036 xcb_input_get_device_dont_propagate_list_reply (xcb_connection_t
*c
/**< */,
2037 xcb_input_get_device_dont_propagate_list_cookie_t cookie
/**< */,
2038 xcb_generic_error_t
**e
/**< */)
2040 return (xcb_input_get_device_dont_propagate_list_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
2044 /*****************************************************************************
2046 ** void xcb_input_device_time_coord_next
2048 ** @param xcb_input_device_time_coord_iterator_t *i
2051 *****************************************************************************/
2054 xcb_input_device_time_coord_next (xcb_input_device_time_coord_iterator_t
*i
/**< */)
2058 i
->index
+= sizeof(xcb_input_device_time_coord_t
);
2062 /*****************************************************************************
2064 ** xcb_generic_iterator_t xcb_input_device_time_coord_end
2066 ** @param xcb_input_device_time_coord_iterator_t i
2067 ** @returns xcb_generic_iterator_t
2069 *****************************************************************************/
2071 xcb_generic_iterator_t
2072 xcb_input_device_time_coord_end (xcb_input_device_time_coord_iterator_t i
/**< */)
2074 xcb_generic_iterator_t ret
;
2075 ret
.data
= i
.data
+ i
.rem
;
2076 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
2082 /*****************************************************************************
2084 ** xcb_input_get_device_motion_events_cookie_t xcb_input_get_device_motion_events
2086 ** @param xcb_connection_t *c
2087 ** @param xcb_timestamp_t start
2088 ** @param xcb_timestamp_t stop
2089 ** @param uint8_t device_id
2090 ** @returns xcb_input_get_device_motion_events_cookie_t
2092 *****************************************************************************/
2094 xcb_input_get_device_motion_events_cookie_t
2095 xcb_input_get_device_motion_events (xcb_connection_t
*c
/**< */,
2096 xcb_timestamp_t start
/**< */,
2097 xcb_timestamp_t stop
/**< */,
2098 uint8_t device_id
/**< */)
2100 static const xcb_protocol_request_t xcb_req
= {
2102 /* ext */ &xcb_input_id
,
2103 /* opcode */ XCB_INPUT_GET_DEVICE_MOTION_EVENTS
,
2107 struct iovec xcb_parts
[4];
2108 xcb_input_get_device_motion_events_cookie_t xcb_ret
;
2109 xcb_input_get_device_motion_events_request_t xcb_out
;
2111 xcb_out
.start
= start
;
2112 xcb_out
.stop
= stop
;
2113 xcb_out
.device_id
= device_id
;
2115 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2116 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2117 xcb_parts
[3].iov_base
= 0;
2118 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2120 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2125 /*****************************************************************************
2127 ** xcb_input_get_device_motion_events_cookie_t xcb_input_get_device_motion_events_unchecked
2129 ** @param xcb_connection_t *c
2130 ** @param xcb_timestamp_t start
2131 ** @param xcb_timestamp_t stop
2132 ** @param uint8_t device_id
2133 ** @returns xcb_input_get_device_motion_events_cookie_t
2135 *****************************************************************************/
2137 xcb_input_get_device_motion_events_cookie_t
2138 xcb_input_get_device_motion_events_unchecked (xcb_connection_t
*c
/**< */,
2139 xcb_timestamp_t start
/**< */,
2140 xcb_timestamp_t stop
/**< */,
2141 uint8_t device_id
/**< */)
2143 static const xcb_protocol_request_t xcb_req
= {
2145 /* ext */ &xcb_input_id
,
2146 /* opcode */ XCB_INPUT_GET_DEVICE_MOTION_EVENTS
,
2150 struct iovec xcb_parts
[4];
2151 xcb_input_get_device_motion_events_cookie_t xcb_ret
;
2152 xcb_input_get_device_motion_events_request_t xcb_out
;
2154 xcb_out
.start
= start
;
2155 xcb_out
.stop
= stop
;
2156 xcb_out
.device_id
= device_id
;
2158 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2159 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2160 xcb_parts
[3].iov_base
= 0;
2161 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2163 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2168 /*****************************************************************************
2170 ** xcb_input_get_device_motion_events_reply_t * xcb_input_get_device_motion_events_reply
2172 ** @param xcb_connection_t *c
2173 ** @param xcb_input_get_device_motion_events_cookie_t cookie
2174 ** @param xcb_generic_error_t **e
2175 ** @returns xcb_input_get_device_motion_events_reply_t *
2177 *****************************************************************************/
2179 xcb_input_get_device_motion_events_reply_t
*
2180 xcb_input_get_device_motion_events_reply (xcb_connection_t
*c
/**< */,
2181 xcb_input_get_device_motion_events_cookie_t cookie
/**< */,
2182 xcb_generic_error_t
**e
/**< */)
2184 return (xcb_input_get_device_motion_events_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
2188 /*****************************************************************************
2190 ** xcb_input_change_keyboard_device_cookie_t xcb_input_change_keyboard_device
2192 ** @param xcb_connection_t *c
2193 ** @param uint8_t device_id
2194 ** @returns xcb_input_change_keyboard_device_cookie_t
2196 *****************************************************************************/
2198 xcb_input_change_keyboard_device_cookie_t
2199 xcb_input_change_keyboard_device (xcb_connection_t
*c
/**< */,
2200 uint8_t device_id
/**< */)
2202 static const xcb_protocol_request_t xcb_req
= {
2204 /* ext */ &xcb_input_id
,
2205 /* opcode */ XCB_INPUT_CHANGE_KEYBOARD_DEVICE
,
2209 struct iovec xcb_parts
[4];
2210 xcb_input_change_keyboard_device_cookie_t xcb_ret
;
2211 xcb_input_change_keyboard_device_request_t xcb_out
;
2213 xcb_out
.device_id
= device_id
;
2214 memset(xcb_out
.pad0
, 0, 3);
2216 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2217 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2218 xcb_parts
[3].iov_base
= 0;
2219 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2221 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2226 /*****************************************************************************
2228 ** xcb_input_change_keyboard_device_cookie_t xcb_input_change_keyboard_device_unchecked
2230 ** @param xcb_connection_t *c
2231 ** @param uint8_t device_id
2232 ** @returns xcb_input_change_keyboard_device_cookie_t
2234 *****************************************************************************/
2236 xcb_input_change_keyboard_device_cookie_t
2237 xcb_input_change_keyboard_device_unchecked (xcb_connection_t
*c
/**< */,
2238 uint8_t device_id
/**< */)
2240 static const xcb_protocol_request_t xcb_req
= {
2242 /* ext */ &xcb_input_id
,
2243 /* opcode */ XCB_INPUT_CHANGE_KEYBOARD_DEVICE
,
2247 struct iovec xcb_parts
[4];
2248 xcb_input_change_keyboard_device_cookie_t xcb_ret
;
2249 xcb_input_change_keyboard_device_request_t xcb_out
;
2251 xcb_out
.device_id
= device_id
;
2252 memset(xcb_out
.pad0
, 0, 3);
2254 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2255 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2256 xcb_parts
[3].iov_base
= 0;
2257 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2259 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2264 /*****************************************************************************
2266 ** xcb_input_change_keyboard_device_reply_t * xcb_input_change_keyboard_device_reply
2268 ** @param xcb_connection_t *c
2269 ** @param xcb_input_change_keyboard_device_cookie_t cookie
2270 ** @param xcb_generic_error_t **e
2271 ** @returns xcb_input_change_keyboard_device_reply_t *
2273 *****************************************************************************/
2275 xcb_input_change_keyboard_device_reply_t
*
2276 xcb_input_change_keyboard_device_reply (xcb_connection_t
*c
/**< */,
2277 xcb_input_change_keyboard_device_cookie_t cookie
/**< */,
2278 xcb_generic_error_t
**e
/**< */)
2280 return (xcb_input_change_keyboard_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
2284 /*****************************************************************************
2286 ** xcb_input_change_pointer_device_cookie_t xcb_input_change_pointer_device
2288 ** @param xcb_connection_t *c
2289 ** @param uint8_t x_axis
2290 ** @param uint8_t y_axis
2291 ** @param uint8_t device_id
2292 ** @returns xcb_input_change_pointer_device_cookie_t
2294 *****************************************************************************/
2296 xcb_input_change_pointer_device_cookie_t
2297 xcb_input_change_pointer_device (xcb_connection_t
*c
/**< */,
2298 uint8_t x_axis
/**< */,
2299 uint8_t y_axis
/**< */,
2300 uint8_t device_id
/**< */)
2302 static const xcb_protocol_request_t xcb_req
= {
2304 /* ext */ &xcb_input_id
,
2305 /* opcode */ XCB_INPUT_CHANGE_POINTER_DEVICE
,
2309 struct iovec xcb_parts
[4];
2310 xcb_input_change_pointer_device_cookie_t xcb_ret
;
2311 xcb_input_change_pointer_device_request_t xcb_out
;
2313 xcb_out
.x_axis
= x_axis
;
2314 xcb_out
.y_axis
= y_axis
;
2315 xcb_out
.device_id
= device_id
;
2318 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2319 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2320 xcb_parts
[3].iov_base
= 0;
2321 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2323 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2328 /*****************************************************************************
2330 ** xcb_input_change_pointer_device_cookie_t xcb_input_change_pointer_device_unchecked
2332 ** @param xcb_connection_t *c
2333 ** @param uint8_t x_axis
2334 ** @param uint8_t y_axis
2335 ** @param uint8_t device_id
2336 ** @returns xcb_input_change_pointer_device_cookie_t
2338 *****************************************************************************/
2340 xcb_input_change_pointer_device_cookie_t
2341 xcb_input_change_pointer_device_unchecked (xcb_connection_t
*c
/**< */,
2342 uint8_t x_axis
/**< */,
2343 uint8_t y_axis
/**< */,
2344 uint8_t device_id
/**< */)
2346 static const xcb_protocol_request_t xcb_req
= {
2348 /* ext */ &xcb_input_id
,
2349 /* opcode */ XCB_INPUT_CHANGE_POINTER_DEVICE
,
2353 struct iovec xcb_parts
[4];
2354 xcb_input_change_pointer_device_cookie_t xcb_ret
;
2355 xcb_input_change_pointer_device_request_t xcb_out
;
2357 xcb_out
.x_axis
= x_axis
;
2358 xcb_out
.y_axis
= y_axis
;
2359 xcb_out
.device_id
= device_id
;
2362 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2363 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2364 xcb_parts
[3].iov_base
= 0;
2365 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2367 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2372 /*****************************************************************************
2374 ** xcb_input_change_pointer_device_reply_t * xcb_input_change_pointer_device_reply
2376 ** @param xcb_connection_t *c
2377 ** @param xcb_input_change_pointer_device_cookie_t cookie
2378 ** @param xcb_generic_error_t **e
2379 ** @returns xcb_input_change_pointer_device_reply_t *
2381 *****************************************************************************/
2383 xcb_input_change_pointer_device_reply_t
*
2384 xcb_input_change_pointer_device_reply (xcb_connection_t
*c
/**< */,
2385 xcb_input_change_pointer_device_cookie_t cookie
/**< */,
2386 xcb_generic_error_t
**e
/**< */)
2388 return (xcb_input_change_pointer_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
2392 xcb_input_grab_device_sizeof (const void *_buffer
/**< */)
2394 char *xcb_tmp
= (char *)_buffer
;
2395 const xcb_input_grab_device_request_t
*_aux
= (xcb_input_grab_device_request_t
*)_buffer
;
2396 unsigned int xcb_buffer_len
= 0;
2397 unsigned int xcb_block_len
= 0;
2398 unsigned int xcb_pad
= 0;
2399 unsigned int xcb_align_to
= 0;
2402 xcb_block_len
+= sizeof(xcb_input_grab_device_request_t
);
2403 xcb_tmp
+= xcb_block_len
;
2404 xcb_buffer_len
+= xcb_block_len
;
2407 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
2408 xcb_tmp
+= xcb_block_len
;
2409 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
2410 /* insert padding */
2411 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
2412 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
2419 return xcb_buffer_len
;
2423 /*****************************************************************************
2425 ** xcb_input_grab_device_cookie_t xcb_input_grab_device
2427 ** @param xcb_connection_t *c
2428 ** @param xcb_window_t grab_window
2429 ** @param xcb_timestamp_t time
2430 ** @param uint16_t num_classes
2431 ** @param uint8_t this_device_mode
2432 ** @param uint8_t other_device_mode
2433 ** @param uint8_t owner_events
2434 ** @param uint8_t device_id
2435 ** @param const xcb_input_event_class_t *classes
2436 ** @returns xcb_input_grab_device_cookie_t
2438 *****************************************************************************/
2440 xcb_input_grab_device_cookie_t
2441 xcb_input_grab_device (xcb_connection_t
*c
/**< */,
2442 xcb_window_t grab_window
/**< */,
2443 xcb_timestamp_t time
/**< */,
2444 uint16_t num_classes
/**< */,
2445 uint8_t this_device_mode
/**< */,
2446 uint8_t other_device_mode
/**< */,
2447 uint8_t owner_events
/**< */,
2448 uint8_t device_id
/**< */,
2449 const xcb_input_event_class_t
*classes
/**< */)
2451 static const xcb_protocol_request_t xcb_req
= {
2453 /* ext */ &xcb_input_id
,
2454 /* opcode */ XCB_INPUT_GRAB_DEVICE
,
2458 struct iovec xcb_parts
[6];
2459 xcb_input_grab_device_cookie_t xcb_ret
;
2460 xcb_input_grab_device_request_t xcb_out
;
2462 xcb_out
.grab_window
= grab_window
;
2463 xcb_out
.time
= time
;
2464 xcb_out
.num_classes
= num_classes
;
2465 xcb_out
.this_device_mode
= this_device_mode
;
2466 xcb_out
.other_device_mode
= other_device_mode
;
2467 xcb_out
.owner_events
= owner_events
;
2468 xcb_out
.device_id
= device_id
;
2469 memset(xcb_out
.pad0
, 0, 2);
2471 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2472 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2473 xcb_parts
[3].iov_base
= 0;
2474 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2475 /* xcb_input_event_class_t classes */
2476 xcb_parts
[4].iov_base
= (char *) classes
;
2477 xcb_parts
[4].iov_len
= num_classes
* sizeof(uint32_t);
2478 xcb_parts
[5].iov_base
= 0;
2479 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
2481 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2486 /*****************************************************************************
2488 ** xcb_input_grab_device_cookie_t xcb_input_grab_device_unchecked
2490 ** @param xcb_connection_t *c
2491 ** @param xcb_window_t grab_window
2492 ** @param xcb_timestamp_t time
2493 ** @param uint16_t num_classes
2494 ** @param uint8_t this_device_mode
2495 ** @param uint8_t other_device_mode
2496 ** @param uint8_t owner_events
2497 ** @param uint8_t device_id
2498 ** @param const xcb_input_event_class_t *classes
2499 ** @returns xcb_input_grab_device_cookie_t
2501 *****************************************************************************/
2503 xcb_input_grab_device_cookie_t
2504 xcb_input_grab_device_unchecked (xcb_connection_t
*c
/**< */,
2505 xcb_window_t grab_window
/**< */,
2506 xcb_timestamp_t time
/**< */,
2507 uint16_t num_classes
/**< */,
2508 uint8_t this_device_mode
/**< */,
2509 uint8_t other_device_mode
/**< */,
2510 uint8_t owner_events
/**< */,
2511 uint8_t device_id
/**< */,
2512 const xcb_input_event_class_t
*classes
/**< */)
2514 static const xcb_protocol_request_t xcb_req
= {
2516 /* ext */ &xcb_input_id
,
2517 /* opcode */ XCB_INPUT_GRAB_DEVICE
,
2521 struct iovec xcb_parts
[6];
2522 xcb_input_grab_device_cookie_t xcb_ret
;
2523 xcb_input_grab_device_request_t xcb_out
;
2525 xcb_out
.grab_window
= grab_window
;
2526 xcb_out
.time
= time
;
2527 xcb_out
.num_classes
= num_classes
;
2528 xcb_out
.this_device_mode
= this_device_mode
;
2529 xcb_out
.other_device_mode
= other_device_mode
;
2530 xcb_out
.owner_events
= owner_events
;
2531 xcb_out
.device_id
= device_id
;
2532 memset(xcb_out
.pad0
, 0, 2);
2534 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2535 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2536 xcb_parts
[3].iov_base
= 0;
2537 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2538 /* xcb_input_event_class_t classes */
2539 xcb_parts
[4].iov_base
= (char *) classes
;
2540 xcb_parts
[4].iov_len
= num_classes
* sizeof(uint32_t);
2541 xcb_parts
[5].iov_base
= 0;
2542 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
2544 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2549 /*****************************************************************************
2551 ** xcb_input_grab_device_reply_t * xcb_input_grab_device_reply
2553 ** @param xcb_connection_t *c
2554 ** @param xcb_input_grab_device_cookie_t cookie
2555 ** @param xcb_generic_error_t **e
2556 ** @returns xcb_input_grab_device_reply_t *
2558 *****************************************************************************/
2560 xcb_input_grab_device_reply_t
*
2561 xcb_input_grab_device_reply (xcb_connection_t
*c
/**< */,
2562 xcb_input_grab_device_cookie_t cookie
/**< */,
2563 xcb_generic_error_t
**e
/**< */)
2565 return (xcb_input_grab_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
2569 /*****************************************************************************
2571 ** xcb_void_cookie_t xcb_input_ungrab_device_checked
2573 ** @param xcb_connection_t *c
2574 ** @param xcb_timestamp_t time
2575 ** @param uint8_t device_id
2576 ** @returns xcb_void_cookie_t
2578 *****************************************************************************/
2581 xcb_input_ungrab_device_checked (xcb_connection_t
*c
/**< */,
2582 xcb_timestamp_t time
/**< */,
2583 uint8_t device_id
/**< */)
2585 static const xcb_protocol_request_t xcb_req
= {
2587 /* ext */ &xcb_input_id
,
2588 /* opcode */ XCB_INPUT_UNGRAB_DEVICE
,
2592 struct iovec xcb_parts
[4];
2593 xcb_void_cookie_t xcb_ret
;
2594 xcb_input_ungrab_device_request_t xcb_out
;
2596 xcb_out
.time
= time
;
2597 xcb_out
.device_id
= device_id
;
2599 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2600 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2601 xcb_parts
[3].iov_base
= 0;
2602 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2604 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2609 /*****************************************************************************
2611 ** xcb_void_cookie_t xcb_input_ungrab_device
2613 ** @param xcb_connection_t *c
2614 ** @param xcb_timestamp_t time
2615 ** @param uint8_t device_id
2616 ** @returns xcb_void_cookie_t
2618 *****************************************************************************/
2621 xcb_input_ungrab_device (xcb_connection_t
*c
/**< */,
2622 xcb_timestamp_t time
/**< */,
2623 uint8_t device_id
/**< */)
2625 static const xcb_protocol_request_t xcb_req
= {
2627 /* ext */ &xcb_input_id
,
2628 /* opcode */ XCB_INPUT_UNGRAB_DEVICE
,
2632 struct iovec xcb_parts
[4];
2633 xcb_void_cookie_t xcb_ret
;
2634 xcb_input_ungrab_device_request_t xcb_out
;
2636 xcb_out
.time
= time
;
2637 xcb_out
.device_id
= device_id
;
2639 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2640 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2641 xcb_parts
[3].iov_base
= 0;
2642 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2644 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2649 xcb_input_grab_device_key_sizeof (const void *_buffer
/**< */)
2651 char *xcb_tmp
= (char *)_buffer
;
2652 const xcb_input_grab_device_key_request_t
*_aux
= (xcb_input_grab_device_key_request_t
*)_buffer
;
2653 unsigned int xcb_buffer_len
= 0;
2654 unsigned int xcb_block_len
= 0;
2655 unsigned int xcb_pad
= 0;
2656 unsigned int xcb_align_to
= 0;
2659 xcb_block_len
+= sizeof(xcb_input_grab_device_key_request_t
);
2660 xcb_tmp
+= xcb_block_len
;
2661 xcb_buffer_len
+= xcb_block_len
;
2664 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
2665 xcb_tmp
+= xcb_block_len
;
2666 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
2667 /* insert padding */
2668 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
2669 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
2676 return xcb_buffer_len
;
2680 /*****************************************************************************
2682 ** xcb_void_cookie_t xcb_input_grab_device_key_checked
2684 ** @param xcb_connection_t *c
2685 ** @param xcb_window_t grab_window
2686 ** @param uint16_t num_classes
2687 ** @param uint16_t modifiers
2688 ** @param uint8_t modifier_device
2689 ** @param uint8_t grabbed_device
2690 ** @param uint8_t key
2691 ** @param uint8_t this_device_mode
2692 ** @param uint8_t other_device_mode
2693 ** @param uint8_t owner_events
2694 ** @param const xcb_input_event_class_t *classes
2695 ** @returns xcb_void_cookie_t
2697 *****************************************************************************/
2700 xcb_input_grab_device_key_checked (xcb_connection_t
*c
/**< */,
2701 xcb_window_t grab_window
/**< */,
2702 uint16_t num_classes
/**< */,
2703 uint16_t modifiers
/**< */,
2704 uint8_t modifier_device
/**< */,
2705 uint8_t grabbed_device
/**< */,
2706 uint8_t key
/**< */,
2707 uint8_t this_device_mode
/**< */,
2708 uint8_t other_device_mode
/**< */,
2709 uint8_t owner_events
/**< */,
2710 const xcb_input_event_class_t
*classes
/**< */)
2712 static const xcb_protocol_request_t xcb_req
= {
2714 /* ext */ &xcb_input_id
,
2715 /* opcode */ XCB_INPUT_GRAB_DEVICE_KEY
,
2719 struct iovec xcb_parts
[6];
2720 xcb_void_cookie_t xcb_ret
;
2721 xcb_input_grab_device_key_request_t xcb_out
;
2723 xcb_out
.grab_window
= grab_window
;
2724 xcb_out
.num_classes
= num_classes
;
2725 xcb_out
.modifiers
= modifiers
;
2726 xcb_out
.modifier_device
= modifier_device
;
2727 xcb_out
.grabbed_device
= grabbed_device
;
2729 xcb_out
.this_device_mode
= this_device_mode
;
2730 xcb_out
.other_device_mode
= other_device_mode
;
2731 xcb_out
.owner_events
= owner_events
;
2732 memset(xcb_out
.pad0
, 0, 2);
2734 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2735 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2736 xcb_parts
[3].iov_base
= 0;
2737 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2738 /* xcb_input_event_class_t classes */
2739 xcb_parts
[4].iov_base
= (char *) classes
;
2740 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
2741 xcb_parts
[5].iov_base
= 0;
2742 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
2744 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2749 /*****************************************************************************
2751 ** xcb_void_cookie_t xcb_input_grab_device_key
2753 ** @param xcb_connection_t *c
2754 ** @param xcb_window_t grab_window
2755 ** @param uint16_t num_classes
2756 ** @param uint16_t modifiers
2757 ** @param uint8_t modifier_device
2758 ** @param uint8_t grabbed_device
2759 ** @param uint8_t key
2760 ** @param uint8_t this_device_mode
2761 ** @param uint8_t other_device_mode
2762 ** @param uint8_t owner_events
2763 ** @param const xcb_input_event_class_t *classes
2764 ** @returns xcb_void_cookie_t
2766 *****************************************************************************/
2769 xcb_input_grab_device_key (xcb_connection_t
*c
/**< */,
2770 xcb_window_t grab_window
/**< */,
2771 uint16_t num_classes
/**< */,
2772 uint16_t modifiers
/**< */,
2773 uint8_t modifier_device
/**< */,
2774 uint8_t grabbed_device
/**< */,
2775 uint8_t key
/**< */,
2776 uint8_t this_device_mode
/**< */,
2777 uint8_t other_device_mode
/**< */,
2778 uint8_t owner_events
/**< */,
2779 const xcb_input_event_class_t
*classes
/**< */)
2781 static const xcb_protocol_request_t xcb_req
= {
2783 /* ext */ &xcb_input_id
,
2784 /* opcode */ XCB_INPUT_GRAB_DEVICE_KEY
,
2788 struct iovec xcb_parts
[6];
2789 xcb_void_cookie_t xcb_ret
;
2790 xcb_input_grab_device_key_request_t xcb_out
;
2792 xcb_out
.grab_window
= grab_window
;
2793 xcb_out
.num_classes
= num_classes
;
2794 xcb_out
.modifiers
= modifiers
;
2795 xcb_out
.modifier_device
= modifier_device
;
2796 xcb_out
.grabbed_device
= grabbed_device
;
2798 xcb_out
.this_device_mode
= this_device_mode
;
2799 xcb_out
.other_device_mode
= other_device_mode
;
2800 xcb_out
.owner_events
= owner_events
;
2801 memset(xcb_out
.pad0
, 0, 2);
2803 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2804 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2805 xcb_parts
[3].iov_base
= 0;
2806 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2807 /* xcb_input_event_class_t classes */
2808 xcb_parts
[4].iov_base
= (char *) classes
;
2809 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
2810 xcb_parts
[5].iov_base
= 0;
2811 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
2813 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2818 /*****************************************************************************
2820 ** xcb_void_cookie_t xcb_input_ungrab_device_key_checked
2822 ** @param xcb_connection_t *c
2823 ** @param xcb_window_t grabWindow
2824 ** @param uint16_t modifiers
2825 ** @param uint8_t modifier_device
2826 ** @param uint8_t key
2827 ** @param uint8_t grabbed_device
2828 ** @returns xcb_void_cookie_t
2830 *****************************************************************************/
2833 xcb_input_ungrab_device_key_checked (xcb_connection_t
*c
/**< */,
2834 xcb_window_t grabWindow
/**< */,
2835 uint16_t modifiers
/**< */,
2836 uint8_t modifier_device
/**< */,
2837 uint8_t key
/**< */,
2838 uint8_t grabbed_device
/**< */)
2840 static const xcb_protocol_request_t xcb_req
= {
2842 /* ext */ &xcb_input_id
,
2843 /* opcode */ XCB_INPUT_UNGRAB_DEVICE_KEY
,
2847 struct iovec xcb_parts
[4];
2848 xcb_void_cookie_t xcb_ret
;
2849 xcb_input_ungrab_device_key_request_t xcb_out
;
2851 xcb_out
.grabWindow
= grabWindow
;
2852 xcb_out
.modifiers
= modifiers
;
2853 xcb_out
.modifier_device
= modifier_device
;
2855 xcb_out
.grabbed_device
= grabbed_device
;
2857 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2858 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2859 xcb_parts
[3].iov_base
= 0;
2860 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2862 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
2867 /*****************************************************************************
2869 ** xcb_void_cookie_t xcb_input_ungrab_device_key
2871 ** @param xcb_connection_t *c
2872 ** @param xcb_window_t grabWindow
2873 ** @param uint16_t modifiers
2874 ** @param uint8_t modifier_device
2875 ** @param uint8_t key
2876 ** @param uint8_t grabbed_device
2877 ** @returns xcb_void_cookie_t
2879 *****************************************************************************/
2882 xcb_input_ungrab_device_key (xcb_connection_t
*c
/**< */,
2883 xcb_window_t grabWindow
/**< */,
2884 uint16_t modifiers
/**< */,
2885 uint8_t modifier_device
/**< */,
2886 uint8_t key
/**< */,
2887 uint8_t grabbed_device
/**< */)
2889 static const xcb_protocol_request_t xcb_req
= {
2891 /* ext */ &xcb_input_id
,
2892 /* opcode */ XCB_INPUT_UNGRAB_DEVICE_KEY
,
2896 struct iovec xcb_parts
[4];
2897 xcb_void_cookie_t xcb_ret
;
2898 xcb_input_ungrab_device_key_request_t xcb_out
;
2900 xcb_out
.grabWindow
= grabWindow
;
2901 xcb_out
.modifiers
= modifiers
;
2902 xcb_out
.modifier_device
= modifier_device
;
2904 xcb_out
.grabbed_device
= grabbed_device
;
2906 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
2907 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
2908 xcb_parts
[3].iov_base
= 0;
2909 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
2911 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
2916 xcb_input_grab_device_button_sizeof (const void *_buffer
/**< */)
2918 char *xcb_tmp
= (char *)_buffer
;
2919 const xcb_input_grab_device_button_request_t
*_aux
= (xcb_input_grab_device_button_request_t
*)_buffer
;
2920 unsigned int xcb_buffer_len
= 0;
2921 unsigned int xcb_block_len
= 0;
2922 unsigned int xcb_pad
= 0;
2923 unsigned int xcb_align_to
= 0;
2926 xcb_block_len
+= sizeof(xcb_input_grab_device_button_request_t
);
2927 xcb_tmp
+= xcb_block_len
;
2928 xcb_buffer_len
+= xcb_block_len
;
2931 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
2932 xcb_tmp
+= xcb_block_len
;
2933 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
2934 /* insert padding */
2935 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
2936 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
2943 return xcb_buffer_len
;
2947 /*****************************************************************************
2949 ** xcb_void_cookie_t xcb_input_grab_device_button_checked
2951 ** @param xcb_connection_t *c
2952 ** @param xcb_window_t grab_window
2953 ** @param uint8_t grabbed_device
2954 ** @param uint8_t modifier_device
2955 ** @param uint16_t num_classes
2956 ** @param uint16_t modifiers
2957 ** @param uint8_t this_device_mode
2958 ** @param uint8_t other_device_mode
2959 ** @param uint8_t button
2960 ** @param uint8_t owner_events
2961 ** @param const xcb_input_event_class_t *classes
2962 ** @returns xcb_void_cookie_t
2964 *****************************************************************************/
2967 xcb_input_grab_device_button_checked (xcb_connection_t
*c
/**< */,
2968 xcb_window_t grab_window
/**< */,
2969 uint8_t grabbed_device
/**< */,
2970 uint8_t modifier_device
/**< */,
2971 uint16_t num_classes
/**< */,
2972 uint16_t modifiers
/**< */,
2973 uint8_t this_device_mode
/**< */,
2974 uint8_t other_device_mode
/**< */,
2975 uint8_t button
/**< */,
2976 uint8_t owner_events
/**< */,
2977 const xcb_input_event_class_t
*classes
/**< */)
2979 static const xcb_protocol_request_t xcb_req
= {
2981 /* ext */ &xcb_input_id
,
2982 /* opcode */ XCB_INPUT_GRAB_DEVICE_BUTTON
,
2986 struct iovec xcb_parts
[6];
2987 xcb_void_cookie_t xcb_ret
;
2988 xcb_input_grab_device_button_request_t xcb_out
;
2990 xcb_out
.grab_window
= grab_window
;
2991 xcb_out
.grabbed_device
= grabbed_device
;
2992 xcb_out
.modifier_device
= modifier_device
;
2993 xcb_out
.num_classes
= num_classes
;
2994 xcb_out
.modifiers
= modifiers
;
2995 xcb_out
.this_device_mode
= this_device_mode
;
2996 xcb_out
.other_device_mode
= other_device_mode
;
2997 xcb_out
.button
= button
;
2998 xcb_out
.owner_events
= owner_events
;
2999 memset(xcb_out
.pad0
, 0, 2);
3001 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3002 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3003 xcb_parts
[3].iov_base
= 0;
3004 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3005 /* xcb_input_event_class_t classes */
3006 xcb_parts
[4].iov_base
= (char *) classes
;
3007 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
3008 xcb_parts
[5].iov_base
= 0;
3009 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
3011 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
3016 /*****************************************************************************
3018 ** xcb_void_cookie_t xcb_input_grab_device_button
3020 ** @param xcb_connection_t *c
3021 ** @param xcb_window_t grab_window
3022 ** @param uint8_t grabbed_device
3023 ** @param uint8_t modifier_device
3024 ** @param uint16_t num_classes
3025 ** @param uint16_t modifiers
3026 ** @param uint8_t this_device_mode
3027 ** @param uint8_t other_device_mode
3028 ** @param uint8_t button
3029 ** @param uint8_t owner_events
3030 ** @param const xcb_input_event_class_t *classes
3031 ** @returns xcb_void_cookie_t
3033 *****************************************************************************/
3036 xcb_input_grab_device_button (xcb_connection_t
*c
/**< */,
3037 xcb_window_t grab_window
/**< */,
3038 uint8_t grabbed_device
/**< */,
3039 uint8_t modifier_device
/**< */,
3040 uint16_t num_classes
/**< */,
3041 uint16_t modifiers
/**< */,
3042 uint8_t this_device_mode
/**< */,
3043 uint8_t other_device_mode
/**< */,
3044 uint8_t button
/**< */,
3045 uint8_t owner_events
/**< */,
3046 const xcb_input_event_class_t
*classes
/**< */)
3048 static const xcb_protocol_request_t xcb_req
= {
3050 /* ext */ &xcb_input_id
,
3051 /* opcode */ XCB_INPUT_GRAB_DEVICE_BUTTON
,
3055 struct iovec xcb_parts
[6];
3056 xcb_void_cookie_t xcb_ret
;
3057 xcb_input_grab_device_button_request_t xcb_out
;
3059 xcb_out
.grab_window
= grab_window
;
3060 xcb_out
.grabbed_device
= grabbed_device
;
3061 xcb_out
.modifier_device
= modifier_device
;
3062 xcb_out
.num_classes
= num_classes
;
3063 xcb_out
.modifiers
= modifiers
;
3064 xcb_out
.this_device_mode
= this_device_mode
;
3065 xcb_out
.other_device_mode
= other_device_mode
;
3066 xcb_out
.button
= button
;
3067 xcb_out
.owner_events
= owner_events
;
3068 memset(xcb_out
.pad0
, 0, 2);
3070 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3071 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3072 xcb_parts
[3].iov_base
= 0;
3073 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3074 /* xcb_input_event_class_t classes */
3075 xcb_parts
[4].iov_base
= (char *) classes
;
3076 xcb_parts
[4].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
3077 xcb_parts
[5].iov_base
= 0;
3078 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
3080 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
3085 /*****************************************************************************
3087 ** xcb_void_cookie_t xcb_input_ungrab_device_button_checked
3089 ** @param xcb_connection_t *c
3090 ** @param xcb_window_t grab_window
3091 ** @param uint16_t modifiers
3092 ** @param uint8_t modifier_device
3093 ** @param uint8_t button
3094 ** @param uint8_t grabbed_device
3095 ** @returns xcb_void_cookie_t
3097 *****************************************************************************/
3100 xcb_input_ungrab_device_button_checked (xcb_connection_t
*c
/**< */,
3101 xcb_window_t grab_window
/**< */,
3102 uint16_t modifiers
/**< */,
3103 uint8_t modifier_device
/**< */,
3104 uint8_t button
/**< */,
3105 uint8_t grabbed_device
/**< */)
3107 static const xcb_protocol_request_t xcb_req
= {
3109 /* ext */ &xcb_input_id
,
3110 /* opcode */ XCB_INPUT_UNGRAB_DEVICE_BUTTON
,
3114 struct iovec xcb_parts
[4];
3115 xcb_void_cookie_t xcb_ret
;
3116 xcb_input_ungrab_device_button_request_t xcb_out
;
3118 xcb_out
.grab_window
= grab_window
;
3119 xcb_out
.modifiers
= modifiers
;
3120 xcb_out
.modifier_device
= modifier_device
;
3121 xcb_out
.button
= button
;
3122 xcb_out
.grabbed_device
= grabbed_device
;
3124 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3125 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3126 xcb_parts
[3].iov_base
= 0;
3127 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3129 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
3134 /*****************************************************************************
3136 ** xcb_void_cookie_t xcb_input_ungrab_device_button
3138 ** @param xcb_connection_t *c
3139 ** @param xcb_window_t grab_window
3140 ** @param uint16_t modifiers
3141 ** @param uint8_t modifier_device
3142 ** @param uint8_t button
3143 ** @param uint8_t grabbed_device
3144 ** @returns xcb_void_cookie_t
3146 *****************************************************************************/
3149 xcb_input_ungrab_device_button (xcb_connection_t
*c
/**< */,
3150 xcb_window_t grab_window
/**< */,
3151 uint16_t modifiers
/**< */,
3152 uint8_t modifier_device
/**< */,
3153 uint8_t button
/**< */,
3154 uint8_t grabbed_device
/**< */)
3156 static const xcb_protocol_request_t xcb_req
= {
3158 /* ext */ &xcb_input_id
,
3159 /* opcode */ XCB_INPUT_UNGRAB_DEVICE_BUTTON
,
3163 struct iovec xcb_parts
[4];
3164 xcb_void_cookie_t xcb_ret
;
3165 xcb_input_ungrab_device_button_request_t xcb_out
;
3167 xcb_out
.grab_window
= grab_window
;
3168 xcb_out
.modifiers
= modifiers
;
3169 xcb_out
.modifier_device
= modifier_device
;
3170 xcb_out
.button
= button
;
3171 xcb_out
.grabbed_device
= grabbed_device
;
3173 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3174 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3175 xcb_parts
[3].iov_base
= 0;
3176 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3178 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
3183 /*****************************************************************************
3185 ** xcb_void_cookie_t xcb_input_allow_device_events_checked
3187 ** @param xcb_connection_t *c
3188 ** @param xcb_timestamp_t time
3189 ** @param uint8_t mode
3190 ** @param uint8_t device_id
3191 ** @returns xcb_void_cookie_t
3193 *****************************************************************************/
3196 xcb_input_allow_device_events_checked (xcb_connection_t
*c
/**< */,
3197 xcb_timestamp_t time
/**< */,
3198 uint8_t mode
/**< */,
3199 uint8_t device_id
/**< */)
3201 static const xcb_protocol_request_t xcb_req
= {
3203 /* ext */ &xcb_input_id
,
3204 /* opcode */ XCB_INPUT_ALLOW_DEVICE_EVENTS
,
3208 struct iovec xcb_parts
[4];
3209 xcb_void_cookie_t xcb_ret
;
3210 xcb_input_allow_device_events_request_t xcb_out
;
3212 xcb_out
.time
= time
;
3213 xcb_out
.mode
= mode
;
3214 xcb_out
.device_id
= device_id
;
3216 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3217 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3218 xcb_parts
[3].iov_base
= 0;
3219 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3221 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
3226 /*****************************************************************************
3228 ** xcb_void_cookie_t xcb_input_allow_device_events
3230 ** @param xcb_connection_t *c
3231 ** @param xcb_timestamp_t time
3232 ** @param uint8_t mode
3233 ** @param uint8_t device_id
3234 ** @returns xcb_void_cookie_t
3236 *****************************************************************************/
3239 xcb_input_allow_device_events (xcb_connection_t
*c
/**< */,
3240 xcb_timestamp_t time
/**< */,
3241 uint8_t mode
/**< */,
3242 uint8_t device_id
/**< */)
3244 static const xcb_protocol_request_t xcb_req
= {
3246 /* ext */ &xcb_input_id
,
3247 /* opcode */ XCB_INPUT_ALLOW_DEVICE_EVENTS
,
3251 struct iovec xcb_parts
[4];
3252 xcb_void_cookie_t xcb_ret
;
3253 xcb_input_allow_device_events_request_t xcb_out
;
3255 xcb_out
.time
= time
;
3256 xcb_out
.mode
= mode
;
3257 xcb_out
.device_id
= device_id
;
3259 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3260 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3261 xcb_parts
[3].iov_base
= 0;
3262 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3264 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
3269 /*****************************************************************************
3271 ** xcb_input_get_device_focus_cookie_t xcb_input_get_device_focus
3273 ** @param xcb_connection_t *c
3274 ** @param uint8_t device_id
3275 ** @returns xcb_input_get_device_focus_cookie_t
3277 *****************************************************************************/
3279 xcb_input_get_device_focus_cookie_t
3280 xcb_input_get_device_focus (xcb_connection_t
*c
/**< */,
3281 uint8_t device_id
/**< */)
3283 static const xcb_protocol_request_t xcb_req
= {
3285 /* ext */ &xcb_input_id
,
3286 /* opcode */ XCB_INPUT_GET_DEVICE_FOCUS
,
3290 struct iovec xcb_parts
[4];
3291 xcb_input_get_device_focus_cookie_t xcb_ret
;
3292 xcb_input_get_device_focus_request_t xcb_out
;
3294 xcb_out
.device_id
= device_id
;
3295 memset(xcb_out
.pad0
, 0, 3);
3297 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3298 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3299 xcb_parts
[3].iov_base
= 0;
3300 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3302 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
3307 /*****************************************************************************
3309 ** xcb_input_get_device_focus_cookie_t xcb_input_get_device_focus_unchecked
3311 ** @param xcb_connection_t *c
3312 ** @param uint8_t device_id
3313 ** @returns xcb_input_get_device_focus_cookie_t
3315 *****************************************************************************/
3317 xcb_input_get_device_focus_cookie_t
3318 xcb_input_get_device_focus_unchecked (xcb_connection_t
*c
/**< */,
3319 uint8_t device_id
/**< */)
3321 static const xcb_protocol_request_t xcb_req
= {
3323 /* ext */ &xcb_input_id
,
3324 /* opcode */ XCB_INPUT_GET_DEVICE_FOCUS
,
3328 struct iovec xcb_parts
[4];
3329 xcb_input_get_device_focus_cookie_t xcb_ret
;
3330 xcb_input_get_device_focus_request_t xcb_out
;
3332 xcb_out
.device_id
= device_id
;
3333 memset(xcb_out
.pad0
, 0, 3);
3335 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3336 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3337 xcb_parts
[3].iov_base
= 0;
3338 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3340 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
3345 /*****************************************************************************
3347 ** xcb_input_get_device_focus_reply_t * xcb_input_get_device_focus_reply
3349 ** @param xcb_connection_t *c
3350 ** @param xcb_input_get_device_focus_cookie_t cookie
3351 ** @param xcb_generic_error_t **e
3352 ** @returns xcb_input_get_device_focus_reply_t *
3354 *****************************************************************************/
3356 xcb_input_get_device_focus_reply_t
*
3357 xcb_input_get_device_focus_reply (xcb_connection_t
*c
/**< */,
3358 xcb_input_get_device_focus_cookie_t cookie
/**< */,
3359 xcb_generic_error_t
**e
/**< */)
3361 return (xcb_input_get_device_focus_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
3365 /*****************************************************************************
3367 ** xcb_void_cookie_t xcb_input_set_device_focus_checked
3369 ** @param xcb_connection_t *c
3370 ** @param xcb_window_t focus
3371 ** @param xcb_timestamp_t time
3372 ** @param uint8_t revert_to
3373 ** @param uint8_t device_id
3374 ** @returns xcb_void_cookie_t
3376 *****************************************************************************/
3379 xcb_input_set_device_focus_checked (xcb_connection_t
*c
/**< */,
3380 xcb_window_t focus
/**< */,
3381 xcb_timestamp_t time
/**< */,
3382 uint8_t revert_to
/**< */,
3383 uint8_t device_id
/**< */)
3385 static const xcb_protocol_request_t xcb_req
= {
3387 /* ext */ &xcb_input_id
,
3388 /* opcode */ XCB_INPUT_SET_DEVICE_FOCUS
,
3392 struct iovec xcb_parts
[4];
3393 xcb_void_cookie_t xcb_ret
;
3394 xcb_input_set_device_focus_request_t xcb_out
;
3396 xcb_out
.focus
= focus
;
3397 xcb_out
.time
= time
;
3398 xcb_out
.revert_to
= revert_to
;
3399 xcb_out
.device_id
= device_id
;
3401 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3402 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3403 xcb_parts
[3].iov_base
= 0;
3404 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3406 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
3411 /*****************************************************************************
3413 ** xcb_void_cookie_t xcb_input_set_device_focus
3415 ** @param xcb_connection_t *c
3416 ** @param xcb_window_t focus
3417 ** @param xcb_timestamp_t time
3418 ** @param uint8_t revert_to
3419 ** @param uint8_t device_id
3420 ** @returns xcb_void_cookie_t
3422 *****************************************************************************/
3425 xcb_input_set_device_focus (xcb_connection_t
*c
/**< */,
3426 xcb_window_t focus
/**< */,
3427 xcb_timestamp_t time
/**< */,
3428 uint8_t revert_to
/**< */,
3429 uint8_t device_id
/**< */)
3431 static const xcb_protocol_request_t xcb_req
= {
3433 /* ext */ &xcb_input_id
,
3434 /* opcode */ XCB_INPUT_SET_DEVICE_FOCUS
,
3438 struct iovec xcb_parts
[4];
3439 xcb_void_cookie_t xcb_ret
;
3440 xcb_input_set_device_focus_request_t xcb_out
;
3442 xcb_out
.focus
= focus
;
3443 xcb_out
.time
= time
;
3444 xcb_out
.revert_to
= revert_to
;
3445 xcb_out
.device_id
= device_id
;
3447 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3448 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3449 xcb_parts
[3].iov_base
= 0;
3450 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3452 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
3457 /*****************************************************************************
3459 ** void xcb_input_kbd_feedback_state_next
3461 ** @param xcb_input_kbd_feedback_state_iterator_t *i
3464 *****************************************************************************/
3467 xcb_input_kbd_feedback_state_next (xcb_input_kbd_feedback_state_iterator_t
*i
/**< */)
3471 i
->index
+= sizeof(xcb_input_kbd_feedback_state_t
);
3475 /*****************************************************************************
3477 ** xcb_generic_iterator_t xcb_input_kbd_feedback_state_end
3479 ** @param xcb_input_kbd_feedback_state_iterator_t i
3480 ** @returns xcb_generic_iterator_t
3482 *****************************************************************************/
3484 xcb_generic_iterator_t
3485 xcb_input_kbd_feedback_state_end (xcb_input_kbd_feedback_state_iterator_t i
/**< */)
3487 xcb_generic_iterator_t ret
;
3488 ret
.data
= i
.data
+ i
.rem
;
3489 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
3495 /*****************************************************************************
3497 ** void xcb_input_ptr_feedback_state_next
3499 ** @param xcb_input_ptr_feedback_state_iterator_t *i
3502 *****************************************************************************/
3505 xcb_input_ptr_feedback_state_next (xcb_input_ptr_feedback_state_iterator_t
*i
/**< */)
3509 i
->index
+= sizeof(xcb_input_ptr_feedback_state_t
);
3513 /*****************************************************************************
3515 ** xcb_generic_iterator_t xcb_input_ptr_feedback_state_end
3517 ** @param xcb_input_ptr_feedback_state_iterator_t i
3518 ** @returns xcb_generic_iterator_t
3520 *****************************************************************************/
3522 xcb_generic_iterator_t
3523 xcb_input_ptr_feedback_state_end (xcb_input_ptr_feedback_state_iterator_t i
/**< */)
3525 xcb_generic_iterator_t ret
;
3526 ret
.data
= i
.data
+ i
.rem
;
3527 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
3533 /*****************************************************************************
3535 ** void xcb_input_integer_feedback_state_next
3537 ** @param xcb_input_integer_feedback_state_iterator_t *i
3540 *****************************************************************************/
3543 xcb_input_integer_feedback_state_next (xcb_input_integer_feedback_state_iterator_t
*i
/**< */)
3547 i
->index
+= sizeof(xcb_input_integer_feedback_state_t
);
3551 /*****************************************************************************
3553 ** xcb_generic_iterator_t xcb_input_integer_feedback_state_end
3555 ** @param xcb_input_integer_feedback_state_iterator_t i
3556 ** @returns xcb_generic_iterator_t
3558 *****************************************************************************/
3560 xcb_generic_iterator_t
3561 xcb_input_integer_feedback_state_end (xcb_input_integer_feedback_state_iterator_t i
/**< */)
3563 xcb_generic_iterator_t ret
;
3564 ret
.data
= i
.data
+ i
.rem
;
3565 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
3571 xcb_input_string_feedback_state_sizeof (const void *_buffer
/**< */)
3573 char *xcb_tmp
= (char *)_buffer
;
3574 const xcb_input_string_feedback_state_t
*_aux
= (xcb_input_string_feedback_state_t
*)_buffer
;
3575 unsigned int xcb_buffer_len
= 0;
3576 unsigned int xcb_block_len
= 0;
3577 unsigned int xcb_pad
= 0;
3578 unsigned int xcb_align_to
= 0;
3581 xcb_block_len
+= sizeof(xcb_input_string_feedback_state_t
);
3582 xcb_tmp
+= xcb_block_len
;
3583 xcb_buffer_len
+= xcb_block_len
;
3586 xcb_block_len
+= _aux
->num_keysyms
* sizeof(xcb_keysym_t
);
3587 xcb_tmp
+= xcb_block_len
;
3588 xcb_align_to
= ALIGNOF(xcb_keysym_t
);
3589 /* insert padding */
3590 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
3591 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
3598 return xcb_buffer_len
;
3602 /*****************************************************************************
3604 ** xcb_keysym_t * xcb_input_string_feedback_state_keysyms
3606 ** @param const xcb_input_string_feedback_state_t *R
3607 ** @returns xcb_keysym_t *
3609 *****************************************************************************/
3612 xcb_input_string_feedback_state_keysyms (const xcb_input_string_feedback_state_t
*R
/**< */)
3614 return (xcb_keysym_t
*) (R
+ 1);
3618 /*****************************************************************************
3620 ** int xcb_input_string_feedback_state_keysyms_length
3622 ** @param const xcb_input_string_feedback_state_t *R
3625 *****************************************************************************/
3628 xcb_input_string_feedback_state_keysyms_length (const xcb_input_string_feedback_state_t
*R
/**< */)
3630 return R
->num_keysyms
;
3634 /*****************************************************************************
3636 ** xcb_generic_iterator_t xcb_input_string_feedback_state_keysyms_end
3638 ** @param const xcb_input_string_feedback_state_t *R
3639 ** @returns xcb_generic_iterator_t
3641 *****************************************************************************/
3643 xcb_generic_iterator_t
3644 xcb_input_string_feedback_state_keysyms_end (const xcb_input_string_feedback_state_t
*R
/**< */)
3646 xcb_generic_iterator_t i
;
3647 i
.data
= ((xcb_keysym_t
*) (R
+ 1)) + (R
->num_keysyms
);
3649 i
.index
= (char *) i
.data
- (char *) R
;
3654 /*****************************************************************************
3656 ** void xcb_input_string_feedback_state_next
3658 ** @param xcb_input_string_feedback_state_iterator_t *i
3661 *****************************************************************************/
3664 xcb_input_string_feedback_state_next (xcb_input_string_feedback_state_iterator_t
*i
/**< */)
3666 xcb_input_string_feedback_state_t
*R
= i
->data
;
3667 xcb_generic_iterator_t child
;
3668 child
.data
= (xcb_input_string_feedback_state_t
*)(((char *)R
) + xcb_input_string_feedback_state_sizeof(R
));
3669 i
->index
= (char *) child
.data
- (char *) i
->data
;
3671 i
->data
= (xcb_input_string_feedback_state_t
*) child
.data
;
3675 /*****************************************************************************
3677 ** xcb_generic_iterator_t xcb_input_string_feedback_state_end
3679 ** @param xcb_input_string_feedback_state_iterator_t i
3680 ** @returns xcb_generic_iterator_t
3682 *****************************************************************************/
3684 xcb_generic_iterator_t
3685 xcb_input_string_feedback_state_end (xcb_input_string_feedback_state_iterator_t i
/**< */)
3687 xcb_generic_iterator_t ret
;
3689 xcb_input_string_feedback_state_next(&i
);
3692 ret
.index
= i
.index
;
3697 /*****************************************************************************
3699 ** void xcb_input_bell_feedback_state_next
3701 ** @param xcb_input_bell_feedback_state_iterator_t *i
3704 *****************************************************************************/
3707 xcb_input_bell_feedback_state_next (xcb_input_bell_feedback_state_iterator_t
*i
/**< */)
3711 i
->index
+= sizeof(xcb_input_bell_feedback_state_t
);
3715 /*****************************************************************************
3717 ** xcb_generic_iterator_t xcb_input_bell_feedback_state_end
3719 ** @param xcb_input_bell_feedback_state_iterator_t i
3720 ** @returns xcb_generic_iterator_t
3722 *****************************************************************************/
3724 xcb_generic_iterator_t
3725 xcb_input_bell_feedback_state_end (xcb_input_bell_feedback_state_iterator_t i
/**< */)
3727 xcb_generic_iterator_t ret
;
3728 ret
.data
= i
.data
+ i
.rem
;
3729 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
3735 /*****************************************************************************
3737 ** void xcb_input_led_feedback_state_next
3739 ** @param xcb_input_led_feedback_state_iterator_t *i
3742 *****************************************************************************/
3745 xcb_input_led_feedback_state_next (xcb_input_led_feedback_state_iterator_t
*i
/**< */)
3749 i
->index
+= sizeof(xcb_input_led_feedback_state_t
);
3753 /*****************************************************************************
3755 ** xcb_generic_iterator_t xcb_input_led_feedback_state_end
3757 ** @param xcb_input_led_feedback_state_iterator_t i
3758 ** @returns xcb_generic_iterator_t
3760 *****************************************************************************/
3762 xcb_generic_iterator_t
3763 xcb_input_led_feedback_state_end (xcb_input_led_feedback_state_iterator_t i
/**< */)
3765 xcb_generic_iterator_t ret
;
3766 ret
.data
= i
.data
+ i
.rem
;
3767 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
3773 xcb_input_feedback_state_sizeof (const void *_buffer
/**< */)
3775 char *xcb_tmp
= (char *)_buffer
;
3776 const xcb_input_feedback_state_t
*_aux
= (xcb_input_feedback_state_t
*)_buffer
;
3777 unsigned int xcb_buffer_len
= 0;
3778 unsigned int xcb_block_len
= 0;
3779 unsigned int xcb_pad
= 0;
3780 unsigned int xcb_align_to
= 0;
3783 xcb_block_len
+= sizeof(xcb_input_feedback_state_t
);
3784 xcb_tmp
+= xcb_block_len
;
3785 xcb_buffer_len
+= xcb_block_len
;
3787 /* uninterpreted_data */
3788 xcb_block_len
+= (_aux
->len
- 4) * sizeof(uint8_t);
3789 xcb_tmp
+= xcb_block_len
;
3790 xcb_align_to
= ALIGNOF(uint8_t);
3791 /* insert padding */
3792 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
3793 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
3800 return xcb_buffer_len
;
3804 /*****************************************************************************
3806 ** uint8_t * xcb_input_feedback_state_uninterpreted_data
3808 ** @param const xcb_input_feedback_state_t *R
3809 ** @returns uint8_t *
3811 *****************************************************************************/
3814 xcb_input_feedback_state_uninterpreted_data (const xcb_input_feedback_state_t
*R
/**< */)
3816 return (uint8_t *) (R
+ 1);
3820 /*****************************************************************************
3822 ** int xcb_input_feedback_state_uninterpreted_data_length
3824 ** @param const xcb_input_feedback_state_t *R
3827 *****************************************************************************/
3830 xcb_input_feedback_state_uninterpreted_data_length (const xcb_input_feedback_state_t
*R
/**< */)
3832 return (R
->len
- 4);
3836 /*****************************************************************************
3838 ** xcb_generic_iterator_t xcb_input_feedback_state_uninterpreted_data_end
3840 ** @param const xcb_input_feedback_state_t *R
3841 ** @returns xcb_generic_iterator_t
3843 *****************************************************************************/
3845 xcb_generic_iterator_t
3846 xcb_input_feedback_state_uninterpreted_data_end (const xcb_input_feedback_state_t
*R
/**< */)
3848 xcb_generic_iterator_t i
;
3849 i
.data
= ((uint8_t *) (R
+ 1)) + ((R
->len
- 4));
3851 i
.index
= (char *) i
.data
- (char *) R
;
3856 /*****************************************************************************
3858 ** void xcb_input_feedback_state_next
3860 ** @param xcb_input_feedback_state_iterator_t *i
3863 *****************************************************************************/
3866 xcb_input_feedback_state_next (xcb_input_feedback_state_iterator_t
*i
/**< */)
3868 xcb_input_feedback_state_t
*R
= i
->data
;
3869 xcb_generic_iterator_t child
;
3870 child
.data
= (xcb_input_feedback_state_t
*)(((char *)R
) + xcb_input_feedback_state_sizeof(R
));
3871 i
->index
= (char *) child
.data
- (char *) i
->data
;
3873 i
->data
= (xcb_input_feedback_state_t
*) child
.data
;
3877 /*****************************************************************************
3879 ** xcb_generic_iterator_t xcb_input_feedback_state_end
3881 ** @param xcb_input_feedback_state_iterator_t i
3882 ** @returns xcb_generic_iterator_t
3884 *****************************************************************************/
3886 xcb_generic_iterator_t
3887 xcb_input_feedback_state_end (xcb_input_feedback_state_iterator_t i
/**< */)
3889 xcb_generic_iterator_t ret
;
3891 xcb_input_feedback_state_next(&i
);
3894 ret
.index
= i
.index
;
3899 xcb_input_get_feedback_control_sizeof (const void *_buffer
/**< */)
3901 char *xcb_tmp
= (char *)_buffer
;
3902 const xcb_input_get_feedback_control_reply_t
*_aux
= (xcb_input_get_feedback_control_reply_t
*)_buffer
;
3903 unsigned int xcb_buffer_len
= 0;
3904 unsigned int xcb_block_len
= 0;
3905 unsigned int xcb_pad
= 0;
3906 unsigned int xcb_align_to
= 0;
3909 unsigned int xcb_tmp_len
;
3911 xcb_block_len
+= sizeof(xcb_input_get_feedback_control_reply_t
);
3912 xcb_tmp
+= xcb_block_len
;
3913 xcb_buffer_len
+= xcb_block_len
;
3916 for(i
=0; i
<_aux
->num_feedbacks
; i
++) {
3917 xcb_tmp_len
= xcb_input_feedback_state_sizeof(xcb_tmp
);
3918 xcb_block_len
+= xcb_tmp_len
;
3919 xcb_tmp
+= xcb_tmp_len
;
3921 xcb_align_to
= ALIGNOF(xcb_input_feedback_state_t
);
3922 /* insert padding */
3923 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
3924 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
3931 return xcb_buffer_len
;
3935 /*****************************************************************************
3937 ** xcb_input_get_feedback_control_cookie_t xcb_input_get_feedback_control
3939 ** @param xcb_connection_t *c
3940 ** @param uint8_t device_id
3941 ** @returns xcb_input_get_feedback_control_cookie_t
3943 *****************************************************************************/
3945 xcb_input_get_feedback_control_cookie_t
3946 xcb_input_get_feedback_control (xcb_connection_t
*c
/**< */,
3947 uint8_t device_id
/**< */)
3949 static const xcb_protocol_request_t xcb_req
= {
3951 /* ext */ &xcb_input_id
,
3952 /* opcode */ XCB_INPUT_GET_FEEDBACK_CONTROL
,
3956 struct iovec xcb_parts
[4];
3957 xcb_input_get_feedback_control_cookie_t xcb_ret
;
3958 xcb_input_get_feedback_control_request_t xcb_out
;
3960 xcb_out
.device_id
= device_id
;
3961 memset(xcb_out
.pad0
, 0, 3);
3963 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
3964 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
3965 xcb_parts
[3].iov_base
= 0;
3966 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
3968 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
3973 /*****************************************************************************
3975 ** xcb_input_get_feedback_control_cookie_t xcb_input_get_feedback_control_unchecked
3977 ** @param xcb_connection_t *c
3978 ** @param uint8_t device_id
3979 ** @returns xcb_input_get_feedback_control_cookie_t
3981 *****************************************************************************/
3983 xcb_input_get_feedback_control_cookie_t
3984 xcb_input_get_feedback_control_unchecked (xcb_connection_t
*c
/**< */,
3985 uint8_t device_id
/**< */)
3987 static const xcb_protocol_request_t xcb_req
= {
3989 /* ext */ &xcb_input_id
,
3990 /* opcode */ XCB_INPUT_GET_FEEDBACK_CONTROL
,
3994 struct iovec xcb_parts
[4];
3995 xcb_input_get_feedback_control_cookie_t xcb_ret
;
3996 xcb_input_get_feedback_control_request_t xcb_out
;
3998 xcb_out
.device_id
= device_id
;
3999 memset(xcb_out
.pad0
, 0, 3);
4001 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4002 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4003 xcb_parts
[3].iov_base
= 0;
4004 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4006 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
4011 /*****************************************************************************
4013 ** int xcb_input_get_feedback_control_feedbacks_length
4015 ** @param const xcb_input_get_feedback_control_reply_t *R
4018 *****************************************************************************/
4021 xcb_input_get_feedback_control_feedbacks_length (const xcb_input_get_feedback_control_reply_t
*R
/**< */)
4023 return R
->num_feedbacks
;
4027 /*****************************************************************************
4029 ** xcb_input_feedback_state_iterator_t xcb_input_get_feedback_control_feedbacks_iterator
4031 ** @param const xcb_input_get_feedback_control_reply_t *R
4032 ** @returns xcb_input_feedback_state_iterator_t
4034 *****************************************************************************/
4036 xcb_input_feedback_state_iterator_t
4037 xcb_input_get_feedback_control_feedbacks_iterator (const xcb_input_get_feedback_control_reply_t
*R
/**< */)
4039 xcb_input_feedback_state_iterator_t i
;
4040 i
.data
= (xcb_input_feedback_state_t
*) (R
+ 1);
4041 i
.rem
= R
->num_feedbacks
;
4042 i
.index
= (char *) i
.data
- (char *) R
;
4047 /*****************************************************************************
4049 ** xcb_input_get_feedback_control_reply_t * xcb_input_get_feedback_control_reply
4051 ** @param xcb_connection_t *c
4052 ** @param xcb_input_get_feedback_control_cookie_t cookie
4053 ** @param xcb_generic_error_t **e
4054 ** @returns xcb_input_get_feedback_control_reply_t *
4056 *****************************************************************************/
4058 xcb_input_get_feedback_control_reply_t
*
4059 xcb_input_get_feedback_control_reply (xcb_connection_t
*c
/**< */,
4060 xcb_input_get_feedback_control_cookie_t cookie
/**< */,
4061 xcb_generic_error_t
**e
/**< */)
4063 return (xcb_input_get_feedback_control_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
4067 /*****************************************************************************
4069 ** void xcb_input_kbd_feedback_ctl_next
4071 ** @param xcb_input_kbd_feedback_ctl_iterator_t *i
4074 *****************************************************************************/
4077 xcb_input_kbd_feedback_ctl_next (xcb_input_kbd_feedback_ctl_iterator_t
*i
/**< */)
4081 i
->index
+= sizeof(xcb_input_kbd_feedback_ctl_t
);
4085 /*****************************************************************************
4087 ** xcb_generic_iterator_t xcb_input_kbd_feedback_ctl_end
4089 ** @param xcb_input_kbd_feedback_ctl_iterator_t i
4090 ** @returns xcb_generic_iterator_t
4092 *****************************************************************************/
4094 xcb_generic_iterator_t
4095 xcb_input_kbd_feedback_ctl_end (xcb_input_kbd_feedback_ctl_iterator_t i
/**< */)
4097 xcb_generic_iterator_t ret
;
4098 ret
.data
= i
.data
+ i
.rem
;
4099 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
4105 /*****************************************************************************
4107 ** void xcb_input_ptr_feedback_ctl_next
4109 ** @param xcb_input_ptr_feedback_ctl_iterator_t *i
4112 *****************************************************************************/
4115 xcb_input_ptr_feedback_ctl_next (xcb_input_ptr_feedback_ctl_iterator_t
*i
/**< */)
4119 i
->index
+= sizeof(xcb_input_ptr_feedback_ctl_t
);
4123 /*****************************************************************************
4125 ** xcb_generic_iterator_t xcb_input_ptr_feedback_ctl_end
4127 ** @param xcb_input_ptr_feedback_ctl_iterator_t i
4128 ** @returns xcb_generic_iterator_t
4130 *****************************************************************************/
4132 xcb_generic_iterator_t
4133 xcb_input_ptr_feedback_ctl_end (xcb_input_ptr_feedback_ctl_iterator_t i
/**< */)
4135 xcb_generic_iterator_t ret
;
4136 ret
.data
= i
.data
+ i
.rem
;
4137 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
4143 /*****************************************************************************
4145 ** void xcb_input_integer_feedback_ctl_next
4147 ** @param xcb_input_integer_feedback_ctl_iterator_t *i
4150 *****************************************************************************/
4153 xcb_input_integer_feedback_ctl_next (xcb_input_integer_feedback_ctl_iterator_t
*i
/**< */)
4157 i
->index
+= sizeof(xcb_input_integer_feedback_ctl_t
);
4161 /*****************************************************************************
4163 ** xcb_generic_iterator_t xcb_input_integer_feedback_ctl_end
4165 ** @param xcb_input_integer_feedback_ctl_iterator_t i
4166 ** @returns xcb_generic_iterator_t
4168 *****************************************************************************/
4170 xcb_generic_iterator_t
4171 xcb_input_integer_feedback_ctl_end (xcb_input_integer_feedback_ctl_iterator_t i
/**< */)
4173 xcb_generic_iterator_t ret
;
4174 ret
.data
= i
.data
+ i
.rem
;
4175 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
4181 xcb_input_string_feedback_ctl_sizeof (const void *_buffer
/**< */)
4183 char *xcb_tmp
= (char *)_buffer
;
4184 const xcb_input_string_feedback_ctl_t
*_aux
= (xcb_input_string_feedback_ctl_t
*)_buffer
;
4185 unsigned int xcb_buffer_len
= 0;
4186 unsigned int xcb_block_len
= 0;
4187 unsigned int xcb_pad
= 0;
4188 unsigned int xcb_align_to
= 0;
4191 xcb_block_len
+= sizeof(xcb_input_string_feedback_ctl_t
);
4192 xcb_tmp
+= xcb_block_len
;
4193 xcb_buffer_len
+= xcb_block_len
;
4196 xcb_block_len
+= _aux
->num_keysyms
* sizeof(xcb_keysym_t
);
4197 xcb_tmp
+= xcb_block_len
;
4198 xcb_align_to
= ALIGNOF(xcb_keysym_t
);
4199 /* insert padding */
4200 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
4201 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
4208 return xcb_buffer_len
;
4212 /*****************************************************************************
4214 ** xcb_keysym_t * xcb_input_string_feedback_ctl_keysyms
4216 ** @param const xcb_input_string_feedback_ctl_t *R
4217 ** @returns xcb_keysym_t *
4219 *****************************************************************************/
4222 xcb_input_string_feedback_ctl_keysyms (const xcb_input_string_feedback_ctl_t
*R
/**< */)
4224 return (xcb_keysym_t
*) (R
+ 1);
4228 /*****************************************************************************
4230 ** int xcb_input_string_feedback_ctl_keysyms_length
4232 ** @param const xcb_input_string_feedback_ctl_t *R
4235 *****************************************************************************/
4238 xcb_input_string_feedback_ctl_keysyms_length (const xcb_input_string_feedback_ctl_t
*R
/**< */)
4240 return R
->num_keysyms
;
4244 /*****************************************************************************
4246 ** xcb_generic_iterator_t xcb_input_string_feedback_ctl_keysyms_end
4248 ** @param const xcb_input_string_feedback_ctl_t *R
4249 ** @returns xcb_generic_iterator_t
4251 *****************************************************************************/
4253 xcb_generic_iterator_t
4254 xcb_input_string_feedback_ctl_keysyms_end (const xcb_input_string_feedback_ctl_t
*R
/**< */)
4256 xcb_generic_iterator_t i
;
4257 i
.data
= ((xcb_keysym_t
*) (R
+ 1)) + (R
->num_keysyms
);
4259 i
.index
= (char *) i
.data
- (char *) R
;
4264 /*****************************************************************************
4266 ** void xcb_input_string_feedback_ctl_next
4268 ** @param xcb_input_string_feedback_ctl_iterator_t *i
4271 *****************************************************************************/
4274 xcb_input_string_feedback_ctl_next (xcb_input_string_feedback_ctl_iterator_t
*i
/**< */)
4276 xcb_input_string_feedback_ctl_t
*R
= i
->data
;
4277 xcb_generic_iterator_t child
;
4278 child
.data
= (xcb_input_string_feedback_ctl_t
*)(((char *)R
) + xcb_input_string_feedback_ctl_sizeof(R
));
4279 i
->index
= (char *) child
.data
- (char *) i
->data
;
4281 i
->data
= (xcb_input_string_feedback_ctl_t
*) child
.data
;
4285 /*****************************************************************************
4287 ** xcb_generic_iterator_t xcb_input_string_feedback_ctl_end
4289 ** @param xcb_input_string_feedback_ctl_iterator_t i
4290 ** @returns xcb_generic_iterator_t
4292 *****************************************************************************/
4294 xcb_generic_iterator_t
4295 xcb_input_string_feedback_ctl_end (xcb_input_string_feedback_ctl_iterator_t i
/**< */)
4297 xcb_generic_iterator_t ret
;
4299 xcb_input_string_feedback_ctl_next(&i
);
4302 ret
.index
= i
.index
;
4307 /*****************************************************************************
4309 ** void xcb_input_bell_feedback_ctl_next
4311 ** @param xcb_input_bell_feedback_ctl_iterator_t *i
4314 *****************************************************************************/
4317 xcb_input_bell_feedback_ctl_next (xcb_input_bell_feedback_ctl_iterator_t
*i
/**< */)
4321 i
->index
+= sizeof(xcb_input_bell_feedback_ctl_t
);
4325 /*****************************************************************************
4327 ** xcb_generic_iterator_t xcb_input_bell_feedback_ctl_end
4329 ** @param xcb_input_bell_feedback_ctl_iterator_t i
4330 ** @returns xcb_generic_iterator_t
4332 *****************************************************************************/
4334 xcb_generic_iterator_t
4335 xcb_input_bell_feedback_ctl_end (xcb_input_bell_feedback_ctl_iterator_t i
/**< */)
4337 xcb_generic_iterator_t ret
;
4338 ret
.data
= i
.data
+ i
.rem
;
4339 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
4345 /*****************************************************************************
4347 ** void xcb_input_led_feedback_ctl_next
4349 ** @param xcb_input_led_feedback_ctl_iterator_t *i
4352 *****************************************************************************/
4355 xcb_input_led_feedback_ctl_next (xcb_input_led_feedback_ctl_iterator_t
*i
/**< */)
4359 i
->index
+= sizeof(xcb_input_led_feedback_ctl_t
);
4363 /*****************************************************************************
4365 ** xcb_generic_iterator_t xcb_input_led_feedback_ctl_end
4367 ** @param xcb_input_led_feedback_ctl_iterator_t i
4368 ** @returns xcb_generic_iterator_t
4370 *****************************************************************************/
4372 xcb_generic_iterator_t
4373 xcb_input_led_feedback_ctl_end (xcb_input_led_feedback_ctl_iterator_t i
/**< */)
4375 xcb_generic_iterator_t ret
;
4376 ret
.data
= i
.data
+ i
.rem
;
4377 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
4383 xcb_input_feedback_ctl_sizeof (const void *_buffer
/**< */)
4385 char *xcb_tmp
= (char *)_buffer
;
4386 const xcb_input_feedback_ctl_t
*_aux
= (xcb_input_feedback_ctl_t
*)_buffer
;
4387 unsigned int xcb_buffer_len
= 0;
4388 unsigned int xcb_block_len
= 0;
4389 unsigned int xcb_pad
= 0;
4390 unsigned int xcb_align_to
= 0;
4393 xcb_block_len
+= sizeof(xcb_input_feedback_ctl_t
);
4394 xcb_tmp
+= xcb_block_len
;
4395 xcb_buffer_len
+= xcb_block_len
;
4397 /* uninterpreted_data */
4398 xcb_block_len
+= (_aux
->len
- 4) * sizeof(uint8_t);
4399 xcb_tmp
+= xcb_block_len
;
4400 xcb_align_to
= ALIGNOF(uint8_t);
4401 /* insert padding */
4402 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
4403 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
4410 return xcb_buffer_len
;
4414 /*****************************************************************************
4416 ** uint8_t * xcb_input_feedback_ctl_uninterpreted_data
4418 ** @param const xcb_input_feedback_ctl_t *R
4419 ** @returns uint8_t *
4421 *****************************************************************************/
4424 xcb_input_feedback_ctl_uninterpreted_data (const xcb_input_feedback_ctl_t
*R
/**< */)
4426 return (uint8_t *) (R
+ 1);
4430 /*****************************************************************************
4432 ** int xcb_input_feedback_ctl_uninterpreted_data_length
4434 ** @param const xcb_input_feedback_ctl_t *R
4437 *****************************************************************************/
4440 xcb_input_feedback_ctl_uninterpreted_data_length (const xcb_input_feedback_ctl_t
*R
/**< */)
4442 return (R
->len
- 4);
4446 /*****************************************************************************
4448 ** xcb_generic_iterator_t xcb_input_feedback_ctl_uninterpreted_data_end
4450 ** @param const xcb_input_feedback_ctl_t *R
4451 ** @returns xcb_generic_iterator_t
4453 *****************************************************************************/
4455 xcb_generic_iterator_t
4456 xcb_input_feedback_ctl_uninterpreted_data_end (const xcb_input_feedback_ctl_t
*R
/**< */)
4458 xcb_generic_iterator_t i
;
4459 i
.data
= ((uint8_t *) (R
+ 1)) + ((R
->len
- 4));
4461 i
.index
= (char *) i
.data
- (char *) R
;
4466 /*****************************************************************************
4468 ** void xcb_input_feedback_ctl_next
4470 ** @param xcb_input_feedback_ctl_iterator_t *i
4473 *****************************************************************************/
4476 xcb_input_feedback_ctl_next (xcb_input_feedback_ctl_iterator_t
*i
/**< */)
4478 xcb_input_feedback_ctl_t
*R
= i
->data
;
4479 xcb_generic_iterator_t child
;
4480 child
.data
= (xcb_input_feedback_ctl_t
*)(((char *)R
) + xcb_input_feedback_ctl_sizeof(R
));
4481 i
->index
= (char *) child
.data
- (char *) i
->data
;
4483 i
->data
= (xcb_input_feedback_ctl_t
*) child
.data
;
4487 /*****************************************************************************
4489 ** xcb_generic_iterator_t xcb_input_feedback_ctl_end
4491 ** @param xcb_input_feedback_ctl_iterator_t i
4492 ** @returns xcb_generic_iterator_t
4494 *****************************************************************************/
4496 xcb_generic_iterator_t
4497 xcb_input_feedback_ctl_end (xcb_input_feedback_ctl_iterator_t i
/**< */)
4499 xcb_generic_iterator_t ret
;
4501 xcb_input_feedback_ctl_next(&i
);
4504 ret
.index
= i
.index
;
4509 xcb_input_change_feedback_control_sizeof (const void *_buffer
/**< */)
4511 char *xcb_tmp
= (char *)_buffer
;
4512 unsigned int xcb_buffer_len
= 0;
4513 unsigned int xcb_block_len
= 0;
4514 unsigned int xcb_pad
= 0;
4515 unsigned int xcb_align_to
= 0;
4518 xcb_block_len
+= sizeof(xcb_input_change_feedback_control_request_t
);
4519 xcb_tmp
+= xcb_block_len
;
4520 xcb_buffer_len
+= xcb_block_len
;
4523 xcb_block_len
+= xcb_input_feedback_ctl_sizeof(xcb_tmp
);
4524 xcb_tmp
+= xcb_block_len
;
4525 xcb_align_to
= ALIGNOF(xcb_input_feedback_ctl_t
);
4526 /* insert padding */
4527 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
4528 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
4535 return xcb_buffer_len
;
4539 /*****************************************************************************
4541 ** xcb_void_cookie_t xcb_input_change_feedback_control_checked
4543 ** @param xcb_connection_t *c
4544 ** @param uint32_t mask
4545 ** @param uint8_t device_id
4546 ** @param uint8_t feedback_id
4547 ** @param xcb_input_feedback_ctl_t *feedback
4548 ** @returns xcb_void_cookie_t
4550 *****************************************************************************/
4553 xcb_input_change_feedback_control_checked (xcb_connection_t
*c
/**< */,
4554 uint32_t mask
/**< */,
4555 uint8_t device_id
/**< */,
4556 uint8_t feedback_id
/**< */,
4557 xcb_input_feedback_ctl_t
*feedback
/**< */)
4559 static const xcb_protocol_request_t xcb_req
= {
4561 /* ext */ &xcb_input_id
,
4562 /* opcode */ XCB_INPUT_CHANGE_FEEDBACK_CONTROL
,
4566 struct iovec xcb_parts
[6];
4567 xcb_void_cookie_t xcb_ret
;
4568 xcb_input_change_feedback_control_request_t xcb_out
;
4570 xcb_out
.mask
= mask
;
4571 xcb_out
.device_id
= device_id
;
4572 xcb_out
.feedback_id
= feedback_id
;
4574 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4575 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4576 xcb_parts
[3].iov_base
= 0;
4577 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4578 /* xcb_input_feedback_ctl_t feedback */
4579 xcb_parts
[4].iov_base
= (char *) feedback
;
4580 xcb_parts
[4].iov_len
=
4581 xcb_input_feedback_ctl_sizeof (feedback
);
4583 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
4588 /*****************************************************************************
4590 ** xcb_void_cookie_t xcb_input_change_feedback_control
4592 ** @param xcb_connection_t *c
4593 ** @param uint32_t mask
4594 ** @param uint8_t device_id
4595 ** @param uint8_t feedback_id
4596 ** @param xcb_input_feedback_ctl_t *feedback
4597 ** @returns xcb_void_cookie_t
4599 *****************************************************************************/
4602 xcb_input_change_feedback_control (xcb_connection_t
*c
/**< */,
4603 uint32_t mask
/**< */,
4604 uint8_t device_id
/**< */,
4605 uint8_t feedback_id
/**< */,
4606 xcb_input_feedback_ctl_t
*feedback
/**< */)
4608 static const xcb_protocol_request_t xcb_req
= {
4610 /* ext */ &xcb_input_id
,
4611 /* opcode */ XCB_INPUT_CHANGE_FEEDBACK_CONTROL
,
4615 struct iovec xcb_parts
[6];
4616 xcb_void_cookie_t xcb_ret
;
4617 xcb_input_change_feedback_control_request_t xcb_out
;
4619 xcb_out
.mask
= mask
;
4620 xcb_out
.device_id
= device_id
;
4621 xcb_out
.feedback_id
= feedback_id
;
4623 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4624 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4625 xcb_parts
[3].iov_base
= 0;
4626 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4627 /* xcb_input_feedback_ctl_t feedback */
4628 xcb_parts
[4].iov_base
= (char *) feedback
;
4629 xcb_parts
[4].iov_len
=
4630 xcb_input_feedback_ctl_sizeof (feedback
);
4632 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
4637 xcb_input_get_device_key_mapping_sizeof (const void *_buffer
/**< */)
4639 char *xcb_tmp
= (char *)_buffer
;
4640 const xcb_input_get_device_key_mapping_reply_t
*_aux
= (xcb_input_get_device_key_mapping_reply_t
*)_buffer
;
4641 unsigned int xcb_buffer_len
= 0;
4642 unsigned int xcb_block_len
= 0;
4643 unsigned int xcb_pad
= 0;
4644 unsigned int xcb_align_to
= 0;
4647 xcb_block_len
+= sizeof(xcb_input_get_device_key_mapping_reply_t
);
4648 xcb_tmp
+= xcb_block_len
;
4649 xcb_buffer_len
+= xcb_block_len
;
4652 xcb_block_len
+= _aux
->length
* sizeof(xcb_keysym_t
);
4653 xcb_tmp
+= xcb_block_len
;
4654 xcb_align_to
= ALIGNOF(xcb_keysym_t
);
4655 /* insert padding */
4656 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
4657 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
4664 return xcb_buffer_len
;
4668 /*****************************************************************************
4670 ** xcb_input_get_device_key_mapping_cookie_t xcb_input_get_device_key_mapping
4672 ** @param xcb_connection_t *c
4673 ** @param uint8_t device_id
4674 ** @param xcb_input_key_code_t first_keycode
4675 ** @param uint8_t count
4676 ** @returns xcb_input_get_device_key_mapping_cookie_t
4678 *****************************************************************************/
4680 xcb_input_get_device_key_mapping_cookie_t
4681 xcb_input_get_device_key_mapping (xcb_connection_t
*c
/**< */,
4682 uint8_t device_id
/**< */,
4683 xcb_input_key_code_t first_keycode
/**< */,
4684 uint8_t count
/**< */)
4686 static const xcb_protocol_request_t xcb_req
= {
4688 /* ext */ &xcb_input_id
,
4689 /* opcode */ XCB_INPUT_GET_DEVICE_KEY_MAPPING
,
4693 struct iovec xcb_parts
[4];
4694 xcb_input_get_device_key_mapping_cookie_t xcb_ret
;
4695 xcb_input_get_device_key_mapping_request_t xcb_out
;
4697 xcb_out
.device_id
= device_id
;
4698 xcb_out
.first_keycode
= first_keycode
;
4699 xcb_out
.count
= count
;
4701 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4702 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4703 xcb_parts
[3].iov_base
= 0;
4704 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4706 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
4711 /*****************************************************************************
4713 ** xcb_input_get_device_key_mapping_cookie_t xcb_input_get_device_key_mapping_unchecked
4715 ** @param xcb_connection_t *c
4716 ** @param uint8_t device_id
4717 ** @param xcb_input_key_code_t first_keycode
4718 ** @param uint8_t count
4719 ** @returns xcb_input_get_device_key_mapping_cookie_t
4721 *****************************************************************************/
4723 xcb_input_get_device_key_mapping_cookie_t
4724 xcb_input_get_device_key_mapping_unchecked (xcb_connection_t
*c
/**< */,
4725 uint8_t device_id
/**< */,
4726 xcb_input_key_code_t first_keycode
/**< */,
4727 uint8_t count
/**< */)
4729 static const xcb_protocol_request_t xcb_req
= {
4731 /* ext */ &xcb_input_id
,
4732 /* opcode */ XCB_INPUT_GET_DEVICE_KEY_MAPPING
,
4736 struct iovec xcb_parts
[4];
4737 xcb_input_get_device_key_mapping_cookie_t xcb_ret
;
4738 xcb_input_get_device_key_mapping_request_t xcb_out
;
4740 xcb_out
.device_id
= device_id
;
4741 xcb_out
.first_keycode
= first_keycode
;
4742 xcb_out
.count
= count
;
4744 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4745 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4746 xcb_parts
[3].iov_base
= 0;
4747 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4749 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
4754 /*****************************************************************************
4756 ** xcb_keysym_t * xcb_input_get_device_key_mapping_keysyms
4758 ** @param const xcb_input_get_device_key_mapping_reply_t *R
4759 ** @returns xcb_keysym_t *
4761 *****************************************************************************/
4764 xcb_input_get_device_key_mapping_keysyms (const xcb_input_get_device_key_mapping_reply_t
*R
/**< */)
4766 return (xcb_keysym_t
*) (R
+ 1);
4770 /*****************************************************************************
4772 ** int xcb_input_get_device_key_mapping_keysyms_length
4774 ** @param const xcb_input_get_device_key_mapping_reply_t *R
4777 *****************************************************************************/
4780 xcb_input_get_device_key_mapping_keysyms_length (const xcb_input_get_device_key_mapping_reply_t
*R
/**< */)
4786 /*****************************************************************************
4788 ** xcb_generic_iterator_t xcb_input_get_device_key_mapping_keysyms_end
4790 ** @param const xcb_input_get_device_key_mapping_reply_t *R
4791 ** @returns xcb_generic_iterator_t
4793 *****************************************************************************/
4795 xcb_generic_iterator_t
4796 xcb_input_get_device_key_mapping_keysyms_end (const xcb_input_get_device_key_mapping_reply_t
*R
/**< */)
4798 xcb_generic_iterator_t i
;
4799 i
.data
= ((xcb_keysym_t
*) (R
+ 1)) + (R
->length
);
4801 i
.index
= (char *) i
.data
- (char *) R
;
4806 /*****************************************************************************
4808 ** xcb_input_get_device_key_mapping_reply_t * xcb_input_get_device_key_mapping_reply
4810 ** @param xcb_connection_t *c
4811 ** @param xcb_input_get_device_key_mapping_cookie_t cookie
4812 ** @param xcb_generic_error_t **e
4813 ** @returns xcb_input_get_device_key_mapping_reply_t *
4815 *****************************************************************************/
4817 xcb_input_get_device_key_mapping_reply_t
*
4818 xcb_input_get_device_key_mapping_reply (xcb_connection_t
*c
/**< */,
4819 xcb_input_get_device_key_mapping_cookie_t cookie
/**< */,
4820 xcb_generic_error_t
**e
/**< */)
4822 return (xcb_input_get_device_key_mapping_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
4826 xcb_input_change_device_key_mapping_sizeof (const void *_buffer
/**< */)
4828 char *xcb_tmp
= (char *)_buffer
;
4829 const xcb_input_change_device_key_mapping_request_t
*_aux
= (xcb_input_change_device_key_mapping_request_t
*)_buffer
;
4830 unsigned int xcb_buffer_len
= 0;
4831 unsigned int xcb_block_len
= 0;
4832 unsigned int xcb_pad
= 0;
4833 unsigned int xcb_align_to
= 0;
4836 xcb_block_len
+= sizeof(xcb_input_change_device_key_mapping_request_t
);
4837 xcb_tmp
+= xcb_block_len
;
4838 xcb_buffer_len
+= xcb_block_len
;
4841 xcb_block_len
+= (_aux
->keycode_count
* _aux
->keysyms_per_keycode
) * sizeof(xcb_keysym_t
);
4842 xcb_tmp
+= xcb_block_len
;
4843 xcb_align_to
= ALIGNOF(xcb_keysym_t
);
4844 /* insert padding */
4845 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
4846 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
4853 return xcb_buffer_len
;
4857 /*****************************************************************************
4859 ** xcb_void_cookie_t xcb_input_change_device_key_mapping_checked
4861 ** @param xcb_connection_t *c
4862 ** @param uint8_t device_id
4863 ** @param xcb_input_key_code_t first_keycode
4864 ** @param uint8_t keysyms_per_keycode
4865 ** @param uint8_t keycode_count
4866 ** @param const xcb_keysym_t *keysyms
4867 ** @returns xcb_void_cookie_t
4869 *****************************************************************************/
4872 xcb_input_change_device_key_mapping_checked (xcb_connection_t
*c
/**< */,
4873 uint8_t device_id
/**< */,
4874 xcb_input_key_code_t first_keycode
/**< */,
4875 uint8_t keysyms_per_keycode
/**< */,
4876 uint8_t keycode_count
/**< */,
4877 const xcb_keysym_t
*keysyms
/**< */)
4879 static const xcb_protocol_request_t xcb_req
= {
4881 /* ext */ &xcb_input_id
,
4882 /* opcode */ XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING
,
4886 struct iovec xcb_parts
[6];
4887 xcb_void_cookie_t xcb_ret
;
4888 xcb_input_change_device_key_mapping_request_t xcb_out
;
4890 xcb_out
.device_id
= device_id
;
4891 xcb_out
.first_keycode
= first_keycode
;
4892 xcb_out
.keysyms_per_keycode
= keysyms_per_keycode
;
4893 xcb_out
.keycode_count
= keycode_count
;
4895 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4896 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4897 xcb_parts
[3].iov_base
= 0;
4898 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4899 /* xcb_keysym_t keysyms */
4900 xcb_parts
[4].iov_base
= (char *) keysyms
;
4901 xcb_parts
[4].iov_len
= (keycode_count
* keysyms_per_keycode
) * sizeof(xcb_keysym_t
);
4902 xcb_parts
[5].iov_base
= 0;
4903 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
4905 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
4910 /*****************************************************************************
4912 ** xcb_void_cookie_t xcb_input_change_device_key_mapping
4914 ** @param xcb_connection_t *c
4915 ** @param uint8_t device_id
4916 ** @param xcb_input_key_code_t first_keycode
4917 ** @param uint8_t keysyms_per_keycode
4918 ** @param uint8_t keycode_count
4919 ** @param const xcb_keysym_t *keysyms
4920 ** @returns xcb_void_cookie_t
4922 *****************************************************************************/
4925 xcb_input_change_device_key_mapping (xcb_connection_t
*c
/**< */,
4926 uint8_t device_id
/**< */,
4927 xcb_input_key_code_t first_keycode
/**< */,
4928 uint8_t keysyms_per_keycode
/**< */,
4929 uint8_t keycode_count
/**< */,
4930 const xcb_keysym_t
*keysyms
/**< */)
4932 static const xcb_protocol_request_t xcb_req
= {
4934 /* ext */ &xcb_input_id
,
4935 /* opcode */ XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING
,
4939 struct iovec xcb_parts
[6];
4940 xcb_void_cookie_t xcb_ret
;
4941 xcb_input_change_device_key_mapping_request_t xcb_out
;
4943 xcb_out
.device_id
= device_id
;
4944 xcb_out
.first_keycode
= first_keycode
;
4945 xcb_out
.keysyms_per_keycode
= keysyms_per_keycode
;
4946 xcb_out
.keycode_count
= keycode_count
;
4948 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
4949 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
4950 xcb_parts
[3].iov_base
= 0;
4951 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
4952 /* xcb_keysym_t keysyms */
4953 xcb_parts
[4].iov_base
= (char *) keysyms
;
4954 xcb_parts
[4].iov_len
= (keycode_count
* keysyms_per_keycode
) * sizeof(xcb_keysym_t
);
4955 xcb_parts
[5].iov_base
= 0;
4956 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
4958 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
4963 xcb_input_get_device_modifier_mapping_sizeof (const void *_buffer
/**< */)
4965 char *xcb_tmp
= (char *)_buffer
;
4966 const xcb_input_get_device_modifier_mapping_reply_t
*_aux
= (xcb_input_get_device_modifier_mapping_reply_t
*)_buffer
;
4967 unsigned int xcb_buffer_len
= 0;
4968 unsigned int xcb_block_len
= 0;
4969 unsigned int xcb_pad
= 0;
4970 unsigned int xcb_align_to
= 0;
4973 xcb_block_len
+= sizeof(xcb_input_get_device_modifier_mapping_reply_t
);
4974 xcb_tmp
+= xcb_block_len
;
4975 xcb_buffer_len
+= xcb_block_len
;
4978 xcb_block_len
+= (_aux
->keycodes_per_modifier
* 8) * sizeof(uint8_t);
4979 xcb_tmp
+= xcb_block_len
;
4980 xcb_align_to
= ALIGNOF(uint8_t);
4981 /* insert padding */
4982 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
4983 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
4990 return xcb_buffer_len
;
4994 /*****************************************************************************
4996 ** xcb_input_get_device_modifier_mapping_cookie_t xcb_input_get_device_modifier_mapping
4998 ** @param xcb_connection_t *c
4999 ** @param uint8_t device_id
5000 ** @returns xcb_input_get_device_modifier_mapping_cookie_t
5002 *****************************************************************************/
5004 xcb_input_get_device_modifier_mapping_cookie_t
5005 xcb_input_get_device_modifier_mapping (xcb_connection_t
*c
/**< */,
5006 uint8_t device_id
/**< */)
5008 static const xcb_protocol_request_t xcb_req
= {
5010 /* ext */ &xcb_input_id
,
5011 /* opcode */ XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING
,
5015 struct iovec xcb_parts
[4];
5016 xcb_input_get_device_modifier_mapping_cookie_t xcb_ret
;
5017 xcb_input_get_device_modifier_mapping_request_t xcb_out
;
5019 xcb_out
.device_id
= device_id
;
5020 memset(xcb_out
.pad0
, 0, 3);
5022 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5023 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5024 xcb_parts
[3].iov_base
= 0;
5025 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5027 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
5032 /*****************************************************************************
5034 ** xcb_input_get_device_modifier_mapping_cookie_t xcb_input_get_device_modifier_mapping_unchecked
5036 ** @param xcb_connection_t *c
5037 ** @param uint8_t device_id
5038 ** @returns xcb_input_get_device_modifier_mapping_cookie_t
5040 *****************************************************************************/
5042 xcb_input_get_device_modifier_mapping_cookie_t
5043 xcb_input_get_device_modifier_mapping_unchecked (xcb_connection_t
*c
/**< */,
5044 uint8_t device_id
/**< */)
5046 static const xcb_protocol_request_t xcb_req
= {
5048 /* ext */ &xcb_input_id
,
5049 /* opcode */ XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING
,
5053 struct iovec xcb_parts
[4];
5054 xcb_input_get_device_modifier_mapping_cookie_t xcb_ret
;
5055 xcb_input_get_device_modifier_mapping_request_t xcb_out
;
5057 xcb_out
.device_id
= device_id
;
5058 memset(xcb_out
.pad0
, 0, 3);
5060 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5061 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5062 xcb_parts
[3].iov_base
= 0;
5063 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5065 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
5070 /*****************************************************************************
5072 ** uint8_t * xcb_input_get_device_modifier_mapping_keymaps
5074 ** @param const xcb_input_get_device_modifier_mapping_reply_t *R
5075 ** @returns uint8_t *
5077 *****************************************************************************/
5080 xcb_input_get_device_modifier_mapping_keymaps (const xcb_input_get_device_modifier_mapping_reply_t
*R
/**< */)
5082 return (uint8_t *) (R
+ 1);
5086 /*****************************************************************************
5088 ** int xcb_input_get_device_modifier_mapping_keymaps_length
5090 ** @param const xcb_input_get_device_modifier_mapping_reply_t *R
5093 *****************************************************************************/
5096 xcb_input_get_device_modifier_mapping_keymaps_length (const xcb_input_get_device_modifier_mapping_reply_t
*R
/**< */)
5098 return (R
->keycodes_per_modifier
* 8);
5102 /*****************************************************************************
5104 ** xcb_generic_iterator_t xcb_input_get_device_modifier_mapping_keymaps_end
5106 ** @param const xcb_input_get_device_modifier_mapping_reply_t *R
5107 ** @returns xcb_generic_iterator_t
5109 *****************************************************************************/
5111 xcb_generic_iterator_t
5112 xcb_input_get_device_modifier_mapping_keymaps_end (const xcb_input_get_device_modifier_mapping_reply_t
*R
/**< */)
5114 xcb_generic_iterator_t i
;
5115 i
.data
= ((uint8_t *) (R
+ 1)) + ((R
->keycodes_per_modifier
* 8));
5117 i
.index
= (char *) i
.data
- (char *) R
;
5122 /*****************************************************************************
5124 ** xcb_input_get_device_modifier_mapping_reply_t * xcb_input_get_device_modifier_mapping_reply
5126 ** @param xcb_connection_t *c
5127 ** @param xcb_input_get_device_modifier_mapping_cookie_t cookie
5128 ** @param xcb_generic_error_t **e
5129 ** @returns xcb_input_get_device_modifier_mapping_reply_t *
5131 *****************************************************************************/
5133 xcb_input_get_device_modifier_mapping_reply_t
*
5134 xcb_input_get_device_modifier_mapping_reply (xcb_connection_t
*c
/**< */,
5135 xcb_input_get_device_modifier_mapping_cookie_t cookie
/**< */,
5136 xcb_generic_error_t
**e
/**< */)
5138 return (xcb_input_get_device_modifier_mapping_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
5142 xcb_input_set_device_modifier_mapping_sizeof (const void *_buffer
/**< */)
5144 char *xcb_tmp
= (char *)_buffer
;
5145 const xcb_input_set_device_modifier_mapping_request_t
*_aux
= (xcb_input_set_device_modifier_mapping_request_t
*)_buffer
;
5146 unsigned int xcb_buffer_len
= 0;
5147 unsigned int xcb_block_len
= 0;
5148 unsigned int xcb_pad
= 0;
5149 unsigned int xcb_align_to
= 0;
5152 xcb_block_len
+= sizeof(xcb_input_set_device_modifier_mapping_request_t
);
5153 xcb_tmp
+= xcb_block_len
;
5154 xcb_buffer_len
+= xcb_block_len
;
5157 xcb_block_len
+= (_aux
->keycodes_per_modifier
* 8) * sizeof(uint8_t);
5158 xcb_tmp
+= xcb_block_len
;
5159 xcb_align_to
= ALIGNOF(uint8_t);
5160 /* insert padding */
5161 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
5162 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
5169 return xcb_buffer_len
;
5173 /*****************************************************************************
5175 ** xcb_input_set_device_modifier_mapping_cookie_t xcb_input_set_device_modifier_mapping
5177 ** @param xcb_connection_t *c
5178 ** @param uint8_t device_id
5179 ** @param uint8_t keycodes_per_modifier
5180 ** @param const uint8_t *keymaps
5181 ** @returns xcb_input_set_device_modifier_mapping_cookie_t
5183 *****************************************************************************/
5185 xcb_input_set_device_modifier_mapping_cookie_t
5186 xcb_input_set_device_modifier_mapping (xcb_connection_t
*c
/**< */,
5187 uint8_t device_id
/**< */,
5188 uint8_t keycodes_per_modifier
/**< */,
5189 const uint8_t *keymaps
/**< */)
5191 static const xcb_protocol_request_t xcb_req
= {
5193 /* ext */ &xcb_input_id
,
5194 /* opcode */ XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING
,
5198 struct iovec xcb_parts
[6];
5199 xcb_input_set_device_modifier_mapping_cookie_t xcb_ret
;
5200 xcb_input_set_device_modifier_mapping_request_t xcb_out
;
5202 xcb_out
.device_id
= device_id
;
5203 xcb_out
.keycodes_per_modifier
= keycodes_per_modifier
;
5206 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5207 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5208 xcb_parts
[3].iov_base
= 0;
5209 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5210 /* uint8_t keymaps */
5211 xcb_parts
[4].iov_base
= (char *) keymaps
;
5212 xcb_parts
[4].iov_len
= (keycodes_per_modifier
* 8) * sizeof(uint8_t);
5213 xcb_parts
[5].iov_base
= 0;
5214 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
5216 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
5221 /*****************************************************************************
5223 ** xcb_input_set_device_modifier_mapping_cookie_t xcb_input_set_device_modifier_mapping_unchecked
5225 ** @param xcb_connection_t *c
5226 ** @param uint8_t device_id
5227 ** @param uint8_t keycodes_per_modifier
5228 ** @param const uint8_t *keymaps
5229 ** @returns xcb_input_set_device_modifier_mapping_cookie_t
5231 *****************************************************************************/
5233 xcb_input_set_device_modifier_mapping_cookie_t
5234 xcb_input_set_device_modifier_mapping_unchecked (xcb_connection_t
*c
/**< */,
5235 uint8_t device_id
/**< */,
5236 uint8_t keycodes_per_modifier
/**< */,
5237 const uint8_t *keymaps
/**< */)
5239 static const xcb_protocol_request_t xcb_req
= {
5241 /* ext */ &xcb_input_id
,
5242 /* opcode */ XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING
,
5246 struct iovec xcb_parts
[6];
5247 xcb_input_set_device_modifier_mapping_cookie_t xcb_ret
;
5248 xcb_input_set_device_modifier_mapping_request_t xcb_out
;
5250 xcb_out
.device_id
= device_id
;
5251 xcb_out
.keycodes_per_modifier
= keycodes_per_modifier
;
5254 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5255 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5256 xcb_parts
[3].iov_base
= 0;
5257 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5258 /* uint8_t keymaps */
5259 xcb_parts
[4].iov_base
= (char *) keymaps
;
5260 xcb_parts
[4].iov_len
= (keycodes_per_modifier
* 8) * sizeof(uint8_t);
5261 xcb_parts
[5].iov_base
= 0;
5262 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
5264 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
5269 /*****************************************************************************
5271 ** xcb_input_set_device_modifier_mapping_reply_t * xcb_input_set_device_modifier_mapping_reply
5273 ** @param xcb_connection_t *c
5274 ** @param xcb_input_set_device_modifier_mapping_cookie_t cookie
5275 ** @param xcb_generic_error_t **e
5276 ** @returns xcb_input_set_device_modifier_mapping_reply_t *
5278 *****************************************************************************/
5280 xcb_input_set_device_modifier_mapping_reply_t
*
5281 xcb_input_set_device_modifier_mapping_reply (xcb_connection_t
*c
/**< */,
5282 xcb_input_set_device_modifier_mapping_cookie_t cookie
/**< */,
5283 xcb_generic_error_t
**e
/**< */)
5285 return (xcb_input_set_device_modifier_mapping_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
5289 xcb_input_get_device_button_mapping_sizeof (const void *_buffer
/**< */)
5291 char *xcb_tmp
= (char *)_buffer
;
5292 const xcb_input_get_device_button_mapping_reply_t
*_aux
= (xcb_input_get_device_button_mapping_reply_t
*)_buffer
;
5293 unsigned int xcb_buffer_len
= 0;
5294 unsigned int xcb_block_len
= 0;
5295 unsigned int xcb_pad
= 0;
5296 unsigned int xcb_align_to
= 0;
5299 xcb_block_len
+= sizeof(xcb_input_get_device_button_mapping_reply_t
);
5300 xcb_tmp
+= xcb_block_len
;
5301 xcb_buffer_len
+= xcb_block_len
;
5304 xcb_block_len
+= _aux
->map_size
* sizeof(uint8_t);
5305 xcb_tmp
+= xcb_block_len
;
5306 xcb_align_to
= ALIGNOF(uint8_t);
5307 /* insert padding */
5308 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
5309 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
5316 return xcb_buffer_len
;
5320 /*****************************************************************************
5322 ** xcb_input_get_device_button_mapping_cookie_t xcb_input_get_device_button_mapping
5324 ** @param xcb_connection_t *c
5325 ** @param uint8_t device_id
5326 ** @returns xcb_input_get_device_button_mapping_cookie_t
5328 *****************************************************************************/
5330 xcb_input_get_device_button_mapping_cookie_t
5331 xcb_input_get_device_button_mapping (xcb_connection_t
*c
/**< */,
5332 uint8_t device_id
/**< */)
5334 static const xcb_protocol_request_t xcb_req
= {
5336 /* ext */ &xcb_input_id
,
5337 /* opcode */ XCB_INPUT_GET_DEVICE_BUTTON_MAPPING
,
5341 struct iovec xcb_parts
[4];
5342 xcb_input_get_device_button_mapping_cookie_t xcb_ret
;
5343 xcb_input_get_device_button_mapping_request_t xcb_out
;
5345 xcb_out
.device_id
= device_id
;
5346 memset(xcb_out
.pad0
, 0, 3);
5348 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5349 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5350 xcb_parts
[3].iov_base
= 0;
5351 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5353 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
5358 /*****************************************************************************
5360 ** xcb_input_get_device_button_mapping_cookie_t xcb_input_get_device_button_mapping_unchecked
5362 ** @param xcb_connection_t *c
5363 ** @param uint8_t device_id
5364 ** @returns xcb_input_get_device_button_mapping_cookie_t
5366 *****************************************************************************/
5368 xcb_input_get_device_button_mapping_cookie_t
5369 xcb_input_get_device_button_mapping_unchecked (xcb_connection_t
*c
/**< */,
5370 uint8_t device_id
/**< */)
5372 static const xcb_protocol_request_t xcb_req
= {
5374 /* ext */ &xcb_input_id
,
5375 /* opcode */ XCB_INPUT_GET_DEVICE_BUTTON_MAPPING
,
5379 struct iovec xcb_parts
[4];
5380 xcb_input_get_device_button_mapping_cookie_t xcb_ret
;
5381 xcb_input_get_device_button_mapping_request_t xcb_out
;
5383 xcb_out
.device_id
= device_id
;
5384 memset(xcb_out
.pad0
, 0, 3);
5386 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5387 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5388 xcb_parts
[3].iov_base
= 0;
5389 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5391 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
5396 /*****************************************************************************
5398 ** uint8_t * xcb_input_get_device_button_mapping_map
5400 ** @param const xcb_input_get_device_button_mapping_reply_t *R
5401 ** @returns uint8_t *
5403 *****************************************************************************/
5406 xcb_input_get_device_button_mapping_map (const xcb_input_get_device_button_mapping_reply_t
*R
/**< */)
5408 return (uint8_t *) (R
+ 1);
5412 /*****************************************************************************
5414 ** int xcb_input_get_device_button_mapping_map_length
5416 ** @param const xcb_input_get_device_button_mapping_reply_t *R
5419 *****************************************************************************/
5422 xcb_input_get_device_button_mapping_map_length (const xcb_input_get_device_button_mapping_reply_t
*R
/**< */)
5428 /*****************************************************************************
5430 ** xcb_generic_iterator_t xcb_input_get_device_button_mapping_map_end
5432 ** @param const xcb_input_get_device_button_mapping_reply_t *R
5433 ** @returns xcb_generic_iterator_t
5435 *****************************************************************************/
5437 xcb_generic_iterator_t
5438 xcb_input_get_device_button_mapping_map_end (const xcb_input_get_device_button_mapping_reply_t
*R
/**< */)
5440 xcb_generic_iterator_t i
;
5441 i
.data
= ((uint8_t *) (R
+ 1)) + (R
->map_size
);
5443 i
.index
= (char *) i
.data
- (char *) R
;
5448 /*****************************************************************************
5450 ** xcb_input_get_device_button_mapping_reply_t * xcb_input_get_device_button_mapping_reply
5452 ** @param xcb_connection_t *c
5453 ** @param xcb_input_get_device_button_mapping_cookie_t cookie
5454 ** @param xcb_generic_error_t **e
5455 ** @returns xcb_input_get_device_button_mapping_reply_t *
5457 *****************************************************************************/
5459 xcb_input_get_device_button_mapping_reply_t
*
5460 xcb_input_get_device_button_mapping_reply (xcb_connection_t
*c
/**< */,
5461 xcb_input_get_device_button_mapping_cookie_t cookie
/**< */,
5462 xcb_generic_error_t
**e
/**< */)
5464 return (xcb_input_get_device_button_mapping_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
5468 xcb_input_set_device_button_mapping_sizeof (const void *_buffer
/**< */)
5470 char *xcb_tmp
= (char *)_buffer
;
5471 const xcb_input_set_device_button_mapping_request_t
*_aux
= (xcb_input_set_device_button_mapping_request_t
*)_buffer
;
5472 unsigned int xcb_buffer_len
= 0;
5473 unsigned int xcb_block_len
= 0;
5474 unsigned int xcb_pad
= 0;
5475 unsigned int xcb_align_to
= 0;
5478 xcb_block_len
+= sizeof(xcb_input_set_device_button_mapping_request_t
);
5479 xcb_tmp
+= xcb_block_len
;
5480 xcb_buffer_len
+= xcb_block_len
;
5483 xcb_block_len
+= _aux
->map_size
* sizeof(uint8_t);
5484 xcb_tmp
+= xcb_block_len
;
5485 xcb_align_to
= ALIGNOF(uint8_t);
5486 /* insert padding */
5487 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
5488 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
5495 return xcb_buffer_len
;
5499 /*****************************************************************************
5501 ** xcb_input_set_device_button_mapping_cookie_t xcb_input_set_device_button_mapping
5503 ** @param xcb_connection_t *c
5504 ** @param uint8_t device_id
5505 ** @param uint8_t map_size
5506 ** @param const uint8_t *map
5507 ** @returns xcb_input_set_device_button_mapping_cookie_t
5509 *****************************************************************************/
5511 xcb_input_set_device_button_mapping_cookie_t
5512 xcb_input_set_device_button_mapping (xcb_connection_t
*c
/**< */,
5513 uint8_t device_id
/**< */,
5514 uint8_t map_size
/**< */,
5515 const uint8_t *map
/**< */)
5517 static const xcb_protocol_request_t xcb_req
= {
5519 /* ext */ &xcb_input_id
,
5520 /* opcode */ XCB_INPUT_SET_DEVICE_BUTTON_MAPPING
,
5524 struct iovec xcb_parts
[6];
5525 xcb_input_set_device_button_mapping_cookie_t xcb_ret
;
5526 xcb_input_set_device_button_mapping_request_t xcb_out
;
5528 xcb_out
.device_id
= device_id
;
5529 xcb_out
.map_size
= map_size
;
5530 memset(xcb_out
.pad0
, 0, 2);
5532 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5533 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5534 xcb_parts
[3].iov_base
= 0;
5535 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5537 xcb_parts
[4].iov_base
= (char *) map
;
5538 xcb_parts
[4].iov_len
= map_size
* sizeof(uint8_t);
5539 xcb_parts
[5].iov_base
= 0;
5540 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
5542 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
5547 /*****************************************************************************
5549 ** xcb_input_set_device_button_mapping_cookie_t xcb_input_set_device_button_mapping_unchecked
5551 ** @param xcb_connection_t *c
5552 ** @param uint8_t device_id
5553 ** @param uint8_t map_size
5554 ** @param const uint8_t *map
5555 ** @returns xcb_input_set_device_button_mapping_cookie_t
5557 *****************************************************************************/
5559 xcb_input_set_device_button_mapping_cookie_t
5560 xcb_input_set_device_button_mapping_unchecked (xcb_connection_t
*c
/**< */,
5561 uint8_t device_id
/**< */,
5562 uint8_t map_size
/**< */,
5563 const uint8_t *map
/**< */)
5565 static const xcb_protocol_request_t xcb_req
= {
5567 /* ext */ &xcb_input_id
,
5568 /* opcode */ XCB_INPUT_SET_DEVICE_BUTTON_MAPPING
,
5572 struct iovec xcb_parts
[6];
5573 xcb_input_set_device_button_mapping_cookie_t xcb_ret
;
5574 xcb_input_set_device_button_mapping_request_t xcb_out
;
5576 xcb_out
.device_id
= device_id
;
5577 xcb_out
.map_size
= map_size
;
5578 memset(xcb_out
.pad0
, 0, 2);
5580 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
5581 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
5582 xcb_parts
[3].iov_base
= 0;
5583 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
5585 xcb_parts
[4].iov_base
= (char *) map
;
5586 xcb_parts
[4].iov_len
= map_size
* sizeof(uint8_t);
5587 xcb_parts
[5].iov_base
= 0;
5588 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
5590 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
5595 /*****************************************************************************
5597 ** xcb_input_set_device_button_mapping_reply_t * xcb_input_set_device_button_mapping_reply
5599 ** @param xcb_connection_t *c
5600 ** @param xcb_input_set_device_button_mapping_cookie_t cookie
5601 ** @param xcb_generic_error_t **e
5602 ** @returns xcb_input_set_device_button_mapping_reply_t *
5604 *****************************************************************************/
5606 xcb_input_set_device_button_mapping_reply_t
*
5607 xcb_input_set_device_button_mapping_reply (xcb_connection_t
*c
/**< */,
5608 xcb_input_set_device_button_mapping_cookie_t cookie
/**< */,
5609 xcb_generic_error_t
**e
/**< */)
5611 return (xcb_input_set_device_button_mapping_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
5615 /*****************************************************************************
5617 ** void xcb_input_key_state_next
5619 ** @param xcb_input_key_state_iterator_t *i
5622 *****************************************************************************/
5625 xcb_input_key_state_next (xcb_input_key_state_iterator_t
*i
/**< */)
5629 i
->index
+= sizeof(xcb_input_key_state_t
);
5633 /*****************************************************************************
5635 ** xcb_generic_iterator_t xcb_input_key_state_end
5637 ** @param xcb_input_key_state_iterator_t i
5638 ** @returns xcb_generic_iterator_t
5640 *****************************************************************************/
5642 xcb_generic_iterator_t
5643 xcb_input_key_state_end (xcb_input_key_state_iterator_t i
/**< */)
5645 xcb_generic_iterator_t ret
;
5646 ret
.data
= i
.data
+ i
.rem
;
5647 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
5653 /*****************************************************************************
5655 ** void xcb_input_button_state_next
5657 ** @param xcb_input_button_state_iterator_t *i
5660 *****************************************************************************/
5663 xcb_input_button_state_next (xcb_input_button_state_iterator_t
*i
/**< */)
5667 i
->index
+= sizeof(xcb_input_button_state_t
);
5671 /*****************************************************************************
5673 ** xcb_generic_iterator_t xcb_input_button_state_end
5675 ** @param xcb_input_button_state_iterator_t i
5676 ** @returns xcb_generic_iterator_t
5678 *****************************************************************************/
5680 xcb_generic_iterator_t
5681 xcb_input_button_state_end (xcb_input_button_state_iterator_t i
/**< */)
5683 xcb_generic_iterator_t ret
;
5684 ret
.data
= i
.data
+ i
.rem
;
5685 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
5691 xcb_input_valuator_state_sizeof (const void *_buffer
/**< */)
5693 char *xcb_tmp
= (char *)_buffer
;
5694 const xcb_input_valuator_state_t
*_aux
= (xcb_input_valuator_state_t
*)_buffer
;
5695 unsigned int xcb_buffer_len
= 0;
5696 unsigned int xcb_block_len
= 0;
5697 unsigned int xcb_pad
= 0;
5698 unsigned int xcb_align_to
= 0;
5701 xcb_block_len
+= sizeof(xcb_input_valuator_state_t
);
5702 xcb_tmp
+= xcb_block_len
;
5703 xcb_buffer_len
+= xcb_block_len
;
5706 xcb_block_len
+= _aux
->num_valuators
* sizeof(uint32_t);
5707 xcb_tmp
+= xcb_block_len
;
5708 xcb_align_to
= ALIGNOF(uint32_t);
5709 /* insert padding */
5710 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
5711 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
5718 return xcb_buffer_len
;
5722 /*****************************************************************************
5724 ** uint32_t * xcb_input_valuator_state_valuators
5726 ** @param const xcb_input_valuator_state_t *R
5727 ** @returns uint32_t *
5729 *****************************************************************************/
5732 xcb_input_valuator_state_valuators (const xcb_input_valuator_state_t
*R
/**< */)
5734 return (uint32_t *) (R
+ 1);
5738 /*****************************************************************************
5740 ** int xcb_input_valuator_state_valuators_length
5742 ** @param const xcb_input_valuator_state_t *R
5745 *****************************************************************************/
5748 xcb_input_valuator_state_valuators_length (const xcb_input_valuator_state_t
*R
/**< */)
5750 return R
->num_valuators
;
5754 /*****************************************************************************
5756 ** xcb_generic_iterator_t xcb_input_valuator_state_valuators_end
5758 ** @param const xcb_input_valuator_state_t *R
5759 ** @returns xcb_generic_iterator_t
5761 *****************************************************************************/
5763 xcb_generic_iterator_t
5764 xcb_input_valuator_state_valuators_end (const xcb_input_valuator_state_t
*R
/**< */)
5766 xcb_generic_iterator_t i
;
5767 i
.data
= ((uint32_t *) (R
+ 1)) + (R
->num_valuators
);
5769 i
.index
= (char *) i
.data
- (char *) R
;
5774 /*****************************************************************************
5776 ** void xcb_input_valuator_state_next
5778 ** @param xcb_input_valuator_state_iterator_t *i
5781 *****************************************************************************/
5784 xcb_input_valuator_state_next (xcb_input_valuator_state_iterator_t
*i
/**< */)
5786 xcb_input_valuator_state_t
*R
= i
->data
;
5787 xcb_generic_iterator_t child
;
5788 child
.data
= (xcb_input_valuator_state_t
*)(((char *)R
) + xcb_input_valuator_state_sizeof(R
));
5789 i
->index
= (char *) child
.data
- (char *) i
->data
;
5791 i
->data
= (xcb_input_valuator_state_t
*) child
.data
;
5795 /*****************************************************************************
5797 ** xcb_generic_iterator_t xcb_input_valuator_state_end
5799 ** @param xcb_input_valuator_state_iterator_t i
5800 ** @returns xcb_generic_iterator_t
5802 *****************************************************************************/
5804 xcb_generic_iterator_t
5805 xcb_input_valuator_state_end (xcb_input_valuator_state_iterator_t i
/**< */)
5807 xcb_generic_iterator_t ret
;
5809 xcb_input_valuator_state_next(&i
);
5812 ret
.index
= i
.index
;
5817 xcb_input_input_state_sizeof (const void *_buffer
/**< */)
5819 char *xcb_tmp
= (char *)_buffer
;
5820 const xcb_input_input_state_t
*_aux
= (xcb_input_input_state_t
*)_buffer
;
5821 unsigned int xcb_buffer_len
= 0;
5822 unsigned int xcb_block_len
= 0;
5823 unsigned int xcb_pad
= 0;
5824 unsigned int xcb_align_to
= 0;
5827 xcb_block_len
+= sizeof(xcb_input_input_state_t
);
5828 xcb_tmp
+= xcb_block_len
;
5829 xcb_buffer_len
+= xcb_block_len
;
5831 /* uninterpreted_data */
5832 xcb_block_len
+= (_aux
->len
- 4) * sizeof(uint8_t);
5833 xcb_tmp
+= xcb_block_len
;
5834 xcb_align_to
= ALIGNOF(uint8_t);
5835 /* insert padding */
5836 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
5837 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
5844 return xcb_buffer_len
;
5848 /*****************************************************************************
5850 ** uint8_t * xcb_input_input_state_uninterpreted_data
5852 ** @param const xcb_input_input_state_t *R
5853 ** @returns uint8_t *
5855 *****************************************************************************/
5858 xcb_input_input_state_uninterpreted_data (const xcb_input_input_state_t
*R
/**< */)
5860 return (uint8_t *) (R
+ 1);
5864 /*****************************************************************************
5866 ** int xcb_input_input_state_uninterpreted_data_length
5868 ** @param const xcb_input_input_state_t *R
5871 *****************************************************************************/
5874 xcb_input_input_state_uninterpreted_data_length (const xcb_input_input_state_t
*R
/**< */)
5876 return (R
->len
- 4);
5880 /*****************************************************************************
5882 ** xcb_generic_iterator_t xcb_input_input_state_uninterpreted_data_end
5884 ** @param const xcb_input_input_state_t *R
5885 ** @returns xcb_generic_iterator_t
5887 *****************************************************************************/
5889 xcb_generic_iterator_t
5890 xcb_input_input_state_uninterpreted_data_end (const xcb_input_input_state_t
*R
/**< */)
5892 xcb_generic_iterator_t i
;
5893 i
.data
= ((uint8_t *) (R
+ 1)) + ((R
->len
- 4));
5895 i
.index
= (char *) i
.data
- (char *) R
;
5900 /*****************************************************************************
5902 ** void xcb_input_input_state_next
5904 ** @param xcb_input_input_state_iterator_t *i
5907 *****************************************************************************/
5910 xcb_input_input_state_next (xcb_input_input_state_iterator_t
*i
/**< */)
5912 xcb_input_input_state_t
*R
= i
->data
;
5913 xcb_generic_iterator_t child
;
5914 child
.data
= (xcb_input_input_state_t
*)(((char *)R
) + xcb_input_input_state_sizeof(R
));
5915 i
->index
= (char *) child
.data
- (char *) i
->data
;
5917 i
->data
= (xcb_input_input_state_t
*) child
.data
;
5921 /*****************************************************************************
5923 ** xcb_generic_iterator_t xcb_input_input_state_end
5925 ** @param xcb_input_input_state_iterator_t i
5926 ** @returns xcb_generic_iterator_t
5928 *****************************************************************************/
5930 xcb_generic_iterator_t
5931 xcb_input_input_state_end (xcb_input_input_state_iterator_t i
/**< */)
5933 xcb_generic_iterator_t ret
;
5935 xcb_input_input_state_next(&i
);
5938 ret
.index
= i
.index
;
5943 xcb_input_query_device_state_sizeof (const void *_buffer
/**< */)
5945 char *xcb_tmp
= (char *)_buffer
;
5946 const xcb_input_query_device_state_reply_t
*_aux
= (xcb_input_query_device_state_reply_t
*)_buffer
;
5947 unsigned int xcb_buffer_len
= 0;
5948 unsigned int xcb_block_len
= 0;
5949 unsigned int xcb_pad
= 0;
5950 unsigned int xcb_align_to
= 0;
5953 unsigned int xcb_tmp_len
;
5955 xcb_block_len
+= sizeof(xcb_input_query_device_state_reply_t
);
5956 xcb_tmp
+= xcb_block_len
;
5957 xcb_buffer_len
+= xcb_block_len
;
5960 for(i
=0; i
<_aux
->num_classes
; i
++) {
5961 xcb_tmp_len
= xcb_input_input_state_sizeof(xcb_tmp
);
5962 xcb_block_len
+= xcb_tmp_len
;
5963 xcb_tmp
+= xcb_tmp_len
;
5965 xcb_align_to
= ALIGNOF(xcb_input_input_state_t
);
5966 /* insert padding */
5967 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
5968 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
5975 return xcb_buffer_len
;
5979 /*****************************************************************************
5981 ** xcb_input_query_device_state_cookie_t xcb_input_query_device_state
5983 ** @param xcb_connection_t *c
5984 ** @param uint8_t device_id
5985 ** @returns xcb_input_query_device_state_cookie_t
5987 *****************************************************************************/
5989 xcb_input_query_device_state_cookie_t
5990 xcb_input_query_device_state (xcb_connection_t
*c
/**< */,
5991 uint8_t device_id
/**< */)
5993 static const xcb_protocol_request_t xcb_req
= {
5995 /* ext */ &xcb_input_id
,
5996 /* opcode */ XCB_INPUT_QUERY_DEVICE_STATE
,
6000 struct iovec xcb_parts
[4];
6001 xcb_input_query_device_state_cookie_t xcb_ret
;
6002 xcb_input_query_device_state_request_t xcb_out
;
6004 xcb_out
.device_id
= device_id
;
6005 memset(xcb_out
.pad0
, 0, 3);
6007 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6008 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6009 xcb_parts
[3].iov_base
= 0;
6010 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6012 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
6017 /*****************************************************************************
6019 ** xcb_input_query_device_state_cookie_t xcb_input_query_device_state_unchecked
6021 ** @param xcb_connection_t *c
6022 ** @param uint8_t device_id
6023 ** @returns xcb_input_query_device_state_cookie_t
6025 *****************************************************************************/
6027 xcb_input_query_device_state_cookie_t
6028 xcb_input_query_device_state_unchecked (xcb_connection_t
*c
/**< */,
6029 uint8_t device_id
/**< */)
6031 static const xcb_protocol_request_t xcb_req
= {
6033 /* ext */ &xcb_input_id
,
6034 /* opcode */ XCB_INPUT_QUERY_DEVICE_STATE
,
6038 struct iovec xcb_parts
[4];
6039 xcb_input_query_device_state_cookie_t xcb_ret
;
6040 xcb_input_query_device_state_request_t xcb_out
;
6042 xcb_out
.device_id
= device_id
;
6043 memset(xcb_out
.pad0
, 0, 3);
6045 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6046 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6047 xcb_parts
[3].iov_base
= 0;
6048 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6050 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
6055 /*****************************************************************************
6057 ** int xcb_input_query_device_state_classes_length
6059 ** @param const xcb_input_query_device_state_reply_t *R
6062 *****************************************************************************/
6065 xcb_input_query_device_state_classes_length (const xcb_input_query_device_state_reply_t
*R
/**< */)
6067 return R
->num_classes
;
6071 /*****************************************************************************
6073 ** xcb_input_input_state_iterator_t xcb_input_query_device_state_classes_iterator
6075 ** @param const xcb_input_query_device_state_reply_t *R
6076 ** @returns xcb_input_input_state_iterator_t
6078 *****************************************************************************/
6080 xcb_input_input_state_iterator_t
6081 xcb_input_query_device_state_classes_iterator (const xcb_input_query_device_state_reply_t
*R
/**< */)
6083 xcb_input_input_state_iterator_t i
;
6084 i
.data
= (xcb_input_input_state_t
*) (R
+ 1);
6085 i
.rem
= R
->num_classes
;
6086 i
.index
= (char *) i
.data
- (char *) R
;
6091 /*****************************************************************************
6093 ** xcb_input_query_device_state_reply_t * xcb_input_query_device_state_reply
6095 ** @param xcb_connection_t *c
6096 ** @param xcb_input_query_device_state_cookie_t cookie
6097 ** @param xcb_generic_error_t **e
6098 ** @returns xcb_input_query_device_state_reply_t *
6100 *****************************************************************************/
6102 xcb_input_query_device_state_reply_t
*
6103 xcb_input_query_device_state_reply (xcb_connection_t
*c
/**< */,
6104 xcb_input_query_device_state_cookie_t cookie
/**< */,
6105 xcb_generic_error_t
**e
/**< */)
6107 return (xcb_input_query_device_state_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
6111 xcb_input_send_extension_event_sizeof (const void *_buffer
/**< */)
6113 char *xcb_tmp
= (char *)_buffer
;
6114 const xcb_input_send_extension_event_request_t
*_aux
= (xcb_input_send_extension_event_request_t
*)_buffer
;
6115 unsigned int xcb_buffer_len
= 0;
6116 unsigned int xcb_block_len
= 0;
6117 unsigned int xcb_pad
= 0;
6118 unsigned int xcb_align_to
= 0;
6121 xcb_block_len
+= sizeof(xcb_input_send_extension_event_request_t
);
6122 xcb_tmp
+= xcb_block_len
;
6123 xcb_buffer_len
+= xcb_block_len
;
6126 xcb_block_len
+= (_aux
->num_events
* 32) * sizeof(uint8_t);
6127 xcb_tmp
+= xcb_block_len
;
6128 xcb_align_to
= ALIGNOF(uint8_t);
6129 /* insert padding */
6130 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6131 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6138 xcb_block_len
+= _aux
->num_classes
* sizeof(xcb_input_event_class_t
);
6139 xcb_tmp
+= xcb_block_len
;
6140 xcb_align_to
= ALIGNOF(xcb_input_event_class_t
);
6141 /* insert padding */
6142 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6143 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6150 return xcb_buffer_len
;
6154 /*****************************************************************************
6156 ** xcb_void_cookie_t xcb_input_send_extension_event_checked
6158 ** @param xcb_connection_t *c
6159 ** @param xcb_window_t destination
6160 ** @param uint8_t device_id
6161 ** @param uint8_t propagate
6162 ** @param uint16_t num_classes
6163 ** @param uint8_t num_events
6164 ** @param const uint8_t *events
6165 ** @param const xcb_input_event_class_t *classes
6166 ** @returns xcb_void_cookie_t
6168 *****************************************************************************/
6171 xcb_input_send_extension_event_checked (xcb_connection_t
*c
/**< */,
6172 xcb_window_t destination
/**< */,
6173 uint8_t device_id
/**< */,
6174 uint8_t propagate
/**< */,
6175 uint16_t num_classes
/**< */,
6176 uint8_t num_events
/**< */,
6177 const uint8_t *events
/**< */,
6178 const xcb_input_event_class_t
*classes
/**< */)
6180 static const xcb_protocol_request_t xcb_req
= {
6182 /* ext */ &xcb_input_id
,
6183 /* opcode */ XCB_INPUT_SEND_EXTENSION_EVENT
,
6187 struct iovec xcb_parts
[8];
6188 xcb_void_cookie_t xcb_ret
;
6189 xcb_input_send_extension_event_request_t xcb_out
;
6191 xcb_out
.destination
= destination
;
6192 xcb_out
.device_id
= device_id
;
6193 xcb_out
.propagate
= propagate
;
6194 xcb_out
.num_classes
= num_classes
;
6195 xcb_out
.num_events
= num_events
;
6196 memset(xcb_out
.pad0
, 0, 3);
6198 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6199 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6200 xcb_parts
[3].iov_base
= 0;
6201 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6202 /* uint8_t events */
6203 xcb_parts
[4].iov_base
= (char *) events
;
6204 xcb_parts
[4].iov_len
= (num_events
* 32) * sizeof(uint8_t);
6205 xcb_parts
[5].iov_base
= 0;
6206 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
6207 /* xcb_input_event_class_t classes */
6208 xcb_parts
[6].iov_base
= (char *) classes
;
6209 xcb_parts
[6].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
6210 xcb_parts
[7].iov_base
= 0;
6211 xcb_parts
[7].iov_len
= -xcb_parts
[6].iov_len
& 3;
6213 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
6218 /*****************************************************************************
6220 ** xcb_void_cookie_t xcb_input_send_extension_event
6222 ** @param xcb_connection_t *c
6223 ** @param xcb_window_t destination
6224 ** @param uint8_t device_id
6225 ** @param uint8_t propagate
6226 ** @param uint16_t num_classes
6227 ** @param uint8_t num_events
6228 ** @param const uint8_t *events
6229 ** @param const xcb_input_event_class_t *classes
6230 ** @returns xcb_void_cookie_t
6232 *****************************************************************************/
6235 xcb_input_send_extension_event (xcb_connection_t
*c
/**< */,
6236 xcb_window_t destination
/**< */,
6237 uint8_t device_id
/**< */,
6238 uint8_t propagate
/**< */,
6239 uint16_t num_classes
/**< */,
6240 uint8_t num_events
/**< */,
6241 const uint8_t *events
/**< */,
6242 const xcb_input_event_class_t
*classes
/**< */)
6244 static const xcb_protocol_request_t xcb_req
= {
6246 /* ext */ &xcb_input_id
,
6247 /* opcode */ XCB_INPUT_SEND_EXTENSION_EVENT
,
6251 struct iovec xcb_parts
[8];
6252 xcb_void_cookie_t xcb_ret
;
6253 xcb_input_send_extension_event_request_t xcb_out
;
6255 xcb_out
.destination
= destination
;
6256 xcb_out
.device_id
= device_id
;
6257 xcb_out
.propagate
= propagate
;
6258 xcb_out
.num_classes
= num_classes
;
6259 xcb_out
.num_events
= num_events
;
6260 memset(xcb_out
.pad0
, 0, 3);
6262 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6263 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6264 xcb_parts
[3].iov_base
= 0;
6265 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6266 /* uint8_t events */
6267 xcb_parts
[4].iov_base
= (char *) events
;
6268 xcb_parts
[4].iov_len
= (num_events
* 32) * sizeof(uint8_t);
6269 xcb_parts
[5].iov_base
= 0;
6270 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
6271 /* xcb_input_event_class_t classes */
6272 xcb_parts
[6].iov_base
= (char *) classes
;
6273 xcb_parts
[6].iov_len
= num_classes
* sizeof(xcb_input_event_class_t
);
6274 xcb_parts
[7].iov_base
= 0;
6275 xcb_parts
[7].iov_len
= -xcb_parts
[6].iov_len
& 3;
6277 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
6282 /*****************************************************************************
6284 ** xcb_void_cookie_t xcb_input_device_bell_checked
6286 ** @param xcb_connection_t *c
6287 ** @param uint8_t device_id
6288 ** @param uint8_t feedback_id
6289 ** @param uint8_t feedback_class
6290 ** @param int8_t percent
6291 ** @returns xcb_void_cookie_t
6293 *****************************************************************************/
6296 xcb_input_device_bell_checked (xcb_connection_t
*c
/**< */,
6297 uint8_t device_id
/**< */,
6298 uint8_t feedback_id
/**< */,
6299 uint8_t feedback_class
/**< */,
6300 int8_t percent
/**< */)
6302 static const xcb_protocol_request_t xcb_req
= {
6304 /* ext */ &xcb_input_id
,
6305 /* opcode */ XCB_INPUT_DEVICE_BELL
,
6309 struct iovec xcb_parts
[4];
6310 xcb_void_cookie_t xcb_ret
;
6311 xcb_input_device_bell_request_t xcb_out
;
6313 xcb_out
.device_id
= device_id
;
6314 xcb_out
.feedback_id
= feedback_id
;
6315 xcb_out
.feedback_class
= feedback_class
;
6316 xcb_out
.percent
= percent
;
6318 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6319 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6320 xcb_parts
[3].iov_base
= 0;
6321 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6323 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
6328 /*****************************************************************************
6330 ** xcb_void_cookie_t xcb_input_device_bell
6332 ** @param xcb_connection_t *c
6333 ** @param uint8_t device_id
6334 ** @param uint8_t feedback_id
6335 ** @param uint8_t feedback_class
6336 ** @param int8_t percent
6337 ** @returns xcb_void_cookie_t
6339 *****************************************************************************/
6342 xcb_input_device_bell (xcb_connection_t
*c
/**< */,
6343 uint8_t device_id
/**< */,
6344 uint8_t feedback_id
/**< */,
6345 uint8_t feedback_class
/**< */,
6346 int8_t percent
/**< */)
6348 static const xcb_protocol_request_t xcb_req
= {
6350 /* ext */ &xcb_input_id
,
6351 /* opcode */ XCB_INPUT_DEVICE_BELL
,
6355 struct iovec xcb_parts
[4];
6356 xcb_void_cookie_t xcb_ret
;
6357 xcb_input_device_bell_request_t xcb_out
;
6359 xcb_out
.device_id
= device_id
;
6360 xcb_out
.feedback_id
= feedback_id
;
6361 xcb_out
.feedback_class
= feedback_class
;
6362 xcb_out
.percent
= percent
;
6364 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6365 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6366 xcb_parts
[3].iov_base
= 0;
6367 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6369 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
6374 xcb_input_set_device_valuators_sizeof (const void *_buffer
/**< */)
6376 char *xcb_tmp
= (char *)_buffer
;
6377 const xcb_input_set_device_valuators_request_t
*_aux
= (xcb_input_set_device_valuators_request_t
*)_buffer
;
6378 unsigned int xcb_buffer_len
= 0;
6379 unsigned int xcb_block_len
= 0;
6380 unsigned int xcb_pad
= 0;
6381 unsigned int xcb_align_to
= 0;
6384 xcb_block_len
+= sizeof(xcb_input_set_device_valuators_request_t
);
6385 xcb_tmp
+= xcb_block_len
;
6386 xcb_buffer_len
+= xcb_block_len
;
6389 xcb_block_len
+= _aux
->num_valuators
* sizeof(int32_t);
6390 xcb_tmp
+= xcb_block_len
;
6391 xcb_align_to
= ALIGNOF(int32_t);
6392 /* insert padding */
6393 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6394 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6401 return xcb_buffer_len
;
6405 /*****************************************************************************
6407 ** xcb_input_set_device_valuators_cookie_t xcb_input_set_device_valuators
6409 ** @param xcb_connection_t *c
6410 ** @param uint8_t device_id
6411 ** @param uint8_t first_valuator
6412 ** @param uint8_t num_valuators
6413 ** @param const int32_t *valuators
6414 ** @returns xcb_input_set_device_valuators_cookie_t
6416 *****************************************************************************/
6418 xcb_input_set_device_valuators_cookie_t
6419 xcb_input_set_device_valuators (xcb_connection_t
*c
/**< */,
6420 uint8_t device_id
/**< */,
6421 uint8_t first_valuator
/**< */,
6422 uint8_t num_valuators
/**< */,
6423 const int32_t *valuators
/**< */)
6425 static const xcb_protocol_request_t xcb_req
= {
6427 /* ext */ &xcb_input_id
,
6428 /* opcode */ XCB_INPUT_SET_DEVICE_VALUATORS
,
6432 struct iovec xcb_parts
[6];
6433 xcb_input_set_device_valuators_cookie_t xcb_ret
;
6434 xcb_input_set_device_valuators_request_t xcb_out
;
6436 xcb_out
.device_id
= device_id
;
6437 xcb_out
.first_valuator
= first_valuator
;
6438 xcb_out
.num_valuators
= num_valuators
;
6441 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6442 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6443 xcb_parts
[3].iov_base
= 0;
6444 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6445 /* int32_t valuators */
6446 xcb_parts
[4].iov_base
= (char *) valuators
;
6447 xcb_parts
[4].iov_len
= num_valuators
* sizeof(int32_t);
6448 xcb_parts
[5].iov_base
= 0;
6449 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
6451 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
6456 /*****************************************************************************
6458 ** xcb_input_set_device_valuators_cookie_t xcb_input_set_device_valuators_unchecked
6460 ** @param xcb_connection_t *c
6461 ** @param uint8_t device_id
6462 ** @param uint8_t first_valuator
6463 ** @param uint8_t num_valuators
6464 ** @param const int32_t *valuators
6465 ** @returns xcb_input_set_device_valuators_cookie_t
6467 *****************************************************************************/
6469 xcb_input_set_device_valuators_cookie_t
6470 xcb_input_set_device_valuators_unchecked (xcb_connection_t
*c
/**< */,
6471 uint8_t device_id
/**< */,
6472 uint8_t first_valuator
/**< */,
6473 uint8_t num_valuators
/**< */,
6474 const int32_t *valuators
/**< */)
6476 static const xcb_protocol_request_t xcb_req
= {
6478 /* ext */ &xcb_input_id
,
6479 /* opcode */ XCB_INPUT_SET_DEVICE_VALUATORS
,
6483 struct iovec xcb_parts
[6];
6484 xcb_input_set_device_valuators_cookie_t xcb_ret
;
6485 xcb_input_set_device_valuators_request_t xcb_out
;
6487 xcb_out
.device_id
= device_id
;
6488 xcb_out
.first_valuator
= first_valuator
;
6489 xcb_out
.num_valuators
= num_valuators
;
6492 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
6493 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
6494 xcb_parts
[3].iov_base
= 0;
6495 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
6496 /* int32_t valuators */
6497 xcb_parts
[4].iov_base
= (char *) valuators
;
6498 xcb_parts
[4].iov_len
= num_valuators
* sizeof(int32_t);
6499 xcb_parts
[5].iov_base
= 0;
6500 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
6502 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
6507 /*****************************************************************************
6509 ** xcb_input_set_device_valuators_reply_t * xcb_input_set_device_valuators_reply
6511 ** @param xcb_connection_t *c
6512 ** @param xcb_input_set_device_valuators_cookie_t cookie
6513 ** @param xcb_generic_error_t **e
6514 ** @returns xcb_input_set_device_valuators_reply_t *
6516 *****************************************************************************/
6518 xcb_input_set_device_valuators_reply_t
*
6519 xcb_input_set_device_valuators_reply (xcb_connection_t
*c
/**< */,
6520 xcb_input_set_device_valuators_cookie_t cookie
/**< */,
6521 xcb_generic_error_t
**e
/**< */)
6523 return (xcb_input_set_device_valuators_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
6527 xcb_input_device_resolution_state_sizeof (const void *_buffer
/**< */)
6529 char *xcb_tmp
= (char *)_buffer
;
6530 const xcb_input_device_resolution_state_t
*_aux
= (xcb_input_device_resolution_state_t
*)_buffer
;
6531 unsigned int xcb_buffer_len
= 0;
6532 unsigned int xcb_block_len
= 0;
6533 unsigned int xcb_pad
= 0;
6534 unsigned int xcb_align_to
= 0;
6537 xcb_block_len
+= sizeof(xcb_input_device_resolution_state_t
);
6538 xcb_tmp
+= xcb_block_len
;
6539 xcb_buffer_len
+= xcb_block_len
;
6541 /* resolution_values */
6542 xcb_block_len
+= _aux
->num_valuators
* sizeof(uint32_t);
6543 xcb_tmp
+= xcb_block_len
;
6544 xcb_align_to
= ALIGNOF(uint32_t);
6545 /* insert padding */
6546 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6547 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6553 /* resolution_min */
6554 xcb_block_len
+= _aux
->num_valuators
* sizeof(uint32_t);
6555 xcb_tmp
+= xcb_block_len
;
6556 xcb_align_to
= ALIGNOF(uint32_t);
6557 /* insert padding */
6558 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6559 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6565 /* resolution_max */
6566 xcb_block_len
+= _aux
->num_valuators
* sizeof(uint32_t);
6567 xcb_tmp
+= xcb_block_len
;
6568 xcb_align_to
= ALIGNOF(uint32_t);
6569 /* insert padding */
6570 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6571 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6578 return xcb_buffer_len
;
6582 /*****************************************************************************
6584 ** uint32_t * xcb_input_device_resolution_state_resolution_values
6586 ** @param const xcb_input_device_resolution_state_t *R
6587 ** @returns uint32_t *
6589 *****************************************************************************/
6592 xcb_input_device_resolution_state_resolution_values (const xcb_input_device_resolution_state_t
*R
/**< */)
6594 return (uint32_t *) (R
+ 1);
6598 /*****************************************************************************
6600 ** int xcb_input_device_resolution_state_resolution_values_length
6602 ** @param const xcb_input_device_resolution_state_t *R
6605 *****************************************************************************/
6608 xcb_input_device_resolution_state_resolution_values_length (const xcb_input_device_resolution_state_t
*R
/**< */)
6610 return R
->num_valuators
;
6614 /*****************************************************************************
6616 ** xcb_generic_iterator_t xcb_input_device_resolution_state_resolution_values_end
6618 ** @param const xcb_input_device_resolution_state_t *R
6619 ** @returns xcb_generic_iterator_t
6621 *****************************************************************************/
6623 xcb_generic_iterator_t
6624 xcb_input_device_resolution_state_resolution_values_end (const xcb_input_device_resolution_state_t
*R
/**< */)
6626 xcb_generic_iterator_t i
;
6627 i
.data
= ((uint32_t *) (R
+ 1)) + (R
->num_valuators
);
6629 i
.index
= (char *) i
.data
- (char *) R
;
6634 /*****************************************************************************
6636 ** uint32_t * xcb_input_device_resolution_state_resolution_min
6638 ** @param const xcb_input_device_resolution_state_t *R
6639 ** @returns uint32_t *
6641 *****************************************************************************/
6644 xcb_input_device_resolution_state_resolution_min (const xcb_input_device_resolution_state_t
*R
/**< */)
6646 xcb_generic_iterator_t prev
= xcb_input_device_resolution_state_resolution_values_end(R
);
6647 return (uint32_t *) ((char *) prev
.data
+ XCB_TYPE_PAD(uint32_t, prev
.index
) + 0);
6651 /*****************************************************************************
6653 ** int xcb_input_device_resolution_state_resolution_min_length
6655 ** @param const xcb_input_device_resolution_state_t *R
6658 *****************************************************************************/
6661 xcb_input_device_resolution_state_resolution_min_length (const xcb_input_device_resolution_state_t
*R
/**< */)
6663 return R
->num_valuators
;
6667 /*****************************************************************************
6669 ** xcb_generic_iterator_t xcb_input_device_resolution_state_resolution_min_end
6671 ** @param const xcb_input_device_resolution_state_t *R
6672 ** @returns xcb_generic_iterator_t
6674 *****************************************************************************/
6676 xcb_generic_iterator_t
6677 xcb_input_device_resolution_state_resolution_min_end (const xcb_input_device_resolution_state_t
*R
/**< */)
6679 xcb_generic_iterator_t i
;
6680 xcb_generic_iterator_t child
= xcb_input_device_resolution_state_resolution_values_end(R
);
6681 i
.data
= ((uint32_t *) child
.data
) + (R
->num_valuators
);
6683 i
.index
= (char *) i
.data
- (char *) R
;
6688 /*****************************************************************************
6690 ** uint32_t * xcb_input_device_resolution_state_resolution_max
6692 ** @param const xcb_input_device_resolution_state_t *R
6693 ** @returns uint32_t *
6695 *****************************************************************************/
6698 xcb_input_device_resolution_state_resolution_max (const xcb_input_device_resolution_state_t
*R
/**< */)
6700 xcb_generic_iterator_t prev
= xcb_input_device_resolution_state_resolution_min_end(R
);
6701 return (uint32_t *) ((char *) prev
.data
+ XCB_TYPE_PAD(uint32_t, prev
.index
) + 0);
6705 /*****************************************************************************
6707 ** int xcb_input_device_resolution_state_resolution_max_length
6709 ** @param const xcb_input_device_resolution_state_t *R
6712 *****************************************************************************/
6715 xcb_input_device_resolution_state_resolution_max_length (const xcb_input_device_resolution_state_t
*R
/**< */)
6717 return R
->num_valuators
;
6721 /*****************************************************************************
6723 ** xcb_generic_iterator_t xcb_input_device_resolution_state_resolution_max_end
6725 ** @param const xcb_input_device_resolution_state_t *R
6726 ** @returns xcb_generic_iterator_t
6728 *****************************************************************************/
6730 xcb_generic_iterator_t
6731 xcb_input_device_resolution_state_resolution_max_end (const xcb_input_device_resolution_state_t
*R
/**< */)
6733 xcb_generic_iterator_t i
;
6734 xcb_generic_iterator_t child
= xcb_input_device_resolution_state_resolution_min_end(R
);
6735 i
.data
= ((uint32_t *) child
.data
) + (R
->num_valuators
);
6737 i
.index
= (char *) i
.data
- (char *) R
;
6742 /*****************************************************************************
6744 ** void xcb_input_device_resolution_state_next
6746 ** @param xcb_input_device_resolution_state_iterator_t *i
6749 *****************************************************************************/
6752 xcb_input_device_resolution_state_next (xcb_input_device_resolution_state_iterator_t
*i
/**< */)
6754 xcb_input_device_resolution_state_t
*R
= i
->data
;
6755 xcb_generic_iterator_t child
;
6756 child
.data
= (xcb_input_device_resolution_state_t
*)(((char *)R
) + xcb_input_device_resolution_state_sizeof(R
));
6757 i
->index
= (char *) child
.data
- (char *) i
->data
;
6759 i
->data
= (xcb_input_device_resolution_state_t
*) child
.data
;
6763 /*****************************************************************************
6765 ** xcb_generic_iterator_t xcb_input_device_resolution_state_end
6767 ** @param xcb_input_device_resolution_state_iterator_t i
6768 ** @returns xcb_generic_iterator_t
6770 *****************************************************************************/
6772 xcb_generic_iterator_t
6773 xcb_input_device_resolution_state_end (xcb_input_device_resolution_state_iterator_t i
/**< */)
6775 xcb_generic_iterator_t ret
;
6777 xcb_input_device_resolution_state_next(&i
);
6780 ret
.index
= i
.index
;
6785 /*****************************************************************************
6787 ** void xcb_input_device_abs_calib_state_next
6789 ** @param xcb_input_device_abs_calib_state_iterator_t *i
6792 *****************************************************************************/
6795 xcb_input_device_abs_calib_state_next (xcb_input_device_abs_calib_state_iterator_t
*i
/**< */)
6799 i
->index
+= sizeof(xcb_input_device_abs_calib_state_t
);
6803 /*****************************************************************************
6805 ** xcb_generic_iterator_t xcb_input_device_abs_calib_state_end
6807 ** @param xcb_input_device_abs_calib_state_iterator_t i
6808 ** @returns xcb_generic_iterator_t
6810 *****************************************************************************/
6812 xcb_generic_iterator_t
6813 xcb_input_device_abs_calib_state_end (xcb_input_device_abs_calib_state_iterator_t i
/**< */)
6815 xcb_generic_iterator_t ret
;
6816 ret
.data
= i
.data
+ i
.rem
;
6817 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
6823 /*****************************************************************************
6825 ** void xcb_input_device_abs_area_state_next
6827 ** @param xcb_input_device_abs_area_state_iterator_t *i
6830 *****************************************************************************/
6833 xcb_input_device_abs_area_state_next (xcb_input_device_abs_area_state_iterator_t
*i
/**< */)
6837 i
->index
+= sizeof(xcb_input_device_abs_area_state_t
);
6841 /*****************************************************************************
6843 ** xcb_generic_iterator_t xcb_input_device_abs_area_state_end
6845 ** @param xcb_input_device_abs_area_state_iterator_t i
6846 ** @returns xcb_generic_iterator_t
6848 *****************************************************************************/
6850 xcb_generic_iterator_t
6851 xcb_input_device_abs_area_state_end (xcb_input_device_abs_area_state_iterator_t i
/**< */)
6853 xcb_generic_iterator_t ret
;
6854 ret
.data
= i
.data
+ i
.rem
;
6855 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
6861 /*****************************************************************************
6863 ** void xcb_input_device_core_state_next
6865 ** @param xcb_input_device_core_state_iterator_t *i
6868 *****************************************************************************/
6871 xcb_input_device_core_state_next (xcb_input_device_core_state_iterator_t
*i
/**< */)
6875 i
->index
+= sizeof(xcb_input_device_core_state_t
);
6879 /*****************************************************************************
6881 ** xcb_generic_iterator_t xcb_input_device_core_state_end
6883 ** @param xcb_input_device_core_state_iterator_t i
6884 ** @returns xcb_generic_iterator_t
6886 *****************************************************************************/
6888 xcb_generic_iterator_t
6889 xcb_input_device_core_state_end (xcb_input_device_core_state_iterator_t i
/**< */)
6891 xcb_generic_iterator_t ret
;
6892 ret
.data
= i
.data
+ i
.rem
;
6893 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
6899 /*****************************************************************************
6901 ** void xcb_input_device_enable_state_next
6903 ** @param xcb_input_device_enable_state_iterator_t *i
6906 *****************************************************************************/
6909 xcb_input_device_enable_state_next (xcb_input_device_enable_state_iterator_t
*i
/**< */)
6913 i
->index
+= sizeof(xcb_input_device_enable_state_t
);
6917 /*****************************************************************************
6919 ** xcb_generic_iterator_t xcb_input_device_enable_state_end
6921 ** @param xcb_input_device_enable_state_iterator_t i
6922 ** @returns xcb_generic_iterator_t
6924 *****************************************************************************/
6926 xcb_generic_iterator_t
6927 xcb_input_device_enable_state_end (xcb_input_device_enable_state_iterator_t i
/**< */)
6929 xcb_generic_iterator_t ret
;
6930 ret
.data
= i
.data
+ i
.rem
;
6931 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
6937 xcb_input_device_state_sizeof (const void *_buffer
/**< */)
6939 char *xcb_tmp
= (char *)_buffer
;
6940 const xcb_input_device_state_t
*_aux
= (xcb_input_device_state_t
*)_buffer
;
6941 unsigned int xcb_buffer_len
= 0;
6942 unsigned int xcb_block_len
= 0;
6943 unsigned int xcb_pad
= 0;
6944 unsigned int xcb_align_to
= 0;
6947 xcb_block_len
+= sizeof(xcb_input_device_state_t
);
6948 xcb_tmp
+= xcb_block_len
;
6949 xcb_buffer_len
+= xcb_block_len
;
6951 /* uninterpreted_data */
6952 xcb_block_len
+= (_aux
->len
- 4) * sizeof(uint8_t);
6953 xcb_tmp
+= xcb_block_len
;
6954 xcb_align_to
= ALIGNOF(uint8_t);
6955 /* insert padding */
6956 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
6957 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
6964 return xcb_buffer_len
;
6968 /*****************************************************************************
6970 ** uint8_t * xcb_input_device_state_uninterpreted_data
6972 ** @param const xcb_input_device_state_t *R
6973 ** @returns uint8_t *
6975 *****************************************************************************/
6978 xcb_input_device_state_uninterpreted_data (const xcb_input_device_state_t
*R
/**< */)
6980 return (uint8_t *) (R
+ 1);
6984 /*****************************************************************************
6986 ** int xcb_input_device_state_uninterpreted_data_length
6988 ** @param const xcb_input_device_state_t *R
6991 *****************************************************************************/
6994 xcb_input_device_state_uninterpreted_data_length (const xcb_input_device_state_t
*R
/**< */)
6996 return (R
->len
- 4);
7000 /*****************************************************************************
7002 ** xcb_generic_iterator_t xcb_input_device_state_uninterpreted_data_end
7004 ** @param const xcb_input_device_state_t *R
7005 ** @returns xcb_generic_iterator_t
7007 *****************************************************************************/
7009 xcb_generic_iterator_t
7010 xcb_input_device_state_uninterpreted_data_end (const xcb_input_device_state_t
*R
/**< */)
7012 xcb_generic_iterator_t i
;
7013 i
.data
= ((uint8_t *) (R
+ 1)) + ((R
->len
- 4));
7015 i
.index
= (char *) i
.data
- (char *) R
;
7020 /*****************************************************************************
7022 ** void xcb_input_device_state_next
7024 ** @param xcb_input_device_state_iterator_t *i
7027 *****************************************************************************/
7030 xcb_input_device_state_next (xcb_input_device_state_iterator_t
*i
/**< */)
7032 xcb_input_device_state_t
*R
= i
->data
;
7033 xcb_generic_iterator_t child
;
7034 child
.data
= (xcb_input_device_state_t
*)(((char *)R
) + xcb_input_device_state_sizeof(R
));
7035 i
->index
= (char *) child
.data
- (char *) i
->data
;
7037 i
->data
= (xcb_input_device_state_t
*) child
.data
;
7041 /*****************************************************************************
7043 ** xcb_generic_iterator_t xcb_input_device_state_end
7045 ** @param xcb_input_device_state_iterator_t i
7046 ** @returns xcb_generic_iterator_t
7048 *****************************************************************************/
7050 xcb_generic_iterator_t
7051 xcb_input_device_state_end (xcb_input_device_state_iterator_t i
/**< */)
7053 xcb_generic_iterator_t ret
;
7055 xcb_input_device_state_next(&i
);
7058 ret
.index
= i
.index
;
7063 xcb_input_get_device_control_sizeof (const void *_buffer
/**< */)
7065 char *xcb_tmp
= (char *)_buffer
;
7066 unsigned int xcb_buffer_len
= 0;
7067 unsigned int xcb_block_len
= 0;
7068 unsigned int xcb_pad
= 0;
7069 unsigned int xcb_align_to
= 0;
7072 xcb_block_len
+= sizeof(xcb_input_get_device_control_reply_t
);
7073 xcb_tmp
+= xcb_block_len
;
7074 xcb_buffer_len
+= xcb_block_len
;
7077 xcb_block_len
+= xcb_input_device_state_sizeof(xcb_tmp
);
7078 xcb_tmp
+= xcb_block_len
;
7079 xcb_align_to
= ALIGNOF(xcb_input_device_state_t
);
7080 /* insert padding */
7081 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
7082 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
7089 return xcb_buffer_len
;
7093 /*****************************************************************************
7095 ** xcb_input_get_device_control_cookie_t xcb_input_get_device_control
7097 ** @param xcb_connection_t *c
7098 ** @param uint16_t control_id
7099 ** @param uint8_t device_id
7100 ** @returns xcb_input_get_device_control_cookie_t
7102 *****************************************************************************/
7104 xcb_input_get_device_control_cookie_t
7105 xcb_input_get_device_control (xcb_connection_t
*c
/**< */,
7106 uint16_t control_id
/**< */,
7107 uint8_t device_id
/**< */)
7109 static const xcb_protocol_request_t xcb_req
= {
7111 /* ext */ &xcb_input_id
,
7112 /* opcode */ XCB_INPUT_GET_DEVICE_CONTROL
,
7116 struct iovec xcb_parts
[4];
7117 xcb_input_get_device_control_cookie_t xcb_ret
;
7118 xcb_input_get_device_control_request_t xcb_out
;
7120 xcb_out
.control_id
= control_id
;
7121 xcb_out
.device_id
= device_id
;
7124 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
7125 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
7126 xcb_parts
[3].iov_base
= 0;
7127 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
7129 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
7134 /*****************************************************************************
7136 ** xcb_input_get_device_control_cookie_t xcb_input_get_device_control_unchecked
7138 ** @param xcb_connection_t *c
7139 ** @param uint16_t control_id
7140 ** @param uint8_t device_id
7141 ** @returns xcb_input_get_device_control_cookie_t
7143 *****************************************************************************/
7145 xcb_input_get_device_control_cookie_t
7146 xcb_input_get_device_control_unchecked (xcb_connection_t
*c
/**< */,
7147 uint16_t control_id
/**< */,
7148 uint8_t device_id
/**< */)
7150 static const xcb_protocol_request_t xcb_req
= {
7152 /* ext */ &xcb_input_id
,
7153 /* opcode */ XCB_INPUT_GET_DEVICE_CONTROL
,
7157 struct iovec xcb_parts
[4];
7158 xcb_input_get_device_control_cookie_t xcb_ret
;
7159 xcb_input_get_device_control_request_t xcb_out
;
7161 xcb_out
.control_id
= control_id
;
7162 xcb_out
.device_id
= device_id
;
7165 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
7166 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
7167 xcb_parts
[3].iov_base
= 0;
7168 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
7170 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
7175 /*****************************************************************************
7177 ** xcb_input_device_state_t * xcb_input_get_device_control_control
7179 ** @param const xcb_input_get_device_control_reply_t *R
7180 ** @returns xcb_input_device_state_t *
7182 *****************************************************************************/
7184 xcb_input_device_state_t
*
7185 xcb_input_get_device_control_control (const xcb_input_get_device_control_reply_t
*R
/**< */)
7187 return (xcb_input_device_state_t
*) (R
+ 1);
7191 /*****************************************************************************
7193 ** xcb_input_get_device_control_reply_t * xcb_input_get_device_control_reply
7195 ** @param xcb_connection_t *c
7196 ** @param xcb_input_get_device_control_cookie_t cookie
7197 ** @param xcb_generic_error_t **e
7198 ** @returns xcb_input_get_device_control_reply_t *
7200 *****************************************************************************/
7202 xcb_input_get_device_control_reply_t
*
7203 xcb_input_get_device_control_reply (xcb_connection_t
*c
/**< */,
7204 xcb_input_get_device_control_cookie_t cookie
/**< */,
7205 xcb_generic_error_t
**e
/**< */)
7207 return (xcb_input_get_device_control_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
7211 xcb_input_device_resolution_ctl_sizeof (const void *_buffer
/**< */)
7213 char *xcb_tmp
= (char *)_buffer
;
7214 const xcb_input_device_resolution_ctl_t
*_aux
= (xcb_input_device_resolution_ctl_t
*)_buffer
;
7215 unsigned int xcb_buffer_len
= 0;
7216 unsigned int xcb_block_len
= 0;
7217 unsigned int xcb_pad
= 0;
7218 unsigned int xcb_align_to
= 0;
7221 xcb_block_len
+= sizeof(xcb_input_device_resolution_ctl_t
);
7222 xcb_tmp
+= xcb_block_len
;
7223 xcb_buffer_len
+= xcb_block_len
;
7225 /* resolution_values */
7226 xcb_block_len
+= _aux
->num_valuators
* sizeof(uint32_t);
7227 xcb_tmp
+= xcb_block_len
;
7228 xcb_align_to
= ALIGNOF(uint32_t);
7229 /* insert padding */
7230 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
7231 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
7238 return xcb_buffer_len
;
7242 /*****************************************************************************
7244 ** uint32_t * xcb_input_device_resolution_ctl_resolution_values
7246 ** @param const xcb_input_device_resolution_ctl_t *R
7247 ** @returns uint32_t *
7249 *****************************************************************************/
7252 xcb_input_device_resolution_ctl_resolution_values (const xcb_input_device_resolution_ctl_t
*R
/**< */)
7254 return (uint32_t *) (R
+ 1);
7258 /*****************************************************************************
7260 ** int xcb_input_device_resolution_ctl_resolution_values_length
7262 ** @param const xcb_input_device_resolution_ctl_t *R
7265 *****************************************************************************/
7268 xcb_input_device_resolution_ctl_resolution_values_length (const xcb_input_device_resolution_ctl_t
*R
/**< */)
7270 return R
->num_valuators
;
7274 /*****************************************************************************
7276 ** xcb_generic_iterator_t xcb_input_device_resolution_ctl_resolution_values_end
7278 ** @param const xcb_input_device_resolution_ctl_t *R
7279 ** @returns xcb_generic_iterator_t
7281 *****************************************************************************/
7283 xcb_generic_iterator_t
7284 xcb_input_device_resolution_ctl_resolution_values_end (const xcb_input_device_resolution_ctl_t
*R
/**< */)
7286 xcb_generic_iterator_t i
;
7287 i
.data
= ((uint32_t *) (R
+ 1)) + (R
->num_valuators
);
7289 i
.index
= (char *) i
.data
- (char *) R
;
7294 /*****************************************************************************
7296 ** void xcb_input_device_resolution_ctl_next
7298 ** @param xcb_input_device_resolution_ctl_iterator_t *i
7301 *****************************************************************************/
7304 xcb_input_device_resolution_ctl_next (xcb_input_device_resolution_ctl_iterator_t
*i
/**< */)
7306 xcb_input_device_resolution_ctl_t
*R
= i
->data
;
7307 xcb_generic_iterator_t child
;
7308 child
.data
= (xcb_input_device_resolution_ctl_t
*)(((char *)R
) + xcb_input_device_resolution_ctl_sizeof(R
));
7309 i
->index
= (char *) child
.data
- (char *) i
->data
;
7311 i
->data
= (xcb_input_device_resolution_ctl_t
*) child
.data
;
7315 /*****************************************************************************
7317 ** xcb_generic_iterator_t xcb_input_device_resolution_ctl_end
7319 ** @param xcb_input_device_resolution_ctl_iterator_t i
7320 ** @returns xcb_generic_iterator_t
7322 *****************************************************************************/
7324 xcb_generic_iterator_t
7325 xcb_input_device_resolution_ctl_end (xcb_input_device_resolution_ctl_iterator_t i
/**< */)
7327 xcb_generic_iterator_t ret
;
7329 xcb_input_device_resolution_ctl_next(&i
);
7332 ret
.index
= i
.index
;
7337 /*****************************************************************************
7339 ** void xcb_input_device_abs_calib_ctl_next
7341 ** @param xcb_input_device_abs_calib_ctl_iterator_t *i
7344 *****************************************************************************/
7347 xcb_input_device_abs_calib_ctl_next (xcb_input_device_abs_calib_ctl_iterator_t
*i
/**< */)
7351 i
->index
+= sizeof(xcb_input_device_abs_calib_ctl_t
);
7355 /*****************************************************************************
7357 ** xcb_generic_iterator_t xcb_input_device_abs_calib_ctl_end
7359 ** @param xcb_input_device_abs_calib_ctl_iterator_t i
7360 ** @returns xcb_generic_iterator_t
7362 *****************************************************************************/
7364 xcb_generic_iterator_t
7365 xcb_input_device_abs_calib_ctl_end (xcb_input_device_abs_calib_ctl_iterator_t i
/**< */)
7367 xcb_generic_iterator_t ret
;
7368 ret
.data
= i
.data
+ i
.rem
;
7369 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
7375 /*****************************************************************************
7377 ** void xcb_input_device_abs_area_ctrl_next
7379 ** @param xcb_input_device_abs_area_ctrl_iterator_t *i
7382 *****************************************************************************/
7385 xcb_input_device_abs_area_ctrl_next (xcb_input_device_abs_area_ctrl_iterator_t
*i
/**< */)
7389 i
->index
+= sizeof(xcb_input_device_abs_area_ctrl_t
);
7393 /*****************************************************************************
7395 ** xcb_generic_iterator_t xcb_input_device_abs_area_ctrl_end
7397 ** @param xcb_input_device_abs_area_ctrl_iterator_t i
7398 ** @returns xcb_generic_iterator_t
7400 *****************************************************************************/
7402 xcb_generic_iterator_t
7403 xcb_input_device_abs_area_ctrl_end (xcb_input_device_abs_area_ctrl_iterator_t i
/**< */)
7405 xcb_generic_iterator_t ret
;
7406 ret
.data
= i
.data
+ i
.rem
;
7407 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
7413 /*****************************************************************************
7415 ** void xcb_input_device_core_ctrl_next
7417 ** @param xcb_input_device_core_ctrl_iterator_t *i
7420 *****************************************************************************/
7423 xcb_input_device_core_ctrl_next (xcb_input_device_core_ctrl_iterator_t
*i
/**< */)
7427 i
->index
+= sizeof(xcb_input_device_core_ctrl_t
);
7431 /*****************************************************************************
7433 ** xcb_generic_iterator_t xcb_input_device_core_ctrl_end
7435 ** @param xcb_input_device_core_ctrl_iterator_t i
7436 ** @returns xcb_generic_iterator_t
7438 *****************************************************************************/
7440 xcb_generic_iterator_t
7441 xcb_input_device_core_ctrl_end (xcb_input_device_core_ctrl_iterator_t i
/**< */)
7443 xcb_generic_iterator_t ret
;
7444 ret
.data
= i
.data
+ i
.rem
;
7445 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
7451 /*****************************************************************************
7453 ** void xcb_input_device_enable_ctrl_next
7455 ** @param xcb_input_device_enable_ctrl_iterator_t *i
7458 *****************************************************************************/
7461 xcb_input_device_enable_ctrl_next (xcb_input_device_enable_ctrl_iterator_t
*i
/**< */)
7465 i
->index
+= sizeof(xcb_input_device_enable_ctrl_t
);
7469 /*****************************************************************************
7471 ** xcb_generic_iterator_t xcb_input_device_enable_ctrl_end
7473 ** @param xcb_input_device_enable_ctrl_iterator_t i
7474 ** @returns xcb_generic_iterator_t
7476 *****************************************************************************/
7478 xcb_generic_iterator_t
7479 xcb_input_device_enable_ctrl_end (xcb_input_device_enable_ctrl_iterator_t i
/**< */)
7481 xcb_generic_iterator_t ret
;
7482 ret
.data
= i
.data
+ i
.rem
;
7483 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
7489 xcb_input_device_ctl_sizeof (const void *_buffer
/**< */)
7491 char *xcb_tmp
= (char *)_buffer
;
7492 const xcb_input_device_ctl_t
*_aux
= (xcb_input_device_ctl_t
*)_buffer
;
7493 unsigned int xcb_buffer_len
= 0;
7494 unsigned int xcb_block_len
= 0;
7495 unsigned int xcb_pad
= 0;
7496 unsigned int xcb_align_to
= 0;
7499 xcb_block_len
+= sizeof(xcb_input_device_ctl_t
);
7500 xcb_tmp
+= xcb_block_len
;
7501 xcb_buffer_len
+= xcb_block_len
;
7503 /* uninterpreted_data */
7504 xcb_block_len
+= (_aux
->len
- 4) * sizeof(uint8_t);
7505 xcb_tmp
+= xcb_block_len
;
7506 xcb_align_to
= ALIGNOF(uint8_t);
7507 /* insert padding */
7508 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
7509 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
7516 return xcb_buffer_len
;
7520 /*****************************************************************************
7522 ** uint8_t * xcb_input_device_ctl_uninterpreted_data
7524 ** @param const xcb_input_device_ctl_t *R
7525 ** @returns uint8_t *
7527 *****************************************************************************/
7530 xcb_input_device_ctl_uninterpreted_data (const xcb_input_device_ctl_t
*R
/**< */)
7532 return (uint8_t *) (R
+ 1);
7536 /*****************************************************************************
7538 ** int xcb_input_device_ctl_uninterpreted_data_length
7540 ** @param const xcb_input_device_ctl_t *R
7543 *****************************************************************************/
7546 xcb_input_device_ctl_uninterpreted_data_length (const xcb_input_device_ctl_t
*R
/**< */)
7548 return (R
->len
- 4);
7552 /*****************************************************************************
7554 ** xcb_generic_iterator_t xcb_input_device_ctl_uninterpreted_data_end
7556 ** @param const xcb_input_device_ctl_t *R
7557 ** @returns xcb_generic_iterator_t
7559 *****************************************************************************/
7561 xcb_generic_iterator_t
7562 xcb_input_device_ctl_uninterpreted_data_end (const xcb_input_device_ctl_t
*R
/**< */)
7564 xcb_generic_iterator_t i
;
7565 i
.data
= ((uint8_t *) (R
+ 1)) + ((R
->len
- 4));
7567 i
.index
= (char *) i
.data
- (char *) R
;
7572 /*****************************************************************************
7574 ** void xcb_input_device_ctl_next
7576 ** @param xcb_input_device_ctl_iterator_t *i
7579 *****************************************************************************/
7582 xcb_input_device_ctl_next (xcb_input_device_ctl_iterator_t
*i
/**< */)
7584 xcb_input_device_ctl_t
*R
= i
->data
;
7585 xcb_generic_iterator_t child
;
7586 child
.data
= (xcb_input_device_ctl_t
*)(((char *)R
) + xcb_input_device_ctl_sizeof(R
));
7587 i
->index
= (char *) child
.data
- (char *) i
->data
;
7589 i
->data
= (xcb_input_device_ctl_t
*) child
.data
;
7593 /*****************************************************************************
7595 ** xcb_generic_iterator_t xcb_input_device_ctl_end
7597 ** @param xcb_input_device_ctl_iterator_t i
7598 ** @returns xcb_generic_iterator_t
7600 *****************************************************************************/
7602 xcb_generic_iterator_t
7603 xcb_input_device_ctl_end (xcb_input_device_ctl_iterator_t i
/**< */)
7605 xcb_generic_iterator_t ret
;
7607 xcb_input_device_ctl_next(&i
);
7610 ret
.index
= i
.index
;
7615 xcb_input_change_device_control_sizeof (const void *_buffer
/**< */)
7617 char *xcb_tmp
= (char *)_buffer
;
7618 unsigned int xcb_buffer_len
= 0;
7619 unsigned int xcb_block_len
= 0;
7620 unsigned int xcb_pad
= 0;
7621 unsigned int xcb_align_to
= 0;
7624 xcb_block_len
+= sizeof(xcb_input_change_device_control_request_t
);
7625 xcb_tmp
+= xcb_block_len
;
7626 xcb_buffer_len
+= xcb_block_len
;
7629 xcb_block_len
+= xcb_input_device_ctl_sizeof(xcb_tmp
);
7630 xcb_tmp
+= xcb_block_len
;
7631 xcb_align_to
= ALIGNOF(xcb_input_device_ctl_t
);
7632 /* insert padding */
7633 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
7634 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
7641 return xcb_buffer_len
;
7645 /*****************************************************************************
7647 ** xcb_input_change_device_control_cookie_t xcb_input_change_device_control
7649 ** @param xcb_connection_t *c
7650 ** @param uint16_t control_id
7651 ** @param uint8_t device_id
7652 ** @param xcb_input_device_ctl_t *control
7653 ** @returns xcb_input_change_device_control_cookie_t
7655 *****************************************************************************/
7657 xcb_input_change_device_control_cookie_t
7658 xcb_input_change_device_control (xcb_connection_t
*c
/**< */,
7659 uint16_t control_id
/**< */,
7660 uint8_t device_id
/**< */,
7661 xcb_input_device_ctl_t
*control
/**< */)
7663 static const xcb_protocol_request_t xcb_req
= {
7665 /* ext */ &xcb_input_id
,
7666 /* opcode */ XCB_INPUT_CHANGE_DEVICE_CONTROL
,
7670 struct iovec xcb_parts
[6];
7671 xcb_input_change_device_control_cookie_t xcb_ret
;
7672 xcb_input_change_device_control_request_t xcb_out
;
7674 xcb_out
.control_id
= control_id
;
7675 xcb_out
.device_id
= device_id
;
7678 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
7679 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
7680 xcb_parts
[3].iov_base
= 0;
7681 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
7682 /* xcb_input_device_ctl_t control */
7683 xcb_parts
[4].iov_base
= (char *) control
;
7684 xcb_parts
[4].iov_len
=
7685 xcb_input_device_ctl_sizeof (control
);
7687 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
7692 /*****************************************************************************
7694 ** xcb_input_change_device_control_cookie_t xcb_input_change_device_control_unchecked
7696 ** @param xcb_connection_t *c
7697 ** @param uint16_t control_id
7698 ** @param uint8_t device_id
7699 ** @param xcb_input_device_ctl_t *control
7700 ** @returns xcb_input_change_device_control_cookie_t
7702 *****************************************************************************/
7704 xcb_input_change_device_control_cookie_t
7705 xcb_input_change_device_control_unchecked (xcb_connection_t
*c
/**< */,
7706 uint16_t control_id
/**< */,
7707 uint8_t device_id
/**< */,
7708 xcb_input_device_ctl_t
*control
/**< */)
7710 static const xcb_protocol_request_t xcb_req
= {
7712 /* ext */ &xcb_input_id
,
7713 /* opcode */ XCB_INPUT_CHANGE_DEVICE_CONTROL
,
7717 struct iovec xcb_parts
[6];
7718 xcb_input_change_device_control_cookie_t xcb_ret
;
7719 xcb_input_change_device_control_request_t xcb_out
;
7721 xcb_out
.control_id
= control_id
;
7722 xcb_out
.device_id
= device_id
;
7725 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
7726 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
7727 xcb_parts
[3].iov_base
= 0;
7728 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
7729 /* xcb_input_device_ctl_t control */
7730 xcb_parts
[4].iov_base
= (char *) control
;
7731 xcb_parts
[4].iov_len
=
7732 xcb_input_device_ctl_sizeof (control
);
7734 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
7739 /*****************************************************************************
7741 ** xcb_input_change_device_control_reply_t * xcb_input_change_device_control_reply
7743 ** @param xcb_connection_t *c
7744 ** @param xcb_input_change_device_control_cookie_t cookie
7745 ** @param xcb_generic_error_t **e
7746 ** @returns xcb_input_change_device_control_reply_t *
7748 *****************************************************************************/
7750 xcb_input_change_device_control_reply_t
*
7751 xcb_input_change_device_control_reply (xcb_connection_t
*c
/**< */,
7752 xcb_input_change_device_control_cookie_t cookie
/**< */,
7753 xcb_generic_error_t
**e
/**< */)
7755 return (xcb_input_change_device_control_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
7759 xcb_input_list_device_properties_sizeof (const void *_buffer
/**< */)
7761 char *xcb_tmp
= (char *)_buffer
;
7762 const xcb_input_list_device_properties_reply_t
*_aux
= (xcb_input_list_device_properties_reply_t
*)_buffer
;
7763 unsigned int xcb_buffer_len
= 0;
7764 unsigned int xcb_block_len
= 0;
7765 unsigned int xcb_pad
= 0;
7766 unsigned int xcb_align_to
= 0;
7769 xcb_block_len
+= sizeof(xcb_input_list_device_properties_reply_t
);
7770 xcb_tmp
+= xcb_block_len
;
7771 xcb_buffer_len
+= xcb_block_len
;
7774 xcb_block_len
+= _aux
->num_atoms
* sizeof(xcb_atom_t
);
7775 xcb_tmp
+= xcb_block_len
;
7776 xcb_align_to
= ALIGNOF(xcb_atom_t
);
7777 /* insert padding */
7778 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
7779 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
7786 return xcb_buffer_len
;
7790 /*****************************************************************************
7792 ** xcb_input_list_device_properties_cookie_t xcb_input_list_device_properties
7794 ** @param xcb_connection_t *c
7795 ** @param uint8_t device_id
7796 ** @returns xcb_input_list_device_properties_cookie_t
7798 *****************************************************************************/
7800 xcb_input_list_device_properties_cookie_t
7801 xcb_input_list_device_properties (xcb_connection_t
*c
/**< */,
7802 uint8_t device_id
/**< */)
7804 static const xcb_protocol_request_t xcb_req
= {
7806 /* ext */ &xcb_input_id
,
7807 /* opcode */ XCB_INPUT_LIST_DEVICE_PROPERTIES
,
7811 struct iovec xcb_parts
[4];
7812 xcb_input_list_device_properties_cookie_t xcb_ret
;
7813 xcb_input_list_device_properties_request_t xcb_out
;
7815 xcb_out
.device_id
= device_id
;
7816 memset(xcb_out
.pad0
, 0, 3);
7818 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
7819 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
7820 xcb_parts
[3].iov_base
= 0;
7821 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
7823 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
7828 /*****************************************************************************
7830 ** xcb_input_list_device_properties_cookie_t xcb_input_list_device_properties_unchecked
7832 ** @param xcb_connection_t *c
7833 ** @param uint8_t device_id
7834 ** @returns xcb_input_list_device_properties_cookie_t
7836 *****************************************************************************/
7838 xcb_input_list_device_properties_cookie_t
7839 xcb_input_list_device_properties_unchecked (xcb_connection_t
*c
/**< */,
7840 uint8_t device_id
/**< */)
7842 static const xcb_protocol_request_t xcb_req
= {
7844 /* ext */ &xcb_input_id
,
7845 /* opcode */ XCB_INPUT_LIST_DEVICE_PROPERTIES
,
7849 struct iovec xcb_parts
[4];
7850 xcb_input_list_device_properties_cookie_t xcb_ret
;
7851 xcb_input_list_device_properties_request_t xcb_out
;
7853 xcb_out
.device_id
= device_id
;
7854 memset(xcb_out
.pad0
, 0, 3);
7856 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
7857 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
7858 xcb_parts
[3].iov_base
= 0;
7859 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
7861 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
7866 /*****************************************************************************
7868 ** xcb_atom_t * xcb_input_list_device_properties_atoms
7870 ** @param const xcb_input_list_device_properties_reply_t *R
7871 ** @returns xcb_atom_t *
7873 *****************************************************************************/
7876 xcb_input_list_device_properties_atoms (const xcb_input_list_device_properties_reply_t
*R
/**< */)
7878 return (xcb_atom_t
*) (R
+ 1);
7882 /*****************************************************************************
7884 ** int xcb_input_list_device_properties_atoms_length
7886 ** @param const xcb_input_list_device_properties_reply_t *R
7889 *****************************************************************************/
7892 xcb_input_list_device_properties_atoms_length (const xcb_input_list_device_properties_reply_t
*R
/**< */)
7894 return R
->num_atoms
;
7898 /*****************************************************************************
7900 ** xcb_generic_iterator_t xcb_input_list_device_properties_atoms_end
7902 ** @param const xcb_input_list_device_properties_reply_t *R
7903 ** @returns xcb_generic_iterator_t
7905 *****************************************************************************/
7907 xcb_generic_iterator_t
7908 xcb_input_list_device_properties_atoms_end (const xcb_input_list_device_properties_reply_t
*R
/**< */)
7910 xcb_generic_iterator_t i
;
7911 i
.data
= ((xcb_atom_t
*) (R
+ 1)) + (R
->num_atoms
);
7913 i
.index
= (char *) i
.data
- (char *) R
;
7918 /*****************************************************************************
7920 ** xcb_input_list_device_properties_reply_t * xcb_input_list_device_properties_reply
7922 ** @param xcb_connection_t *c
7923 ** @param xcb_input_list_device_properties_cookie_t cookie
7924 ** @param xcb_generic_error_t **e
7925 ** @returns xcb_input_list_device_properties_reply_t *
7927 *****************************************************************************/
7929 xcb_input_list_device_properties_reply_t
*
7930 xcb_input_list_device_properties_reply (xcb_connection_t
*c
/**< */,
7931 xcb_input_list_device_properties_cookie_t cookie
/**< */,
7932 xcb_generic_error_t
**e
/**< */)
7934 return (xcb_input_list_device_properties_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
7938 /*****************************************************************************
7940 ** uint8_t * xcb_input_change_device_property_items_data_8
7942 ** @param const xcb_input_change_device_property_items_t *S
7943 ** @returns uint8_t *
7945 *****************************************************************************/
7948 xcb_input_change_device_property_items_data_8 (const xcb_input_change_device_property_items_t
*S
/**< */)
7950 return /* items */ S
->data8
;
7954 /*****************************************************************************
7956 ** int xcb_input_change_device_property_items_data_8_length
7958 ** @param const xcb_input_change_device_property_items_t *R
7961 *****************************************************************************/
7964 xcb_input_change_device_property_items_data_8_length (const xcb_input_change_device_property_request_t
*R
/**< */,
7965 const xcb_input_change_device_property_items_t
*S
/**< */)
7967 return R
->num_items
;
7971 /*****************************************************************************
7973 ** xcb_generic_iterator_t xcb_input_change_device_property_items_data_8_end
7975 ** @param const xcb_input_change_device_property_items_t *R
7976 ** @returns xcb_generic_iterator_t
7978 *****************************************************************************/
7980 xcb_generic_iterator_t
7981 xcb_input_change_device_property_items_data_8_end (const xcb_input_change_device_property_request_t
*R
/**< */,
7982 const xcb_input_change_device_property_items_t
*S
/**< */)
7984 xcb_generic_iterator_t i
;
7985 i
.data
= /* items */ S
->data8
+ R
->num_items
;
7987 i
.index
= (char *) i
.data
- (char *) S
;
7992 /*****************************************************************************
7994 ** uint16_t * xcb_input_change_device_property_items_data_16
7996 ** @param const xcb_input_change_device_property_items_t *S
7997 ** @returns uint16_t *
7999 *****************************************************************************/
8002 xcb_input_change_device_property_items_data_16 (const xcb_input_change_device_property_items_t
*S
/**< */)
8004 return /* items */ S
->data16
;
8008 /*****************************************************************************
8010 ** int xcb_input_change_device_property_items_data_16_length
8012 ** @param const xcb_input_change_device_property_items_t *R
8015 *****************************************************************************/
8018 xcb_input_change_device_property_items_data_16_length (const xcb_input_change_device_property_request_t
*R
/**< */,
8019 const xcb_input_change_device_property_items_t
*S
/**< */)
8021 return R
->num_items
;
8025 /*****************************************************************************
8027 ** xcb_generic_iterator_t xcb_input_change_device_property_items_data_16_end
8029 ** @param const xcb_input_change_device_property_items_t *R
8030 ** @returns xcb_generic_iterator_t
8032 *****************************************************************************/
8034 xcb_generic_iterator_t
8035 xcb_input_change_device_property_items_data_16_end (const xcb_input_change_device_property_request_t
*R
/**< */,
8036 const xcb_input_change_device_property_items_t
*S
/**< */)
8038 xcb_generic_iterator_t i
;
8039 i
.data
= /* items */ S
->data16
+ R
->num_items
;
8041 i
.index
= (char *) i
.data
- (char *) S
;
8046 /*****************************************************************************
8048 ** uint32_t * xcb_input_change_device_property_items_data_32
8050 ** @param const xcb_input_change_device_property_items_t *S
8051 ** @returns uint32_t *
8053 *****************************************************************************/
8056 xcb_input_change_device_property_items_data_32 (const xcb_input_change_device_property_items_t
*S
/**< */)
8058 return /* items */ S
->data32
;
8062 /*****************************************************************************
8064 ** int xcb_input_change_device_property_items_data_32_length
8066 ** @param const xcb_input_change_device_property_items_t *R
8069 *****************************************************************************/
8072 xcb_input_change_device_property_items_data_32_length (const xcb_input_change_device_property_request_t
*R
/**< */,
8073 const xcb_input_change_device_property_items_t
*S
/**< */)
8075 return R
->num_items
;
8079 /*****************************************************************************
8081 ** xcb_generic_iterator_t xcb_input_change_device_property_items_data_32_end
8083 ** @param const xcb_input_change_device_property_items_t *R
8084 ** @returns xcb_generic_iterator_t
8086 *****************************************************************************/
8088 xcb_generic_iterator_t
8089 xcb_input_change_device_property_items_data_32_end (const xcb_input_change_device_property_request_t
*R
/**< */,
8090 const xcb_input_change_device_property_items_t
*S
/**< */)
8092 xcb_generic_iterator_t i
;
8093 i
.data
= /* items */ S
->data32
+ R
->num_items
;
8095 i
.index
= (char *) i
.data
- (char *) S
;
8100 xcb_input_change_device_property_items_serialize (void **_buffer
/**< */,
8101 uint32_t num_items
/**< */,
8102 uint8_t format
/**< */,
8103 const xcb_input_change_device_property_items_t
*_aux
/**< */)
8105 char *xcb_out
= *_buffer
;
8106 unsigned int xcb_buffer_len
= 0;
8107 unsigned int xcb_align_to
= 0;
8109 unsigned int xcb_pad
= 0;
8110 char xcb_pad0
[3] = {0, 0, 0};
8111 struct iovec xcb_parts
[7];
8112 unsigned int xcb_parts_idx
= 0;
8113 unsigned int xcb_block_len
= 0;
8117 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
8118 /* insert padding */
8119 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8120 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8122 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8123 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8129 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data8
;
8130 xcb_block_len
+= num_items
* sizeof(uint8_t);
8131 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint8_t);
8133 xcb_align_to
= ALIGNOF(uint8_t);
8135 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
8136 /* insert padding */
8137 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8138 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8140 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8141 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8147 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data16
;
8148 xcb_block_len
+= num_items
* sizeof(uint16_t);
8149 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint16_t);
8151 xcb_align_to
= ALIGNOF(uint16_t);
8153 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
8154 /* insert padding */
8155 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8156 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8158 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8159 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8165 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data32
;
8166 xcb_block_len
+= num_items
* sizeof(uint32_t);
8167 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint32_t);
8169 xcb_align_to
= ALIGNOF(uint32_t);
8171 /* insert padding */
8172 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8173 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8175 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8176 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8182 if (NULL
== xcb_out
) {
8183 /* allocate memory */
8184 xcb_out
= malloc(xcb_buffer_len
);
8189 for(i
=0; i
<xcb_parts_idx
; i
++) {
8190 if (0 != xcb_parts
[i
].iov_base
&& 0 != xcb_parts
[i
].iov_len
)
8191 memcpy(xcb_tmp
, xcb_parts
[i
].iov_base
, xcb_parts
[i
].iov_len
);
8192 if (0 != xcb_parts
[i
].iov_len
)
8193 xcb_tmp
+= xcb_parts
[i
].iov_len
;
8196 return xcb_buffer_len
;
8200 xcb_input_change_device_property_items_unpack (const void *_buffer
/**< */,
8201 uint32_t num_items
/**< */,
8202 uint8_t format
/**< */,
8203 xcb_input_change_device_property_items_t
*_aux
/**< */)
8205 char *xcb_tmp
= (char *)_buffer
;
8206 unsigned int xcb_buffer_len
= 0;
8207 unsigned int xcb_block_len
= 0;
8208 unsigned int xcb_pad
= 0;
8209 unsigned int xcb_align_to
= 0;
8212 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
8213 /* insert padding */
8214 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8215 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8222 _aux
->data8
= (uint8_t *)xcb_tmp
;
8223 xcb_block_len
+= num_items
* sizeof(uint8_t);
8224 xcb_tmp
+= xcb_block_len
;
8225 xcb_align_to
= ALIGNOF(uint8_t);
8227 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
8228 /* insert padding */
8229 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8230 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8237 _aux
->data16
= (uint16_t *)xcb_tmp
;
8238 xcb_block_len
+= num_items
* sizeof(uint16_t);
8239 xcb_tmp
+= xcb_block_len
;
8240 xcb_align_to
= ALIGNOF(uint16_t);
8242 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
8243 /* insert padding */
8244 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8245 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8252 _aux
->data32
= (uint32_t *)xcb_tmp
;
8253 xcb_block_len
+= num_items
* sizeof(uint32_t);
8254 xcb_tmp
+= xcb_block_len
;
8255 xcb_align_to
= ALIGNOF(uint32_t);
8257 /* insert padding */
8258 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8259 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8266 return xcb_buffer_len
;
8270 xcb_input_change_device_property_items_sizeof (const void *_buffer
/**< */,
8271 uint32_t num_items
/**< */,
8272 uint8_t format
/**< */)
8274 xcb_input_change_device_property_items_t _aux
;
8275 return xcb_input_change_device_property_items_unpack(_buffer
, num_items
, format
, &_aux
);
8279 /*****************************************************************************
8281 ** xcb_void_cookie_t xcb_input_change_device_property_checked
8283 ** @param xcb_connection_t *c
8284 ** @param xcb_atom_t property
8285 ** @param xcb_atom_t type
8286 ** @param uint8_t device_id
8287 ** @param uint8_t format
8288 ** @param uint8_t mode
8289 ** @param uint32_t num_items
8290 ** @param const void *items
8291 ** @returns xcb_void_cookie_t
8293 *****************************************************************************/
8296 xcb_input_change_device_property_checked (xcb_connection_t
*c
/**< */,
8297 xcb_atom_t property
/**< */,
8298 xcb_atom_t type
/**< */,
8299 uint8_t device_id
/**< */,
8300 uint8_t format
/**< */,
8301 uint8_t mode
/**< */,
8302 uint32_t num_items
/**< */,
8303 const void *items
/**< */)
8305 static const xcb_protocol_request_t xcb_req
= {
8307 /* ext */ &xcb_input_id
,
8308 /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY
,
8312 struct iovec xcb_parts
[5];
8313 xcb_void_cookie_t xcb_ret
;
8314 xcb_input_change_device_property_request_t xcb_out
;
8316 xcb_out
.property
= property
;
8317 xcb_out
.type
= type
;
8318 xcb_out
.device_id
= device_id
;
8319 xcb_out
.format
= format
;
8320 xcb_out
.mode
= mode
;
8322 xcb_out
.num_items
= num_items
;
8324 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8325 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8326 xcb_parts
[3].iov_base
= 0;
8327 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8328 /* xcb_input_change_device_property_items_t items */
8329 xcb_parts
[4].iov_base
= (char *) items
;
8330 xcb_parts
[4].iov_len
=
8331 xcb_input_change_device_property_items_sizeof (items
, num_items
, format
);
8333 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
8338 /*****************************************************************************
8340 ** xcb_void_cookie_t xcb_input_change_device_property
8342 ** @param xcb_connection_t *c
8343 ** @param xcb_atom_t property
8344 ** @param xcb_atom_t type
8345 ** @param uint8_t device_id
8346 ** @param uint8_t format
8347 ** @param uint8_t mode
8348 ** @param uint32_t num_items
8349 ** @param const void *items
8350 ** @returns xcb_void_cookie_t
8352 *****************************************************************************/
8355 xcb_input_change_device_property (xcb_connection_t
*c
/**< */,
8356 xcb_atom_t property
/**< */,
8357 xcb_atom_t type
/**< */,
8358 uint8_t device_id
/**< */,
8359 uint8_t format
/**< */,
8360 uint8_t mode
/**< */,
8361 uint32_t num_items
/**< */,
8362 const void *items
/**< */)
8364 static const xcb_protocol_request_t xcb_req
= {
8366 /* ext */ &xcb_input_id
,
8367 /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY
,
8371 struct iovec xcb_parts
[5];
8372 xcb_void_cookie_t xcb_ret
;
8373 xcb_input_change_device_property_request_t xcb_out
;
8375 xcb_out
.property
= property
;
8376 xcb_out
.type
= type
;
8377 xcb_out
.device_id
= device_id
;
8378 xcb_out
.format
= format
;
8379 xcb_out
.mode
= mode
;
8381 xcb_out
.num_items
= num_items
;
8383 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8384 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8385 xcb_parts
[3].iov_base
= 0;
8386 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8387 /* xcb_input_change_device_property_items_t items */
8388 xcb_parts
[4].iov_base
= (char *) items
;
8389 xcb_parts
[4].iov_len
=
8390 xcb_input_change_device_property_items_sizeof (items
, num_items
, format
);
8392 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
8397 /*****************************************************************************
8399 ** xcb_void_cookie_t xcb_input_change_device_property_aux_checked
8401 ** @param xcb_connection_t *c
8402 ** @param xcb_atom_t property
8403 ** @param xcb_atom_t type
8404 ** @param uint8_t device_id
8405 ** @param uint8_t format
8406 ** @param uint8_t mode
8407 ** @param uint32_t num_items
8408 ** @param const xcb_input_change_device_property_items_t *items
8409 ** @returns xcb_void_cookie_t
8411 *****************************************************************************/
8414 xcb_input_change_device_property_aux_checked (xcb_connection_t
*c
/**< */,
8415 xcb_atom_t property
/**< */,
8416 xcb_atom_t type
/**< */,
8417 uint8_t device_id
/**< */,
8418 uint8_t format
/**< */,
8419 uint8_t mode
/**< */,
8420 uint32_t num_items
/**< */,
8421 const xcb_input_change_device_property_items_t
*items
/**< */)
8423 static const xcb_protocol_request_t xcb_req
= {
8425 /* ext */ &xcb_input_id
,
8426 /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY
,
8430 struct iovec xcb_parts
[5];
8431 xcb_void_cookie_t xcb_ret
;
8432 xcb_input_change_device_property_request_t xcb_out
;
8435 xcb_out
.property
= property
;
8436 xcb_out
.type
= type
;
8437 xcb_out
.device_id
= device_id
;
8438 xcb_out
.format
= format
;
8439 xcb_out
.mode
= mode
;
8441 xcb_out
.num_items
= num_items
;
8443 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8444 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8445 xcb_parts
[3].iov_base
= 0;
8446 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8447 /* xcb_input_change_device_property_items_t items */
8448 xcb_parts
[4].iov_len
=
8449 xcb_input_change_device_property_items_serialize (&xcb_aux0
, num_items
, format
, items
);
8450 xcb_parts
[4].iov_base
= xcb_aux0
;
8452 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
8458 /*****************************************************************************
8460 ** xcb_void_cookie_t xcb_input_change_device_property_aux
8462 ** @param xcb_connection_t *c
8463 ** @param xcb_atom_t property
8464 ** @param xcb_atom_t type
8465 ** @param uint8_t device_id
8466 ** @param uint8_t format
8467 ** @param uint8_t mode
8468 ** @param uint32_t num_items
8469 ** @param const xcb_input_change_device_property_items_t *items
8470 ** @returns xcb_void_cookie_t
8472 *****************************************************************************/
8475 xcb_input_change_device_property_aux (xcb_connection_t
*c
/**< */,
8476 xcb_atom_t property
/**< */,
8477 xcb_atom_t type
/**< */,
8478 uint8_t device_id
/**< */,
8479 uint8_t format
/**< */,
8480 uint8_t mode
/**< */,
8481 uint32_t num_items
/**< */,
8482 const xcb_input_change_device_property_items_t
*items
/**< */)
8484 static const xcb_protocol_request_t xcb_req
= {
8486 /* ext */ &xcb_input_id
,
8487 /* opcode */ XCB_INPUT_CHANGE_DEVICE_PROPERTY
,
8491 struct iovec xcb_parts
[5];
8492 xcb_void_cookie_t xcb_ret
;
8493 xcb_input_change_device_property_request_t xcb_out
;
8496 xcb_out
.property
= property
;
8497 xcb_out
.type
= type
;
8498 xcb_out
.device_id
= device_id
;
8499 xcb_out
.format
= format
;
8500 xcb_out
.mode
= mode
;
8502 xcb_out
.num_items
= num_items
;
8504 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8505 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8506 xcb_parts
[3].iov_base
= 0;
8507 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8508 /* xcb_input_change_device_property_items_t items */
8509 xcb_parts
[4].iov_len
=
8510 xcb_input_change_device_property_items_serialize (&xcb_aux0
, num_items
, format
, items
);
8511 xcb_parts
[4].iov_base
= xcb_aux0
;
8513 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
8519 /*****************************************************************************
8521 ** xcb_void_cookie_t xcb_input_delete_device_property_checked
8523 ** @param xcb_connection_t *c
8524 ** @param xcb_atom_t property
8525 ** @param uint8_t device_id
8526 ** @returns xcb_void_cookie_t
8528 *****************************************************************************/
8531 xcb_input_delete_device_property_checked (xcb_connection_t
*c
/**< */,
8532 xcb_atom_t property
/**< */,
8533 uint8_t device_id
/**< */)
8535 static const xcb_protocol_request_t xcb_req
= {
8537 /* ext */ &xcb_input_id
,
8538 /* opcode */ XCB_INPUT_DELETE_DEVICE_PROPERTY
,
8542 struct iovec xcb_parts
[4];
8543 xcb_void_cookie_t xcb_ret
;
8544 xcb_input_delete_device_property_request_t xcb_out
;
8546 xcb_out
.property
= property
;
8547 xcb_out
.device_id
= device_id
;
8548 memset(xcb_out
.pad0
, 0, 3);
8550 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8551 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8552 xcb_parts
[3].iov_base
= 0;
8553 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8555 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
8560 /*****************************************************************************
8562 ** xcb_void_cookie_t xcb_input_delete_device_property
8564 ** @param xcb_connection_t *c
8565 ** @param xcb_atom_t property
8566 ** @param uint8_t device_id
8567 ** @returns xcb_void_cookie_t
8569 *****************************************************************************/
8572 xcb_input_delete_device_property (xcb_connection_t
*c
/**< */,
8573 xcb_atom_t property
/**< */,
8574 uint8_t device_id
/**< */)
8576 static const xcb_protocol_request_t xcb_req
= {
8578 /* ext */ &xcb_input_id
,
8579 /* opcode */ XCB_INPUT_DELETE_DEVICE_PROPERTY
,
8583 struct iovec xcb_parts
[4];
8584 xcb_void_cookie_t xcb_ret
;
8585 xcb_input_delete_device_property_request_t xcb_out
;
8587 xcb_out
.property
= property
;
8588 xcb_out
.device_id
= device_id
;
8589 memset(xcb_out
.pad0
, 0, 3);
8591 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8592 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8593 xcb_parts
[3].iov_base
= 0;
8594 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8596 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
8601 /*****************************************************************************
8603 ** uint8_t * xcb_input_get_device_property_items_data_8
8605 ** @param const xcb_input_get_device_property_items_t *S
8606 ** @returns uint8_t *
8608 *****************************************************************************/
8611 xcb_input_get_device_property_items_data_8 (const xcb_input_get_device_property_items_t
*S
/**< */)
8613 return /* items */ S
->data8
;
8617 /*****************************************************************************
8619 ** int xcb_input_get_device_property_items_data_8_length
8621 ** @param const xcb_input_get_device_property_items_t *R
8624 *****************************************************************************/
8627 xcb_input_get_device_property_items_data_8_length (const xcb_input_get_device_property_reply_t
*R
/**< */,
8628 const xcb_input_get_device_property_items_t
*S
/**< */)
8630 return R
->num_items
;
8634 /*****************************************************************************
8636 ** xcb_generic_iterator_t xcb_input_get_device_property_items_data_8_end
8638 ** @param const xcb_input_get_device_property_items_t *R
8639 ** @returns xcb_generic_iterator_t
8641 *****************************************************************************/
8643 xcb_generic_iterator_t
8644 xcb_input_get_device_property_items_data_8_end (const xcb_input_get_device_property_reply_t
*R
/**< */,
8645 const xcb_input_get_device_property_items_t
*S
/**< */)
8647 xcb_generic_iterator_t i
;
8648 i
.data
= /* items */ S
->data8
+ R
->num_items
;
8650 i
.index
= (char *) i
.data
- (char *) S
;
8655 /*****************************************************************************
8657 ** uint16_t * xcb_input_get_device_property_items_data_16
8659 ** @param const xcb_input_get_device_property_items_t *S
8660 ** @returns uint16_t *
8662 *****************************************************************************/
8665 xcb_input_get_device_property_items_data_16 (const xcb_input_get_device_property_items_t
*S
/**< */)
8667 return /* items */ S
->data16
;
8671 /*****************************************************************************
8673 ** int xcb_input_get_device_property_items_data_16_length
8675 ** @param const xcb_input_get_device_property_items_t *R
8678 *****************************************************************************/
8681 xcb_input_get_device_property_items_data_16_length (const xcb_input_get_device_property_reply_t
*R
/**< */,
8682 const xcb_input_get_device_property_items_t
*S
/**< */)
8684 return R
->num_items
;
8688 /*****************************************************************************
8690 ** xcb_generic_iterator_t xcb_input_get_device_property_items_data_16_end
8692 ** @param const xcb_input_get_device_property_items_t *R
8693 ** @returns xcb_generic_iterator_t
8695 *****************************************************************************/
8697 xcb_generic_iterator_t
8698 xcb_input_get_device_property_items_data_16_end (const xcb_input_get_device_property_reply_t
*R
/**< */,
8699 const xcb_input_get_device_property_items_t
*S
/**< */)
8701 xcb_generic_iterator_t i
;
8702 i
.data
= /* items */ S
->data16
+ R
->num_items
;
8704 i
.index
= (char *) i
.data
- (char *) S
;
8709 /*****************************************************************************
8711 ** uint32_t * xcb_input_get_device_property_items_data_32
8713 ** @param const xcb_input_get_device_property_items_t *S
8714 ** @returns uint32_t *
8716 *****************************************************************************/
8719 xcb_input_get_device_property_items_data_32 (const xcb_input_get_device_property_items_t
*S
/**< */)
8721 return /* items */ S
->data32
;
8725 /*****************************************************************************
8727 ** int xcb_input_get_device_property_items_data_32_length
8729 ** @param const xcb_input_get_device_property_items_t *R
8732 *****************************************************************************/
8735 xcb_input_get_device_property_items_data_32_length (const xcb_input_get_device_property_reply_t
*R
/**< */,
8736 const xcb_input_get_device_property_items_t
*S
/**< */)
8738 return R
->num_items
;
8742 /*****************************************************************************
8744 ** xcb_generic_iterator_t xcb_input_get_device_property_items_data_32_end
8746 ** @param const xcb_input_get_device_property_items_t *R
8747 ** @returns xcb_generic_iterator_t
8749 *****************************************************************************/
8751 xcb_generic_iterator_t
8752 xcb_input_get_device_property_items_data_32_end (const xcb_input_get_device_property_reply_t
*R
/**< */,
8753 const xcb_input_get_device_property_items_t
*S
/**< */)
8755 xcb_generic_iterator_t i
;
8756 i
.data
= /* items */ S
->data32
+ R
->num_items
;
8758 i
.index
= (char *) i
.data
- (char *) S
;
8763 xcb_input_get_device_property_items_serialize (void **_buffer
/**< */,
8764 uint32_t num_items
/**< */,
8765 uint8_t format
/**< */,
8766 const xcb_input_get_device_property_items_t
*_aux
/**< */)
8768 char *xcb_out
= *_buffer
;
8769 unsigned int xcb_buffer_len
= 0;
8770 unsigned int xcb_align_to
= 0;
8772 unsigned int xcb_pad
= 0;
8773 char xcb_pad0
[3] = {0, 0, 0};
8774 struct iovec xcb_parts
[7];
8775 unsigned int xcb_parts_idx
= 0;
8776 unsigned int xcb_block_len
= 0;
8780 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
8781 /* insert padding */
8782 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8783 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8785 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8786 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8792 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data8
;
8793 xcb_block_len
+= num_items
* sizeof(uint8_t);
8794 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint8_t);
8796 xcb_align_to
= ALIGNOF(uint8_t);
8798 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
8799 /* insert padding */
8800 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8801 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8803 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8804 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8810 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data16
;
8811 xcb_block_len
+= num_items
* sizeof(uint16_t);
8812 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint16_t);
8814 xcb_align_to
= ALIGNOF(uint16_t);
8816 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
8817 /* insert padding */
8818 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8819 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8821 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8822 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8828 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data32
;
8829 xcb_block_len
+= num_items
* sizeof(uint32_t);
8830 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint32_t);
8832 xcb_align_to
= ALIGNOF(uint32_t);
8834 /* insert padding */
8835 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8836 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8838 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
8839 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
8845 if (NULL
== xcb_out
) {
8846 /* allocate memory */
8847 xcb_out
= malloc(xcb_buffer_len
);
8852 for(i
=0; i
<xcb_parts_idx
; i
++) {
8853 if (0 != xcb_parts
[i
].iov_base
&& 0 != xcb_parts
[i
].iov_len
)
8854 memcpy(xcb_tmp
, xcb_parts
[i
].iov_base
, xcb_parts
[i
].iov_len
);
8855 if (0 != xcb_parts
[i
].iov_len
)
8856 xcb_tmp
+= xcb_parts
[i
].iov_len
;
8859 return xcb_buffer_len
;
8863 xcb_input_get_device_property_items_unpack (const void *_buffer
/**< */,
8864 uint32_t num_items
/**< */,
8865 uint8_t format
/**< */,
8866 xcb_input_get_device_property_items_t
*_aux
/**< */)
8868 char *xcb_tmp
= (char *)_buffer
;
8869 unsigned int xcb_buffer_len
= 0;
8870 unsigned int xcb_block_len
= 0;
8871 unsigned int xcb_pad
= 0;
8872 unsigned int xcb_align_to
= 0;
8875 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
8876 /* insert padding */
8877 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8878 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8885 _aux
->data8
= (uint8_t *)xcb_tmp
;
8886 xcb_block_len
+= num_items
* sizeof(uint8_t);
8887 xcb_tmp
+= xcb_block_len
;
8888 xcb_align_to
= ALIGNOF(uint8_t);
8890 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
8891 /* insert padding */
8892 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8893 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8900 _aux
->data16
= (uint16_t *)xcb_tmp
;
8901 xcb_block_len
+= num_items
* sizeof(uint16_t);
8902 xcb_tmp
+= xcb_block_len
;
8903 xcb_align_to
= ALIGNOF(uint16_t);
8905 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
8906 /* insert padding */
8907 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8908 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8915 _aux
->data32
= (uint32_t *)xcb_tmp
;
8916 xcb_block_len
+= num_items
* sizeof(uint32_t);
8917 xcb_tmp
+= xcb_block_len
;
8918 xcb_align_to
= ALIGNOF(uint32_t);
8920 /* insert padding */
8921 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
8922 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
8929 return xcb_buffer_len
;
8933 xcb_input_get_device_property_items_sizeof (const void *_buffer
/**< */,
8934 uint32_t num_items
/**< */,
8935 uint8_t format
/**< */)
8937 xcb_input_get_device_property_items_t _aux
;
8938 return xcb_input_get_device_property_items_unpack(_buffer
, num_items
, format
, &_aux
);
8942 /*****************************************************************************
8944 ** xcb_input_get_device_property_cookie_t xcb_input_get_device_property
8946 ** @param xcb_connection_t *c
8947 ** @param xcb_atom_t property
8948 ** @param xcb_atom_t type
8949 ** @param uint32_t offset
8950 ** @param uint32_t len
8951 ** @param uint8_t device_id
8952 ** @param uint8_t _delete
8953 ** @returns xcb_input_get_device_property_cookie_t
8955 *****************************************************************************/
8957 xcb_input_get_device_property_cookie_t
8958 xcb_input_get_device_property (xcb_connection_t
*c
/**< */,
8959 xcb_atom_t property
/**< */,
8960 xcb_atom_t type
/**< */,
8961 uint32_t offset
/**< */,
8962 uint32_t len
/**< */,
8963 uint8_t device_id
/**< */,
8964 uint8_t _delete
/**< */)
8966 static const xcb_protocol_request_t xcb_req
= {
8968 /* ext */ &xcb_input_id
,
8969 /* opcode */ XCB_INPUT_GET_DEVICE_PROPERTY
,
8973 struct iovec xcb_parts
[4];
8974 xcb_input_get_device_property_cookie_t xcb_ret
;
8975 xcb_input_get_device_property_request_t xcb_out
;
8977 xcb_out
.property
= property
;
8978 xcb_out
.type
= type
;
8979 xcb_out
.offset
= offset
;
8981 xcb_out
.device_id
= device_id
;
8982 xcb_out
._delete
= _delete
;
8983 memset(xcb_out
.pad0
, 0, 2);
8985 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
8986 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
8987 xcb_parts
[3].iov_base
= 0;
8988 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
8990 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
8995 /*****************************************************************************
8997 ** xcb_input_get_device_property_cookie_t xcb_input_get_device_property_unchecked
8999 ** @param xcb_connection_t *c
9000 ** @param xcb_atom_t property
9001 ** @param xcb_atom_t type
9002 ** @param uint32_t offset
9003 ** @param uint32_t len
9004 ** @param uint8_t device_id
9005 ** @param uint8_t _delete
9006 ** @returns xcb_input_get_device_property_cookie_t
9008 *****************************************************************************/
9010 xcb_input_get_device_property_cookie_t
9011 xcb_input_get_device_property_unchecked (xcb_connection_t
*c
/**< */,
9012 xcb_atom_t property
/**< */,
9013 xcb_atom_t type
/**< */,
9014 uint32_t offset
/**< */,
9015 uint32_t len
/**< */,
9016 uint8_t device_id
/**< */,
9017 uint8_t _delete
/**< */)
9019 static const xcb_protocol_request_t xcb_req
= {
9021 /* ext */ &xcb_input_id
,
9022 /* opcode */ XCB_INPUT_GET_DEVICE_PROPERTY
,
9026 struct iovec xcb_parts
[4];
9027 xcb_input_get_device_property_cookie_t xcb_ret
;
9028 xcb_input_get_device_property_request_t xcb_out
;
9030 xcb_out
.property
= property
;
9031 xcb_out
.type
= type
;
9032 xcb_out
.offset
= offset
;
9034 xcb_out
.device_id
= device_id
;
9035 xcb_out
._delete
= _delete
;
9036 memset(xcb_out
.pad0
, 0, 2);
9038 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9039 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9040 xcb_parts
[3].iov_base
= 0;
9041 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9043 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
9048 /*****************************************************************************
9050 ** xcb_input_get_device_property_items_t * xcb_input_get_device_property_items
9052 ** @param const xcb_input_get_device_property_reply_t *R
9053 ** @returns xcb_input_get_device_property_items_t *
9055 *****************************************************************************/
9058 xcb_input_get_device_property_items (const xcb_input_get_device_property_reply_t
*R
/**< */)
9060 return (void *) (R
+ 1);
9064 /*****************************************************************************
9066 ** xcb_input_get_device_property_reply_t * xcb_input_get_device_property_reply
9068 ** @param xcb_connection_t *c
9069 ** @param xcb_input_get_device_property_cookie_t cookie
9070 ** @param xcb_generic_error_t **e
9071 ** @returns xcb_input_get_device_property_reply_t *
9073 *****************************************************************************/
9075 xcb_input_get_device_property_reply_t
*
9076 xcb_input_get_device_property_reply (xcb_connection_t
*c
/**< */,
9077 xcb_input_get_device_property_cookie_t cookie
/**< */,
9078 xcb_generic_error_t
**e
/**< */)
9080 return (xcb_input_get_device_property_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
9084 /*****************************************************************************
9086 ** void xcb_input_group_info_next
9088 ** @param xcb_input_group_info_iterator_t *i
9091 *****************************************************************************/
9094 xcb_input_group_info_next (xcb_input_group_info_iterator_t
*i
/**< */)
9098 i
->index
+= sizeof(xcb_input_group_info_t
);
9102 /*****************************************************************************
9104 ** xcb_generic_iterator_t xcb_input_group_info_end
9106 ** @param xcb_input_group_info_iterator_t i
9107 ** @returns xcb_generic_iterator_t
9109 *****************************************************************************/
9111 xcb_generic_iterator_t
9112 xcb_input_group_info_end (xcb_input_group_info_iterator_t i
/**< */)
9114 xcb_generic_iterator_t ret
;
9115 ret
.data
= i
.data
+ i
.rem
;
9116 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
9122 /*****************************************************************************
9124 ** void xcb_input_modifier_info_next
9126 ** @param xcb_input_modifier_info_iterator_t *i
9129 *****************************************************************************/
9132 xcb_input_modifier_info_next (xcb_input_modifier_info_iterator_t
*i
/**< */)
9136 i
->index
+= sizeof(xcb_input_modifier_info_t
);
9140 /*****************************************************************************
9142 ** xcb_generic_iterator_t xcb_input_modifier_info_end
9144 ** @param xcb_input_modifier_info_iterator_t i
9145 ** @returns xcb_generic_iterator_t
9147 *****************************************************************************/
9149 xcb_generic_iterator_t
9150 xcb_input_modifier_info_end (xcb_input_modifier_info_iterator_t i
/**< */)
9152 xcb_generic_iterator_t ret
;
9153 ret
.data
= i
.data
+ i
.rem
;
9154 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
9160 xcb_input_xi_query_pointer_sizeof (const void *_buffer
/**< */)
9162 char *xcb_tmp
= (char *)_buffer
;
9163 const xcb_input_xi_query_pointer_reply_t
*_aux
= (xcb_input_xi_query_pointer_reply_t
*)_buffer
;
9164 unsigned int xcb_buffer_len
= 0;
9165 unsigned int xcb_block_len
= 0;
9166 unsigned int xcb_pad
= 0;
9167 unsigned int xcb_align_to
= 0;
9170 xcb_block_len
+= sizeof(xcb_input_xi_query_pointer_reply_t
);
9171 xcb_tmp
+= xcb_block_len
;
9172 xcb_buffer_len
+= xcb_block_len
;
9175 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
9176 xcb_tmp
+= xcb_block_len
;
9177 xcb_align_to
= ALIGNOF(uint32_t);
9178 /* insert padding */
9179 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
9180 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
9187 return xcb_buffer_len
;
9191 /*****************************************************************************
9193 ** xcb_input_xi_query_pointer_cookie_t xcb_input_xi_query_pointer
9195 ** @param xcb_connection_t *c
9196 ** @param xcb_window_t window
9197 ** @param xcb_input_device_id_t deviceid
9198 ** @returns xcb_input_xi_query_pointer_cookie_t
9200 *****************************************************************************/
9202 xcb_input_xi_query_pointer_cookie_t
9203 xcb_input_xi_query_pointer (xcb_connection_t
*c
/**< */,
9204 xcb_window_t window
/**< */,
9205 xcb_input_device_id_t deviceid
/**< */)
9207 static const xcb_protocol_request_t xcb_req
= {
9209 /* ext */ &xcb_input_id
,
9210 /* opcode */ XCB_INPUT_XI_QUERY_POINTER
,
9214 struct iovec xcb_parts
[4];
9215 xcb_input_xi_query_pointer_cookie_t xcb_ret
;
9216 xcb_input_xi_query_pointer_request_t xcb_out
;
9218 xcb_out
.window
= window
;
9219 xcb_out
.deviceid
= deviceid
;
9220 memset(xcb_out
.pad0
, 0, 2);
9222 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9223 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9224 xcb_parts
[3].iov_base
= 0;
9225 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9227 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
9232 /*****************************************************************************
9234 ** xcb_input_xi_query_pointer_cookie_t xcb_input_xi_query_pointer_unchecked
9236 ** @param xcb_connection_t *c
9237 ** @param xcb_window_t window
9238 ** @param xcb_input_device_id_t deviceid
9239 ** @returns xcb_input_xi_query_pointer_cookie_t
9241 *****************************************************************************/
9243 xcb_input_xi_query_pointer_cookie_t
9244 xcb_input_xi_query_pointer_unchecked (xcb_connection_t
*c
/**< */,
9245 xcb_window_t window
/**< */,
9246 xcb_input_device_id_t deviceid
/**< */)
9248 static const xcb_protocol_request_t xcb_req
= {
9250 /* ext */ &xcb_input_id
,
9251 /* opcode */ XCB_INPUT_XI_QUERY_POINTER
,
9255 struct iovec xcb_parts
[4];
9256 xcb_input_xi_query_pointer_cookie_t xcb_ret
;
9257 xcb_input_xi_query_pointer_request_t xcb_out
;
9259 xcb_out
.window
= window
;
9260 xcb_out
.deviceid
= deviceid
;
9261 memset(xcb_out
.pad0
, 0, 2);
9263 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9264 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9265 xcb_parts
[3].iov_base
= 0;
9266 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9268 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
9273 /*****************************************************************************
9275 ** uint32_t * xcb_input_xi_query_pointer_buttons
9277 ** @param const xcb_input_xi_query_pointer_reply_t *R
9278 ** @returns uint32_t *
9280 *****************************************************************************/
9283 xcb_input_xi_query_pointer_buttons (const xcb_input_xi_query_pointer_reply_t
*R
/**< */)
9285 return (uint32_t *) (R
+ 1);
9289 /*****************************************************************************
9291 ** int xcb_input_xi_query_pointer_buttons_length
9293 ** @param const xcb_input_xi_query_pointer_reply_t *R
9296 *****************************************************************************/
9299 xcb_input_xi_query_pointer_buttons_length (const xcb_input_xi_query_pointer_reply_t
*R
/**< */)
9301 return R
->buttons_len
;
9305 /*****************************************************************************
9307 ** xcb_generic_iterator_t xcb_input_xi_query_pointer_buttons_end
9309 ** @param const xcb_input_xi_query_pointer_reply_t *R
9310 ** @returns xcb_generic_iterator_t
9312 *****************************************************************************/
9314 xcb_generic_iterator_t
9315 xcb_input_xi_query_pointer_buttons_end (const xcb_input_xi_query_pointer_reply_t
*R
/**< */)
9317 xcb_generic_iterator_t i
;
9318 i
.data
= ((uint32_t *) (R
+ 1)) + (R
->buttons_len
);
9320 i
.index
= (char *) i
.data
- (char *) R
;
9325 /*****************************************************************************
9327 ** xcb_input_xi_query_pointer_reply_t * xcb_input_xi_query_pointer_reply
9329 ** @param xcb_connection_t *c
9330 ** @param xcb_input_xi_query_pointer_cookie_t cookie
9331 ** @param xcb_generic_error_t **e
9332 ** @returns xcb_input_xi_query_pointer_reply_t *
9334 *****************************************************************************/
9336 xcb_input_xi_query_pointer_reply_t
*
9337 xcb_input_xi_query_pointer_reply (xcb_connection_t
*c
/**< */,
9338 xcb_input_xi_query_pointer_cookie_t cookie
/**< */,
9339 xcb_generic_error_t
**e
/**< */)
9341 return (xcb_input_xi_query_pointer_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
9345 /*****************************************************************************
9347 ** xcb_void_cookie_t xcb_input_xi_warp_pointer_checked
9349 ** @param xcb_connection_t *c
9350 ** @param xcb_window_t src_win
9351 ** @param xcb_window_t dst_win
9352 ** @param xcb_input_fp1616_t src_x
9353 ** @param xcb_input_fp1616_t src_y
9354 ** @param uint16_t src_width
9355 ** @param uint16_t src_height
9356 ** @param xcb_input_fp1616_t dst_x
9357 ** @param xcb_input_fp1616_t dst_y
9358 ** @param xcb_input_device_id_t deviceid
9359 ** @returns xcb_void_cookie_t
9361 *****************************************************************************/
9364 xcb_input_xi_warp_pointer_checked (xcb_connection_t
*c
/**< */,
9365 xcb_window_t src_win
/**< */,
9366 xcb_window_t dst_win
/**< */,
9367 xcb_input_fp1616_t src_x
/**< */,
9368 xcb_input_fp1616_t src_y
/**< */,
9369 uint16_t src_width
/**< */,
9370 uint16_t src_height
/**< */,
9371 xcb_input_fp1616_t dst_x
/**< */,
9372 xcb_input_fp1616_t dst_y
/**< */,
9373 xcb_input_device_id_t deviceid
/**< */)
9375 static const xcb_protocol_request_t xcb_req
= {
9377 /* ext */ &xcb_input_id
,
9378 /* opcode */ XCB_INPUT_XI_WARP_POINTER
,
9382 struct iovec xcb_parts
[4];
9383 xcb_void_cookie_t xcb_ret
;
9384 xcb_input_xi_warp_pointer_request_t xcb_out
;
9386 xcb_out
.src_win
= src_win
;
9387 xcb_out
.dst_win
= dst_win
;
9388 xcb_out
.src_x
= src_x
;
9389 xcb_out
.src_y
= src_y
;
9390 xcb_out
.src_width
= src_width
;
9391 xcb_out
.src_height
= src_height
;
9392 xcb_out
.dst_x
= dst_x
;
9393 xcb_out
.dst_y
= dst_y
;
9394 xcb_out
.deviceid
= deviceid
;
9395 memset(xcb_out
.pad0
, 0, 2);
9397 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9398 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9399 xcb_parts
[3].iov_base
= 0;
9400 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9402 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
9407 /*****************************************************************************
9409 ** xcb_void_cookie_t xcb_input_xi_warp_pointer
9411 ** @param xcb_connection_t *c
9412 ** @param xcb_window_t src_win
9413 ** @param xcb_window_t dst_win
9414 ** @param xcb_input_fp1616_t src_x
9415 ** @param xcb_input_fp1616_t src_y
9416 ** @param uint16_t src_width
9417 ** @param uint16_t src_height
9418 ** @param xcb_input_fp1616_t dst_x
9419 ** @param xcb_input_fp1616_t dst_y
9420 ** @param xcb_input_device_id_t deviceid
9421 ** @returns xcb_void_cookie_t
9423 *****************************************************************************/
9426 xcb_input_xi_warp_pointer (xcb_connection_t
*c
/**< */,
9427 xcb_window_t src_win
/**< */,
9428 xcb_window_t dst_win
/**< */,
9429 xcb_input_fp1616_t src_x
/**< */,
9430 xcb_input_fp1616_t src_y
/**< */,
9431 uint16_t src_width
/**< */,
9432 uint16_t src_height
/**< */,
9433 xcb_input_fp1616_t dst_x
/**< */,
9434 xcb_input_fp1616_t dst_y
/**< */,
9435 xcb_input_device_id_t deviceid
/**< */)
9437 static const xcb_protocol_request_t xcb_req
= {
9439 /* ext */ &xcb_input_id
,
9440 /* opcode */ XCB_INPUT_XI_WARP_POINTER
,
9444 struct iovec xcb_parts
[4];
9445 xcb_void_cookie_t xcb_ret
;
9446 xcb_input_xi_warp_pointer_request_t xcb_out
;
9448 xcb_out
.src_win
= src_win
;
9449 xcb_out
.dst_win
= dst_win
;
9450 xcb_out
.src_x
= src_x
;
9451 xcb_out
.src_y
= src_y
;
9452 xcb_out
.src_width
= src_width
;
9453 xcb_out
.src_height
= src_height
;
9454 xcb_out
.dst_x
= dst_x
;
9455 xcb_out
.dst_y
= dst_y
;
9456 xcb_out
.deviceid
= deviceid
;
9457 memset(xcb_out
.pad0
, 0, 2);
9459 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9460 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9461 xcb_parts
[3].iov_base
= 0;
9462 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9464 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
9469 /*****************************************************************************
9471 ** xcb_void_cookie_t xcb_input_xi_change_cursor_checked
9473 ** @param xcb_connection_t *c
9474 ** @param xcb_window_t window
9475 ** @param xcb_cursor_t cursor
9476 ** @param xcb_input_device_id_t deviceid
9477 ** @returns xcb_void_cookie_t
9479 *****************************************************************************/
9482 xcb_input_xi_change_cursor_checked (xcb_connection_t
*c
/**< */,
9483 xcb_window_t window
/**< */,
9484 xcb_cursor_t cursor
/**< */,
9485 xcb_input_device_id_t deviceid
/**< */)
9487 static const xcb_protocol_request_t xcb_req
= {
9489 /* ext */ &xcb_input_id
,
9490 /* opcode */ XCB_INPUT_XI_CHANGE_CURSOR
,
9494 struct iovec xcb_parts
[4];
9495 xcb_void_cookie_t xcb_ret
;
9496 xcb_input_xi_change_cursor_request_t xcb_out
;
9498 xcb_out
.window
= window
;
9499 xcb_out
.cursor
= cursor
;
9500 xcb_out
.deviceid
= deviceid
;
9501 memset(xcb_out
.pad0
, 0, 2);
9503 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9504 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9505 xcb_parts
[3].iov_base
= 0;
9506 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9508 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
9513 /*****************************************************************************
9515 ** xcb_void_cookie_t xcb_input_xi_change_cursor
9517 ** @param xcb_connection_t *c
9518 ** @param xcb_window_t window
9519 ** @param xcb_cursor_t cursor
9520 ** @param xcb_input_device_id_t deviceid
9521 ** @returns xcb_void_cookie_t
9523 *****************************************************************************/
9526 xcb_input_xi_change_cursor (xcb_connection_t
*c
/**< */,
9527 xcb_window_t window
/**< */,
9528 xcb_cursor_t cursor
/**< */,
9529 xcb_input_device_id_t deviceid
/**< */)
9531 static const xcb_protocol_request_t xcb_req
= {
9533 /* ext */ &xcb_input_id
,
9534 /* opcode */ XCB_INPUT_XI_CHANGE_CURSOR
,
9538 struct iovec xcb_parts
[4];
9539 xcb_void_cookie_t xcb_ret
;
9540 xcb_input_xi_change_cursor_request_t xcb_out
;
9542 xcb_out
.window
= window
;
9543 xcb_out
.cursor
= cursor
;
9544 xcb_out
.deviceid
= deviceid
;
9545 memset(xcb_out
.pad0
, 0, 2);
9547 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9548 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9549 xcb_parts
[3].iov_base
= 0;
9550 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9552 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
9557 xcb_input_add_master_sizeof (const void *_buffer
/**< */)
9559 char *xcb_tmp
= (char *)_buffer
;
9560 const xcb_input_add_master_t
*_aux
= (xcb_input_add_master_t
*)_buffer
;
9561 unsigned int xcb_buffer_len
= 0;
9562 unsigned int xcb_block_len
= 0;
9563 unsigned int xcb_pad
= 0;
9564 unsigned int xcb_align_to
= 0;
9567 xcb_block_len
+= sizeof(xcb_input_add_master_t
);
9568 xcb_tmp
+= xcb_block_len
;
9569 xcb_buffer_len
+= xcb_block_len
;
9572 xcb_block_len
+= _aux
->name_len
* sizeof(char);
9573 xcb_tmp
+= xcb_block_len
;
9574 xcb_align_to
= ALIGNOF(char);
9575 /* insert padding */
9576 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
9577 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
9584 return xcb_buffer_len
;
9588 /*****************************************************************************
9590 ** char * xcb_input_add_master_name
9592 ** @param const xcb_input_add_master_t *R
9595 *****************************************************************************/
9598 xcb_input_add_master_name (const xcb_input_add_master_t
*R
/**< */)
9600 return (char *) (R
+ 1);
9604 /*****************************************************************************
9606 ** int xcb_input_add_master_name_length
9608 ** @param const xcb_input_add_master_t *R
9611 *****************************************************************************/
9614 xcb_input_add_master_name_length (const xcb_input_add_master_t
*R
/**< */)
9620 /*****************************************************************************
9622 ** xcb_generic_iterator_t xcb_input_add_master_name_end
9624 ** @param const xcb_input_add_master_t *R
9625 ** @returns xcb_generic_iterator_t
9627 *****************************************************************************/
9629 xcb_generic_iterator_t
9630 xcb_input_add_master_name_end (const xcb_input_add_master_t
*R
/**< */)
9632 xcb_generic_iterator_t i
;
9633 i
.data
= ((char *) (R
+ 1)) + (R
->name_len
);
9635 i
.index
= (char *) i
.data
- (char *) R
;
9640 /*****************************************************************************
9642 ** void xcb_input_add_master_next
9644 ** @param xcb_input_add_master_iterator_t *i
9647 *****************************************************************************/
9650 xcb_input_add_master_next (xcb_input_add_master_iterator_t
*i
/**< */)
9652 xcb_input_add_master_t
*R
= i
->data
;
9653 xcb_generic_iterator_t child
;
9654 child
.data
= (xcb_input_add_master_t
*)(((char *)R
) + xcb_input_add_master_sizeof(R
));
9655 i
->index
= (char *) child
.data
- (char *) i
->data
;
9657 i
->data
= (xcb_input_add_master_t
*) child
.data
;
9661 /*****************************************************************************
9663 ** xcb_generic_iterator_t xcb_input_add_master_end
9665 ** @param xcb_input_add_master_iterator_t i
9666 ** @returns xcb_generic_iterator_t
9668 *****************************************************************************/
9670 xcb_generic_iterator_t
9671 xcb_input_add_master_end (xcb_input_add_master_iterator_t i
/**< */)
9673 xcb_generic_iterator_t ret
;
9675 xcb_input_add_master_next(&i
);
9678 ret
.index
= i
.index
;
9683 /*****************************************************************************
9685 ** void xcb_input_remove_master_next
9687 ** @param xcb_input_remove_master_iterator_t *i
9690 *****************************************************************************/
9693 xcb_input_remove_master_next (xcb_input_remove_master_iterator_t
*i
/**< */)
9697 i
->index
+= sizeof(xcb_input_remove_master_t
);
9701 /*****************************************************************************
9703 ** xcb_generic_iterator_t xcb_input_remove_master_end
9705 ** @param xcb_input_remove_master_iterator_t i
9706 ** @returns xcb_generic_iterator_t
9708 *****************************************************************************/
9710 xcb_generic_iterator_t
9711 xcb_input_remove_master_end (xcb_input_remove_master_iterator_t i
/**< */)
9713 xcb_generic_iterator_t ret
;
9714 ret
.data
= i
.data
+ i
.rem
;
9715 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
9721 /*****************************************************************************
9723 ** void xcb_input_attach_slave_next
9725 ** @param xcb_input_attach_slave_iterator_t *i
9728 *****************************************************************************/
9731 xcb_input_attach_slave_next (xcb_input_attach_slave_iterator_t
*i
/**< */)
9735 i
->index
+= sizeof(xcb_input_attach_slave_t
);
9739 /*****************************************************************************
9741 ** xcb_generic_iterator_t xcb_input_attach_slave_end
9743 ** @param xcb_input_attach_slave_iterator_t i
9744 ** @returns xcb_generic_iterator_t
9746 *****************************************************************************/
9748 xcb_generic_iterator_t
9749 xcb_input_attach_slave_end (xcb_input_attach_slave_iterator_t i
/**< */)
9751 xcb_generic_iterator_t ret
;
9752 ret
.data
= i
.data
+ i
.rem
;
9753 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
9759 /*****************************************************************************
9761 ** void xcb_input_detach_slave_next
9763 ** @param xcb_input_detach_slave_iterator_t *i
9766 *****************************************************************************/
9769 xcb_input_detach_slave_next (xcb_input_detach_slave_iterator_t
*i
/**< */)
9773 i
->index
+= sizeof(xcb_input_detach_slave_t
);
9777 /*****************************************************************************
9779 ** xcb_generic_iterator_t xcb_input_detach_slave_end
9781 ** @param xcb_input_detach_slave_iterator_t i
9782 ** @returns xcb_generic_iterator_t
9784 *****************************************************************************/
9786 xcb_generic_iterator_t
9787 xcb_input_detach_slave_end (xcb_input_detach_slave_iterator_t i
/**< */)
9789 xcb_generic_iterator_t ret
;
9790 ret
.data
= i
.data
+ i
.rem
;
9791 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
9797 xcb_input_hierarchy_change_sizeof (const void *_buffer
/**< */)
9799 char *xcb_tmp
= (char *)_buffer
;
9800 const xcb_input_hierarchy_change_t
*_aux
= (xcb_input_hierarchy_change_t
*)_buffer
;
9801 unsigned int xcb_buffer_len
= 0;
9802 unsigned int xcb_block_len
= 0;
9803 unsigned int xcb_pad
= 0;
9804 unsigned int xcb_align_to
= 0;
9807 xcb_block_len
+= sizeof(xcb_input_hierarchy_change_t
);
9808 xcb_tmp
+= xcb_block_len
;
9809 xcb_buffer_len
+= xcb_block_len
;
9811 /* uninterpreted_data */
9812 xcb_block_len
+= ((_aux
->len
* 4) - 4) * sizeof(uint8_t);
9813 xcb_tmp
+= xcb_block_len
;
9814 xcb_align_to
= ALIGNOF(uint8_t);
9815 /* insert padding */
9816 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
9817 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
9824 return xcb_buffer_len
;
9828 /*****************************************************************************
9830 ** uint8_t * xcb_input_hierarchy_change_uninterpreted_data
9832 ** @param const xcb_input_hierarchy_change_t *R
9833 ** @returns uint8_t *
9835 *****************************************************************************/
9838 xcb_input_hierarchy_change_uninterpreted_data (const xcb_input_hierarchy_change_t
*R
/**< */)
9840 return (uint8_t *) (R
+ 1);
9844 /*****************************************************************************
9846 ** int xcb_input_hierarchy_change_uninterpreted_data_length
9848 ** @param const xcb_input_hierarchy_change_t *R
9851 *****************************************************************************/
9854 xcb_input_hierarchy_change_uninterpreted_data_length (const xcb_input_hierarchy_change_t
*R
/**< */)
9856 return ((R
->len
* 4) - 4);
9860 /*****************************************************************************
9862 ** xcb_generic_iterator_t xcb_input_hierarchy_change_uninterpreted_data_end
9864 ** @param const xcb_input_hierarchy_change_t *R
9865 ** @returns xcb_generic_iterator_t
9867 *****************************************************************************/
9869 xcb_generic_iterator_t
9870 xcb_input_hierarchy_change_uninterpreted_data_end (const xcb_input_hierarchy_change_t
*R
/**< */)
9872 xcb_generic_iterator_t i
;
9873 i
.data
= ((uint8_t *) (R
+ 1)) + (((R
->len
* 4) - 4));
9875 i
.index
= (char *) i
.data
- (char *) R
;
9880 /*****************************************************************************
9882 ** void xcb_input_hierarchy_change_next
9884 ** @param xcb_input_hierarchy_change_iterator_t *i
9887 *****************************************************************************/
9890 xcb_input_hierarchy_change_next (xcb_input_hierarchy_change_iterator_t
*i
/**< */)
9892 xcb_input_hierarchy_change_t
*R
= i
->data
;
9893 xcb_generic_iterator_t child
;
9894 child
.data
= (xcb_input_hierarchy_change_t
*)(((char *)R
) + xcb_input_hierarchy_change_sizeof(R
));
9895 i
->index
= (char *) child
.data
- (char *) i
->data
;
9897 i
->data
= (xcb_input_hierarchy_change_t
*) child
.data
;
9901 /*****************************************************************************
9903 ** xcb_generic_iterator_t xcb_input_hierarchy_change_end
9905 ** @param xcb_input_hierarchy_change_iterator_t i
9906 ** @returns xcb_generic_iterator_t
9908 *****************************************************************************/
9910 xcb_generic_iterator_t
9911 xcb_input_hierarchy_change_end (xcb_input_hierarchy_change_iterator_t i
/**< */)
9913 xcb_generic_iterator_t ret
;
9915 xcb_input_hierarchy_change_next(&i
);
9918 ret
.index
= i
.index
;
9923 xcb_input_xi_change_hierarchy_sizeof (const void *_buffer
/**< */)
9925 char *xcb_tmp
= (char *)_buffer
;
9926 const xcb_input_xi_change_hierarchy_request_t
*_aux
= (xcb_input_xi_change_hierarchy_request_t
*)_buffer
;
9927 unsigned int xcb_buffer_len
= 0;
9928 unsigned int xcb_block_len
= 0;
9929 unsigned int xcb_pad
= 0;
9930 unsigned int xcb_align_to
= 0;
9933 unsigned int xcb_tmp_len
;
9935 xcb_block_len
+= sizeof(xcb_input_xi_change_hierarchy_request_t
);
9936 xcb_tmp
+= xcb_block_len
;
9937 xcb_buffer_len
+= xcb_block_len
;
9940 for(i
=0; i
<_aux
->num_changes
; i
++) {
9941 xcb_tmp_len
= xcb_input_hierarchy_change_sizeof(xcb_tmp
);
9942 xcb_block_len
+= xcb_tmp_len
;
9943 xcb_tmp
+= xcb_tmp_len
;
9945 xcb_align_to
= ALIGNOF(xcb_input_hierarchy_change_t
);
9946 /* insert padding */
9947 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
9948 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
9955 return xcb_buffer_len
;
9959 /*****************************************************************************
9961 ** xcb_void_cookie_t xcb_input_xi_change_hierarchy_checked
9963 ** @param xcb_connection_t *c
9964 ** @param uint8_t num_changes
9965 ** @param const xcb_input_hierarchy_change_t *changes
9966 ** @returns xcb_void_cookie_t
9968 *****************************************************************************/
9971 xcb_input_xi_change_hierarchy_checked (xcb_connection_t
*c
/**< */,
9972 uint8_t num_changes
/**< */,
9973 const xcb_input_hierarchy_change_t
*changes
/**< */)
9975 static const xcb_protocol_request_t xcb_req
= {
9977 /* ext */ &xcb_input_id
,
9978 /* opcode */ XCB_INPUT_XI_CHANGE_HIERARCHY
,
9982 struct iovec xcb_parts
[6];
9983 xcb_void_cookie_t xcb_ret
;
9984 xcb_input_xi_change_hierarchy_request_t xcb_out
;
9986 unsigned int xcb_tmp_len
;
9989 xcb_out
.num_changes
= num_changes
;
9991 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
9992 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
9993 xcb_parts
[3].iov_base
= 0;
9994 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
9995 /* xcb_input_hierarchy_change_t changes */
9996 xcb_parts
[4].iov_base
= (char *) changes
;
9997 xcb_parts
[4].iov_len
= 0;
9998 xcb_tmp
= (char *)changes
;
9999 for(i
=0; i
<num_changes
; i
++) {
10000 xcb_tmp_len
= xcb_input_hierarchy_change_sizeof(xcb_tmp
);
10001 xcb_parts
[4].iov_len
+= xcb_tmp_len
;
10002 xcb_tmp
+= xcb_tmp_len
;
10004 xcb_parts
[5].iov_base
= 0;
10005 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
10007 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
10012 /*****************************************************************************
10014 ** xcb_void_cookie_t xcb_input_xi_change_hierarchy
10016 ** @param xcb_connection_t *c
10017 ** @param uint8_t num_changes
10018 ** @param const xcb_input_hierarchy_change_t *changes
10019 ** @returns xcb_void_cookie_t
10021 *****************************************************************************/
10024 xcb_input_xi_change_hierarchy (xcb_connection_t
*c
/**< */,
10025 uint8_t num_changes
/**< */,
10026 const xcb_input_hierarchy_change_t
*changes
/**< */)
10028 static const xcb_protocol_request_t xcb_req
= {
10030 /* ext */ &xcb_input_id
,
10031 /* opcode */ XCB_INPUT_XI_CHANGE_HIERARCHY
,
10035 struct iovec xcb_parts
[6];
10036 xcb_void_cookie_t xcb_ret
;
10037 xcb_input_xi_change_hierarchy_request_t xcb_out
;
10039 unsigned int xcb_tmp_len
;
10042 xcb_out
.num_changes
= num_changes
;
10044 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10045 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10046 xcb_parts
[3].iov_base
= 0;
10047 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10048 /* xcb_input_hierarchy_change_t changes */
10049 xcb_parts
[4].iov_base
= (char *) changes
;
10050 xcb_parts
[4].iov_len
= 0;
10051 xcb_tmp
= (char *)changes
;
10052 for(i
=0; i
<num_changes
; i
++) {
10053 xcb_tmp_len
= xcb_input_hierarchy_change_sizeof(xcb_tmp
);
10054 xcb_parts
[4].iov_len
+= xcb_tmp_len
;
10055 xcb_tmp
+= xcb_tmp_len
;
10057 xcb_parts
[5].iov_base
= 0;
10058 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
10060 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
10065 /*****************************************************************************
10067 ** xcb_void_cookie_t xcb_input_xi_set_client_pointer_checked
10069 ** @param xcb_connection_t *c
10070 ** @param xcb_window_t window
10071 ** @param xcb_input_device_id_t deviceid
10072 ** @returns xcb_void_cookie_t
10074 *****************************************************************************/
10077 xcb_input_xi_set_client_pointer_checked (xcb_connection_t
*c
/**< */,
10078 xcb_window_t window
/**< */,
10079 xcb_input_device_id_t deviceid
/**< */)
10081 static const xcb_protocol_request_t xcb_req
= {
10083 /* ext */ &xcb_input_id
,
10084 /* opcode */ XCB_INPUT_XI_SET_CLIENT_POINTER
,
10088 struct iovec xcb_parts
[4];
10089 xcb_void_cookie_t xcb_ret
;
10090 xcb_input_xi_set_client_pointer_request_t xcb_out
;
10092 xcb_out
.window
= window
;
10093 xcb_out
.deviceid
= deviceid
;
10094 memset(xcb_out
.pad0
, 0, 2);
10096 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10097 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10098 xcb_parts
[3].iov_base
= 0;
10099 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10101 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
10106 /*****************************************************************************
10108 ** xcb_void_cookie_t xcb_input_xi_set_client_pointer
10110 ** @param xcb_connection_t *c
10111 ** @param xcb_window_t window
10112 ** @param xcb_input_device_id_t deviceid
10113 ** @returns xcb_void_cookie_t
10115 *****************************************************************************/
10118 xcb_input_xi_set_client_pointer (xcb_connection_t
*c
/**< */,
10119 xcb_window_t window
/**< */,
10120 xcb_input_device_id_t deviceid
/**< */)
10122 static const xcb_protocol_request_t xcb_req
= {
10124 /* ext */ &xcb_input_id
,
10125 /* opcode */ XCB_INPUT_XI_SET_CLIENT_POINTER
,
10129 struct iovec xcb_parts
[4];
10130 xcb_void_cookie_t xcb_ret
;
10131 xcb_input_xi_set_client_pointer_request_t xcb_out
;
10133 xcb_out
.window
= window
;
10134 xcb_out
.deviceid
= deviceid
;
10135 memset(xcb_out
.pad0
, 0, 2);
10137 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10138 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10139 xcb_parts
[3].iov_base
= 0;
10140 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10142 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
10147 /*****************************************************************************
10149 ** xcb_input_xi_get_client_pointer_cookie_t xcb_input_xi_get_client_pointer
10151 ** @param xcb_connection_t *c
10152 ** @param xcb_window_t window
10153 ** @returns xcb_input_xi_get_client_pointer_cookie_t
10155 *****************************************************************************/
10157 xcb_input_xi_get_client_pointer_cookie_t
10158 xcb_input_xi_get_client_pointer (xcb_connection_t
*c
/**< */,
10159 xcb_window_t window
/**< */)
10161 static const xcb_protocol_request_t xcb_req
= {
10163 /* ext */ &xcb_input_id
,
10164 /* opcode */ XCB_INPUT_XI_GET_CLIENT_POINTER
,
10168 struct iovec xcb_parts
[4];
10169 xcb_input_xi_get_client_pointer_cookie_t xcb_ret
;
10170 xcb_input_xi_get_client_pointer_request_t xcb_out
;
10172 xcb_out
.window
= window
;
10174 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10175 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10176 xcb_parts
[3].iov_base
= 0;
10177 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10179 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
10184 /*****************************************************************************
10186 ** xcb_input_xi_get_client_pointer_cookie_t xcb_input_xi_get_client_pointer_unchecked
10188 ** @param xcb_connection_t *c
10189 ** @param xcb_window_t window
10190 ** @returns xcb_input_xi_get_client_pointer_cookie_t
10192 *****************************************************************************/
10194 xcb_input_xi_get_client_pointer_cookie_t
10195 xcb_input_xi_get_client_pointer_unchecked (xcb_connection_t
*c
/**< */,
10196 xcb_window_t window
/**< */)
10198 static const xcb_protocol_request_t xcb_req
= {
10200 /* ext */ &xcb_input_id
,
10201 /* opcode */ XCB_INPUT_XI_GET_CLIENT_POINTER
,
10205 struct iovec xcb_parts
[4];
10206 xcb_input_xi_get_client_pointer_cookie_t xcb_ret
;
10207 xcb_input_xi_get_client_pointer_request_t xcb_out
;
10209 xcb_out
.window
= window
;
10211 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10212 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10213 xcb_parts
[3].iov_base
= 0;
10214 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10216 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
10221 /*****************************************************************************
10223 ** xcb_input_xi_get_client_pointer_reply_t * xcb_input_xi_get_client_pointer_reply
10225 ** @param xcb_connection_t *c
10226 ** @param xcb_input_xi_get_client_pointer_cookie_t cookie
10227 ** @param xcb_generic_error_t **e
10228 ** @returns xcb_input_xi_get_client_pointer_reply_t *
10230 *****************************************************************************/
10232 xcb_input_xi_get_client_pointer_reply_t
*
10233 xcb_input_xi_get_client_pointer_reply (xcb_connection_t
*c
/**< */,
10234 xcb_input_xi_get_client_pointer_cookie_t cookie
/**< */,
10235 xcb_generic_error_t
**e
/**< */)
10237 return (xcb_input_xi_get_client_pointer_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
10241 xcb_input_event_mask_sizeof (const void *_buffer
/**< */)
10243 char *xcb_tmp
= (char *)_buffer
;
10244 const xcb_input_event_mask_t
*_aux
= (xcb_input_event_mask_t
*)_buffer
;
10245 unsigned int xcb_buffer_len
= 0;
10246 unsigned int xcb_block_len
= 0;
10247 unsigned int xcb_pad
= 0;
10248 unsigned int xcb_align_to
= 0;
10251 xcb_block_len
+= sizeof(xcb_input_event_mask_t
);
10252 xcb_tmp
+= xcb_block_len
;
10253 xcb_buffer_len
+= xcb_block_len
;
10256 xcb_block_len
+= _aux
->mask_len
* sizeof(uint32_t);
10257 xcb_tmp
+= xcb_block_len
;
10258 xcb_align_to
= ALIGNOF(uint32_t);
10259 /* insert padding */
10260 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
10261 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
10262 if (0 != xcb_pad
) {
10263 xcb_tmp
+= xcb_pad
;
10268 return xcb_buffer_len
;
10272 /*****************************************************************************
10274 ** uint32_t * xcb_input_event_mask_mask
10276 ** @param const xcb_input_event_mask_t *R
10277 ** @returns uint32_t *
10279 *****************************************************************************/
10282 xcb_input_event_mask_mask (const xcb_input_event_mask_t
*R
/**< */)
10284 return (uint32_t *) (R
+ 1);
10288 /*****************************************************************************
10290 ** int xcb_input_event_mask_mask_length
10292 ** @param const xcb_input_event_mask_t *R
10295 *****************************************************************************/
10298 xcb_input_event_mask_mask_length (const xcb_input_event_mask_t
*R
/**< */)
10300 return R
->mask_len
;
10304 /*****************************************************************************
10306 ** xcb_generic_iterator_t xcb_input_event_mask_mask_end
10308 ** @param const xcb_input_event_mask_t *R
10309 ** @returns xcb_generic_iterator_t
10311 *****************************************************************************/
10313 xcb_generic_iterator_t
10314 xcb_input_event_mask_mask_end (const xcb_input_event_mask_t
*R
/**< */)
10316 xcb_generic_iterator_t i
;
10317 i
.data
= ((uint32_t *) (R
+ 1)) + (R
->mask_len
);
10319 i
.index
= (char *) i
.data
- (char *) R
;
10324 /*****************************************************************************
10326 ** void xcb_input_event_mask_next
10328 ** @param xcb_input_event_mask_iterator_t *i
10331 *****************************************************************************/
10334 xcb_input_event_mask_next (xcb_input_event_mask_iterator_t
*i
/**< */)
10336 xcb_input_event_mask_t
*R
= i
->data
;
10337 xcb_generic_iterator_t child
;
10338 child
.data
= (xcb_input_event_mask_t
*)(((char *)R
) + xcb_input_event_mask_sizeof(R
));
10339 i
->index
= (char *) child
.data
- (char *) i
->data
;
10341 i
->data
= (xcb_input_event_mask_t
*) child
.data
;
10345 /*****************************************************************************
10347 ** xcb_generic_iterator_t xcb_input_event_mask_end
10349 ** @param xcb_input_event_mask_iterator_t i
10350 ** @returns xcb_generic_iterator_t
10352 *****************************************************************************/
10354 xcb_generic_iterator_t
10355 xcb_input_event_mask_end (xcb_input_event_mask_iterator_t i
/**< */)
10357 xcb_generic_iterator_t ret
;
10359 xcb_input_event_mask_next(&i
);
10362 ret
.index
= i
.index
;
10367 xcb_input_xi_select_events_sizeof (const void *_buffer
/**< */)
10369 char *xcb_tmp
= (char *)_buffer
;
10370 const xcb_input_xi_select_events_request_t
*_aux
= (xcb_input_xi_select_events_request_t
*)_buffer
;
10371 unsigned int xcb_buffer_len
= 0;
10372 unsigned int xcb_block_len
= 0;
10373 unsigned int xcb_pad
= 0;
10374 unsigned int xcb_align_to
= 0;
10377 unsigned int xcb_tmp_len
;
10379 xcb_block_len
+= sizeof(xcb_input_xi_select_events_request_t
);
10380 xcb_tmp
+= xcb_block_len
;
10381 xcb_buffer_len
+= xcb_block_len
;
10384 for(i
=0; i
<_aux
->num_mask
; i
++) {
10385 xcb_tmp_len
= xcb_input_event_mask_sizeof(xcb_tmp
);
10386 xcb_block_len
+= xcb_tmp_len
;
10387 xcb_tmp
+= xcb_tmp_len
;
10389 xcb_align_to
= ALIGNOF(xcb_input_event_mask_t
);
10390 /* insert padding */
10391 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
10392 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
10393 if (0 != xcb_pad
) {
10394 xcb_tmp
+= xcb_pad
;
10399 return xcb_buffer_len
;
10403 /*****************************************************************************
10405 ** xcb_void_cookie_t xcb_input_xi_select_events_checked
10407 ** @param xcb_connection_t *c
10408 ** @param xcb_window_t window
10409 ** @param uint16_t num_mask
10410 ** @param const xcb_input_event_mask_t *masks
10411 ** @returns xcb_void_cookie_t
10413 *****************************************************************************/
10416 xcb_input_xi_select_events_checked (xcb_connection_t
*c
/**< */,
10417 xcb_window_t window
/**< */,
10418 uint16_t num_mask
/**< */,
10419 const xcb_input_event_mask_t
*masks
/**< */)
10421 static const xcb_protocol_request_t xcb_req
= {
10423 /* ext */ &xcb_input_id
,
10424 /* opcode */ XCB_INPUT_XI_SELECT_EVENTS
,
10428 struct iovec xcb_parts
[6];
10429 xcb_void_cookie_t xcb_ret
;
10430 xcb_input_xi_select_events_request_t xcb_out
;
10432 unsigned int xcb_tmp_len
;
10435 xcb_out
.window
= window
;
10436 xcb_out
.num_mask
= num_mask
;
10437 memset(xcb_out
.pad0
, 0, 2);
10439 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10440 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10441 xcb_parts
[3].iov_base
= 0;
10442 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10443 /* xcb_input_event_mask_t masks */
10444 xcb_parts
[4].iov_base
= (char *) masks
;
10445 xcb_parts
[4].iov_len
= 0;
10446 xcb_tmp
= (char *)masks
;
10447 for(i
=0; i
<num_mask
; i
++) {
10448 xcb_tmp_len
= xcb_input_event_mask_sizeof(xcb_tmp
);
10449 xcb_parts
[4].iov_len
+= xcb_tmp_len
;
10450 xcb_tmp
+= xcb_tmp_len
;
10452 xcb_parts
[5].iov_base
= 0;
10453 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
10455 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
10460 /*****************************************************************************
10462 ** xcb_void_cookie_t xcb_input_xi_select_events
10464 ** @param xcb_connection_t *c
10465 ** @param xcb_window_t window
10466 ** @param uint16_t num_mask
10467 ** @param const xcb_input_event_mask_t *masks
10468 ** @returns xcb_void_cookie_t
10470 *****************************************************************************/
10473 xcb_input_xi_select_events (xcb_connection_t
*c
/**< */,
10474 xcb_window_t window
/**< */,
10475 uint16_t num_mask
/**< */,
10476 const xcb_input_event_mask_t
*masks
/**< */)
10478 static const xcb_protocol_request_t xcb_req
= {
10480 /* ext */ &xcb_input_id
,
10481 /* opcode */ XCB_INPUT_XI_SELECT_EVENTS
,
10485 struct iovec xcb_parts
[6];
10486 xcb_void_cookie_t xcb_ret
;
10487 xcb_input_xi_select_events_request_t xcb_out
;
10489 unsigned int xcb_tmp_len
;
10492 xcb_out
.window
= window
;
10493 xcb_out
.num_mask
= num_mask
;
10494 memset(xcb_out
.pad0
, 0, 2);
10496 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10497 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10498 xcb_parts
[3].iov_base
= 0;
10499 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10500 /* xcb_input_event_mask_t masks */
10501 xcb_parts
[4].iov_base
= (char *) masks
;
10502 xcb_parts
[4].iov_len
= 0;
10503 xcb_tmp
= (char *)masks
;
10504 for(i
=0; i
<num_mask
; i
++) {
10505 xcb_tmp_len
= xcb_input_event_mask_sizeof(xcb_tmp
);
10506 xcb_parts
[4].iov_len
+= xcb_tmp_len
;
10507 xcb_tmp
+= xcb_tmp_len
;
10509 xcb_parts
[5].iov_base
= 0;
10510 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
10512 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
10517 /*****************************************************************************
10519 ** xcb_input_xi_query_version_cookie_t xcb_input_xi_query_version
10521 ** @param xcb_connection_t *c
10522 ** @param uint16_t major_version
10523 ** @param uint16_t minor_version
10524 ** @returns xcb_input_xi_query_version_cookie_t
10526 *****************************************************************************/
10528 xcb_input_xi_query_version_cookie_t
10529 xcb_input_xi_query_version (xcb_connection_t
*c
/**< */,
10530 uint16_t major_version
/**< */,
10531 uint16_t minor_version
/**< */)
10533 static const xcb_protocol_request_t xcb_req
= {
10535 /* ext */ &xcb_input_id
,
10536 /* opcode */ XCB_INPUT_XI_QUERY_VERSION
,
10540 struct iovec xcb_parts
[4];
10541 xcb_input_xi_query_version_cookie_t xcb_ret
;
10542 xcb_input_xi_query_version_request_t xcb_out
;
10544 xcb_out
.major_version
= major_version
;
10545 xcb_out
.minor_version
= minor_version
;
10547 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10548 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10549 xcb_parts
[3].iov_base
= 0;
10550 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10552 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
10557 /*****************************************************************************
10559 ** xcb_input_xi_query_version_cookie_t xcb_input_xi_query_version_unchecked
10561 ** @param xcb_connection_t *c
10562 ** @param uint16_t major_version
10563 ** @param uint16_t minor_version
10564 ** @returns xcb_input_xi_query_version_cookie_t
10566 *****************************************************************************/
10568 xcb_input_xi_query_version_cookie_t
10569 xcb_input_xi_query_version_unchecked (xcb_connection_t
*c
/**< */,
10570 uint16_t major_version
/**< */,
10571 uint16_t minor_version
/**< */)
10573 static const xcb_protocol_request_t xcb_req
= {
10575 /* ext */ &xcb_input_id
,
10576 /* opcode */ XCB_INPUT_XI_QUERY_VERSION
,
10580 struct iovec xcb_parts
[4];
10581 xcb_input_xi_query_version_cookie_t xcb_ret
;
10582 xcb_input_xi_query_version_request_t xcb_out
;
10584 xcb_out
.major_version
= major_version
;
10585 xcb_out
.minor_version
= minor_version
;
10587 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
10588 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
10589 xcb_parts
[3].iov_base
= 0;
10590 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
10592 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
10597 /*****************************************************************************
10599 ** xcb_input_xi_query_version_reply_t * xcb_input_xi_query_version_reply
10601 ** @param xcb_connection_t *c
10602 ** @param xcb_input_xi_query_version_cookie_t cookie
10603 ** @param xcb_generic_error_t **e
10604 ** @returns xcb_input_xi_query_version_reply_t *
10606 *****************************************************************************/
10608 xcb_input_xi_query_version_reply_t
*
10609 xcb_input_xi_query_version_reply (xcb_connection_t
*c
/**< */,
10610 xcb_input_xi_query_version_cookie_t cookie
/**< */,
10611 xcb_generic_error_t
**e
/**< */)
10613 return (xcb_input_xi_query_version_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
10617 xcb_input_button_class_sizeof (const void *_buffer
/**< */)
10619 char *xcb_tmp
= (char *)_buffer
;
10620 const xcb_input_button_class_t
*_aux
= (xcb_input_button_class_t
*)_buffer
;
10621 unsigned int xcb_buffer_len
= 0;
10622 unsigned int xcb_block_len
= 0;
10623 unsigned int xcb_pad
= 0;
10624 unsigned int xcb_align_to
= 0;
10627 xcb_block_len
+= sizeof(xcb_input_button_class_t
);
10628 xcb_tmp
+= xcb_block_len
;
10629 xcb_buffer_len
+= xcb_block_len
;
10632 xcb_block_len
+= ((_aux
->num_buttons
+ 31) / 32) * sizeof(xcb_atom_t
);
10633 xcb_tmp
+= xcb_block_len
;
10634 xcb_align_to
= ALIGNOF(uint32_t);
10635 /* insert padding */
10636 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
10637 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
10638 if (0 != xcb_pad
) {
10639 xcb_tmp
+= xcb_pad
;
10644 xcb_block_len
+= _aux
->num_buttons
* sizeof(xcb_atom_t
);
10645 xcb_tmp
+= xcb_block_len
;
10646 xcb_align_to
= ALIGNOF(xcb_atom_t
);
10647 /* insert padding */
10648 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
10649 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
10650 if (0 != xcb_pad
) {
10651 xcb_tmp
+= xcb_pad
;
10656 return xcb_buffer_len
;
10660 /*****************************************************************************
10662 ** uint32_t * xcb_input_button_class_state
10664 ** @param const xcb_input_button_class_t *R
10665 ** @returns uint32_t *
10667 *****************************************************************************/
10670 xcb_input_button_class_state (const xcb_input_button_class_t
*R
/**< */)
10672 return (uint32_t *) (R
+ 1);
10676 /*****************************************************************************
10678 ** int xcb_input_button_class_state_length
10680 ** @param const xcb_input_button_class_t *R
10683 *****************************************************************************/
10686 xcb_input_button_class_state_length (const xcb_input_button_class_t
*R
/**< */)
10688 return ((R
->num_buttons
+ 31) / 32);
10692 /*****************************************************************************
10694 ** xcb_generic_iterator_t xcb_input_button_class_state_end
10696 ** @param const xcb_input_button_class_t *R
10697 ** @returns xcb_generic_iterator_t
10699 *****************************************************************************/
10701 xcb_generic_iterator_t
10702 xcb_input_button_class_state_end (const xcb_input_button_class_t
*R
/**< */)
10704 xcb_generic_iterator_t i
;
10705 i
.data
= ((uint32_t *) (R
+ 1)) + (((R
->num_buttons
+ 31) / 32));
10707 i
.index
= (char *) i
.data
- (char *) R
;
10712 /*****************************************************************************
10714 ** xcb_atom_t * xcb_input_button_class_labels
10716 ** @param const xcb_input_button_class_t *R
10717 ** @returns xcb_atom_t *
10719 *****************************************************************************/
10722 xcb_input_button_class_labels (const xcb_input_button_class_t
*R
/**< */)
10724 xcb_generic_iterator_t prev
= xcb_input_button_class_state_end(R
);
10725 return (xcb_atom_t
*) ((char *) prev
.data
+ XCB_TYPE_PAD(xcb_atom_t
, prev
.index
) + 0);
10729 /*****************************************************************************
10731 ** int xcb_input_button_class_labels_length
10733 ** @param const xcb_input_button_class_t *R
10736 *****************************************************************************/
10739 xcb_input_button_class_labels_length (const xcb_input_button_class_t
*R
/**< */)
10741 return R
->num_buttons
;
10745 /*****************************************************************************
10747 ** xcb_generic_iterator_t xcb_input_button_class_labels_end
10749 ** @param const xcb_input_button_class_t *R
10750 ** @returns xcb_generic_iterator_t
10752 *****************************************************************************/
10754 xcb_generic_iterator_t
10755 xcb_input_button_class_labels_end (const xcb_input_button_class_t
*R
/**< */)
10757 xcb_generic_iterator_t i
;
10758 xcb_generic_iterator_t child
= xcb_input_button_class_state_end(R
);
10759 i
.data
= ((xcb_atom_t
*) child
.data
) + (R
->num_buttons
);
10761 i
.index
= (char *) i
.data
- (char *) R
;
10766 /*****************************************************************************
10768 ** void xcb_input_button_class_next
10770 ** @param xcb_input_button_class_iterator_t *i
10773 *****************************************************************************/
10776 xcb_input_button_class_next (xcb_input_button_class_iterator_t
*i
/**< */)
10778 xcb_input_button_class_t
*R
= i
->data
;
10779 xcb_generic_iterator_t child
;
10780 child
.data
= (xcb_input_button_class_t
*)(((char *)R
) + xcb_input_button_class_sizeof(R
));
10781 i
->index
= (char *) child
.data
- (char *) i
->data
;
10783 i
->data
= (xcb_input_button_class_t
*) child
.data
;
10787 /*****************************************************************************
10789 ** xcb_generic_iterator_t xcb_input_button_class_end
10791 ** @param xcb_input_button_class_iterator_t i
10792 ** @returns xcb_generic_iterator_t
10794 *****************************************************************************/
10796 xcb_generic_iterator_t
10797 xcb_input_button_class_end (xcb_input_button_class_iterator_t i
/**< */)
10799 xcb_generic_iterator_t ret
;
10801 xcb_input_button_class_next(&i
);
10804 ret
.index
= i
.index
;
10809 xcb_input_key_class_sizeof (const void *_buffer
/**< */)
10811 char *xcb_tmp
= (char *)_buffer
;
10812 const xcb_input_key_class_t
*_aux
= (xcb_input_key_class_t
*)_buffer
;
10813 unsigned int xcb_buffer_len
= 0;
10814 unsigned int xcb_block_len
= 0;
10815 unsigned int xcb_pad
= 0;
10816 unsigned int xcb_align_to
= 0;
10819 xcb_block_len
+= sizeof(xcb_input_key_class_t
);
10820 xcb_tmp
+= xcb_block_len
;
10821 xcb_buffer_len
+= xcb_block_len
;
10824 xcb_block_len
+= _aux
->num_keys
* sizeof(uint32_t);
10825 xcb_tmp
+= xcb_block_len
;
10826 xcb_align_to
= ALIGNOF(uint32_t);
10827 /* insert padding */
10828 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
10829 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
10830 if (0 != xcb_pad
) {
10831 xcb_tmp
+= xcb_pad
;
10836 return xcb_buffer_len
;
10840 /*****************************************************************************
10842 ** uint32_t * xcb_input_key_class_keys
10844 ** @param const xcb_input_key_class_t *R
10845 ** @returns uint32_t *
10847 *****************************************************************************/
10850 xcb_input_key_class_keys (const xcb_input_key_class_t
*R
/**< */)
10852 return (uint32_t *) (R
+ 1);
10856 /*****************************************************************************
10858 ** int xcb_input_key_class_keys_length
10860 ** @param const xcb_input_key_class_t *R
10863 *****************************************************************************/
10866 xcb_input_key_class_keys_length (const xcb_input_key_class_t
*R
/**< */)
10868 return R
->num_keys
;
10872 /*****************************************************************************
10874 ** xcb_generic_iterator_t xcb_input_key_class_keys_end
10876 ** @param const xcb_input_key_class_t *R
10877 ** @returns xcb_generic_iterator_t
10879 *****************************************************************************/
10881 xcb_generic_iterator_t
10882 xcb_input_key_class_keys_end (const xcb_input_key_class_t
*R
/**< */)
10884 xcb_generic_iterator_t i
;
10885 i
.data
= ((uint32_t *) (R
+ 1)) + (R
->num_keys
);
10887 i
.index
= (char *) i
.data
- (char *) R
;
10892 /*****************************************************************************
10894 ** void xcb_input_key_class_next
10896 ** @param xcb_input_key_class_iterator_t *i
10899 *****************************************************************************/
10902 xcb_input_key_class_next (xcb_input_key_class_iterator_t
*i
/**< */)
10904 xcb_input_key_class_t
*R
= i
->data
;
10905 xcb_generic_iterator_t child
;
10906 child
.data
= (xcb_input_key_class_t
*)(((char *)R
) + xcb_input_key_class_sizeof(R
));
10907 i
->index
= (char *) child
.data
- (char *) i
->data
;
10909 i
->data
= (xcb_input_key_class_t
*) child
.data
;
10913 /*****************************************************************************
10915 ** xcb_generic_iterator_t xcb_input_key_class_end
10917 ** @param xcb_input_key_class_iterator_t i
10918 ** @returns xcb_generic_iterator_t
10920 *****************************************************************************/
10922 xcb_generic_iterator_t
10923 xcb_input_key_class_end (xcb_input_key_class_iterator_t i
/**< */)
10925 xcb_generic_iterator_t ret
;
10927 xcb_input_key_class_next(&i
);
10930 ret
.index
= i
.index
;
10935 /*****************************************************************************
10937 ** void xcb_input_scroll_class_next
10939 ** @param xcb_input_scroll_class_iterator_t *i
10942 *****************************************************************************/
10945 xcb_input_scroll_class_next (xcb_input_scroll_class_iterator_t
*i
/**< */)
10949 i
->index
+= sizeof(xcb_input_scroll_class_t
);
10953 /*****************************************************************************
10955 ** xcb_generic_iterator_t xcb_input_scroll_class_end
10957 ** @param xcb_input_scroll_class_iterator_t i
10958 ** @returns xcb_generic_iterator_t
10960 *****************************************************************************/
10962 xcb_generic_iterator_t
10963 xcb_input_scroll_class_end (xcb_input_scroll_class_iterator_t i
/**< */)
10965 xcb_generic_iterator_t ret
;
10966 ret
.data
= i
.data
+ i
.rem
;
10967 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
10973 /*****************************************************************************
10975 ** void xcb_input_touch_class_next
10977 ** @param xcb_input_touch_class_iterator_t *i
10980 *****************************************************************************/
10983 xcb_input_touch_class_next (xcb_input_touch_class_iterator_t
*i
/**< */)
10987 i
->index
+= sizeof(xcb_input_touch_class_t
);
10991 /*****************************************************************************
10993 ** xcb_generic_iterator_t xcb_input_touch_class_end
10995 ** @param xcb_input_touch_class_iterator_t i
10996 ** @returns xcb_generic_iterator_t
10998 *****************************************************************************/
11000 xcb_generic_iterator_t
11001 xcb_input_touch_class_end (xcb_input_touch_class_iterator_t i
/**< */)
11003 xcb_generic_iterator_t ret
;
11004 ret
.data
= i
.data
+ i
.rem
;
11005 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
11011 /*****************************************************************************
11013 ** void xcb_input_valuator_class_next
11015 ** @param xcb_input_valuator_class_iterator_t *i
11018 *****************************************************************************/
11021 xcb_input_valuator_class_next (xcb_input_valuator_class_iterator_t
*i
/**< */)
11025 i
->index
+= sizeof(xcb_input_valuator_class_t
);
11029 /*****************************************************************************
11031 ** xcb_generic_iterator_t xcb_input_valuator_class_end
11033 ** @param xcb_input_valuator_class_iterator_t i
11034 ** @returns xcb_generic_iterator_t
11036 *****************************************************************************/
11038 xcb_generic_iterator_t
11039 xcb_input_valuator_class_end (xcb_input_valuator_class_iterator_t i
/**< */)
11041 xcb_generic_iterator_t ret
;
11042 ret
.data
= i
.data
+ i
.rem
;
11043 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
11049 xcb_input_device_class_sizeof (const void *_buffer
/**< */)
11051 char *xcb_tmp
= (char *)_buffer
;
11052 const xcb_input_device_class_t
*_aux
= (xcb_input_device_class_t
*)_buffer
;
11053 unsigned int xcb_buffer_len
= 0;
11054 unsigned int xcb_block_len
= 0;
11055 unsigned int xcb_pad
= 0;
11056 unsigned int xcb_align_to
= 0;
11059 xcb_block_len
+= sizeof(xcb_input_device_class_t
);
11060 xcb_tmp
+= xcb_block_len
;
11061 xcb_buffer_len
+= xcb_block_len
;
11063 /* uninterpreted_data */
11064 xcb_block_len
+= ((_aux
->len
* 4) - 8) * sizeof(uint8_t);
11065 xcb_tmp
+= xcb_block_len
;
11066 xcb_align_to
= ALIGNOF(uint8_t);
11067 /* insert padding */
11068 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
11069 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
11070 if (0 != xcb_pad
) {
11071 xcb_tmp
+= xcb_pad
;
11076 return xcb_buffer_len
;
11080 /*****************************************************************************
11082 ** uint8_t * xcb_input_device_class_uninterpreted_data
11084 ** @param const xcb_input_device_class_t *R
11085 ** @returns uint8_t *
11087 *****************************************************************************/
11090 xcb_input_device_class_uninterpreted_data (const xcb_input_device_class_t
*R
/**< */)
11092 return (uint8_t *) (R
+ 1);
11096 /*****************************************************************************
11098 ** int xcb_input_device_class_uninterpreted_data_length
11100 ** @param const xcb_input_device_class_t *R
11103 *****************************************************************************/
11106 xcb_input_device_class_uninterpreted_data_length (const xcb_input_device_class_t
*R
/**< */)
11108 return ((R
->len
* 4) - 8);
11112 /*****************************************************************************
11114 ** xcb_generic_iterator_t xcb_input_device_class_uninterpreted_data_end
11116 ** @param const xcb_input_device_class_t *R
11117 ** @returns xcb_generic_iterator_t
11119 *****************************************************************************/
11121 xcb_generic_iterator_t
11122 xcb_input_device_class_uninterpreted_data_end (const xcb_input_device_class_t
*R
/**< */)
11124 xcb_generic_iterator_t i
;
11125 i
.data
= ((uint8_t *) (R
+ 1)) + (((R
->len
* 4) - 8));
11127 i
.index
= (char *) i
.data
- (char *) R
;
11132 /*****************************************************************************
11134 ** void xcb_input_device_class_next
11136 ** @param xcb_input_device_class_iterator_t *i
11139 *****************************************************************************/
11142 xcb_input_device_class_next (xcb_input_device_class_iterator_t
*i
/**< */)
11144 xcb_input_device_class_t
*R
= i
->data
;
11145 xcb_generic_iterator_t child
;
11146 child
.data
= (xcb_input_device_class_t
*)(((char *)R
) + xcb_input_device_class_sizeof(R
));
11147 i
->index
= (char *) child
.data
- (char *) i
->data
;
11149 i
->data
= (xcb_input_device_class_t
*) child
.data
;
11153 /*****************************************************************************
11155 ** xcb_generic_iterator_t xcb_input_device_class_end
11157 ** @param xcb_input_device_class_iterator_t i
11158 ** @returns xcb_generic_iterator_t
11160 *****************************************************************************/
11162 xcb_generic_iterator_t
11163 xcb_input_device_class_end (xcb_input_device_class_iterator_t i
/**< */)
11165 xcb_generic_iterator_t ret
;
11167 xcb_input_device_class_next(&i
);
11170 ret
.index
= i
.index
;
11175 xcb_input_xi_device_info_sizeof (const void *_buffer
/**< */)
11177 char *xcb_tmp
= (char *)_buffer
;
11178 const xcb_input_xi_device_info_t
*_aux
= (xcb_input_xi_device_info_t
*)_buffer
;
11179 unsigned int xcb_buffer_len
= 0;
11180 unsigned int xcb_block_len
= 0;
11181 unsigned int xcb_pad
= 0;
11182 unsigned int xcb_align_to
= 0;
11185 unsigned int xcb_tmp_len
;
11187 xcb_block_len
+= sizeof(xcb_input_xi_device_info_t
);
11188 xcb_tmp
+= xcb_block_len
;
11189 xcb_buffer_len
+= xcb_block_len
;
11192 xcb_block_len
+= (((_aux
->name_len
+ 3) / 4) * 4) * sizeof(char);
11193 xcb_tmp
+= xcb_block_len
;
11194 xcb_align_to
= ALIGNOF(char);
11195 /* insert padding */
11196 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
11197 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
11198 if (0 != xcb_pad
) {
11199 xcb_tmp
+= xcb_pad
;
11204 for(i
=0; i
<_aux
->num_classes
; i
++) {
11205 xcb_tmp_len
= xcb_input_device_class_sizeof(xcb_tmp
);
11206 xcb_block_len
+= xcb_tmp_len
;
11207 xcb_tmp
+= xcb_tmp_len
;
11209 xcb_align_to
= ALIGNOF(xcb_input_device_class_t
);
11210 /* insert padding */
11211 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
11212 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
11213 if (0 != xcb_pad
) {
11214 xcb_tmp
+= xcb_pad
;
11219 return xcb_buffer_len
;
11223 /*****************************************************************************
11225 ** char * xcb_input_xi_device_info_name
11227 ** @param const xcb_input_xi_device_info_t *R
11230 *****************************************************************************/
11233 xcb_input_xi_device_info_name (const xcb_input_xi_device_info_t
*R
/**< */)
11235 return (char *) (R
+ 1);
11239 /*****************************************************************************
11241 ** int xcb_input_xi_device_info_name_length
11243 ** @param const xcb_input_xi_device_info_t *R
11246 *****************************************************************************/
11249 xcb_input_xi_device_info_name_length (const xcb_input_xi_device_info_t
*R
/**< */)
11251 return (((R
->name_len
+ 3) / 4) * 4);
11255 /*****************************************************************************
11257 ** xcb_generic_iterator_t xcb_input_xi_device_info_name_end
11259 ** @param const xcb_input_xi_device_info_t *R
11260 ** @returns xcb_generic_iterator_t
11262 *****************************************************************************/
11264 xcb_generic_iterator_t
11265 xcb_input_xi_device_info_name_end (const xcb_input_xi_device_info_t
*R
/**< */)
11267 xcb_generic_iterator_t i
;
11268 i
.data
= ((char *) (R
+ 1)) + ((((R
->name_len
+ 3) / 4) * 4));
11270 i
.index
= (char *) i
.data
- (char *) R
;
11275 /*****************************************************************************
11277 ** int xcb_input_xi_device_info_classes_length
11279 ** @param const xcb_input_xi_device_info_t *R
11282 *****************************************************************************/
11285 xcb_input_xi_device_info_classes_length (const xcb_input_xi_device_info_t
*R
/**< */)
11287 return R
->num_classes
;
11291 /*****************************************************************************
11293 ** xcb_input_device_class_iterator_t xcb_input_xi_device_info_classes_iterator
11295 ** @param const xcb_input_xi_device_info_t *R
11296 ** @returns xcb_input_device_class_iterator_t
11298 *****************************************************************************/
11300 xcb_input_device_class_iterator_t
11301 xcb_input_xi_device_info_classes_iterator (const xcb_input_xi_device_info_t
*R
/**< */)
11303 xcb_input_device_class_iterator_t i
;
11304 xcb_generic_iterator_t prev
= xcb_input_xi_device_info_name_end(R
);
11305 i
.data
= (xcb_input_device_class_t
*) ((char *) prev
.data
+ XCB_TYPE_PAD(xcb_input_device_class_t
, prev
.index
));
11306 i
.rem
= R
->num_classes
;
11307 i
.index
= (char *) i
.data
- (char *) R
;
11312 /*****************************************************************************
11314 ** void xcb_input_xi_device_info_next
11316 ** @param xcb_input_xi_device_info_iterator_t *i
11319 *****************************************************************************/
11322 xcb_input_xi_device_info_next (xcb_input_xi_device_info_iterator_t
*i
/**< */)
11324 xcb_input_xi_device_info_t
*R
= i
->data
;
11325 xcb_generic_iterator_t child
;
11326 child
.data
= (xcb_input_xi_device_info_t
*)(((char *)R
) + xcb_input_xi_device_info_sizeof(R
));
11327 i
->index
= (char *) child
.data
- (char *) i
->data
;
11329 i
->data
= (xcb_input_xi_device_info_t
*) child
.data
;
11333 /*****************************************************************************
11335 ** xcb_generic_iterator_t xcb_input_xi_device_info_end
11337 ** @param xcb_input_xi_device_info_iterator_t i
11338 ** @returns xcb_generic_iterator_t
11340 *****************************************************************************/
11342 xcb_generic_iterator_t
11343 xcb_input_xi_device_info_end (xcb_input_xi_device_info_iterator_t i
/**< */)
11345 xcb_generic_iterator_t ret
;
11347 xcb_input_xi_device_info_next(&i
);
11350 ret
.index
= i
.index
;
11355 xcb_input_xi_query_device_sizeof (const void *_buffer
/**< */)
11357 char *xcb_tmp
= (char *)_buffer
;
11358 const xcb_input_xi_query_device_reply_t
*_aux
= (xcb_input_xi_query_device_reply_t
*)_buffer
;
11359 unsigned int xcb_buffer_len
= 0;
11360 unsigned int xcb_block_len
= 0;
11361 unsigned int xcb_pad
= 0;
11362 unsigned int xcb_align_to
= 0;
11365 unsigned int xcb_tmp_len
;
11367 xcb_block_len
+= sizeof(xcb_input_xi_query_device_reply_t
);
11368 xcb_tmp
+= xcb_block_len
;
11369 xcb_buffer_len
+= xcb_block_len
;
11372 for(i
=0; i
<_aux
->num_infos
; i
++) {
11373 xcb_tmp_len
= xcb_input_xi_device_info_sizeof(xcb_tmp
);
11374 xcb_block_len
+= xcb_tmp_len
;
11375 xcb_tmp
+= xcb_tmp_len
;
11377 xcb_align_to
= ALIGNOF(xcb_input_xi_device_info_t
);
11378 /* insert padding */
11379 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
11380 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
11381 if (0 != xcb_pad
) {
11382 xcb_tmp
+= xcb_pad
;
11387 return xcb_buffer_len
;
11391 /*****************************************************************************
11393 ** xcb_input_xi_query_device_cookie_t xcb_input_xi_query_device
11395 ** @param xcb_connection_t *c
11396 ** @param xcb_input_device_id_t deviceid
11397 ** @returns xcb_input_xi_query_device_cookie_t
11399 *****************************************************************************/
11401 xcb_input_xi_query_device_cookie_t
11402 xcb_input_xi_query_device (xcb_connection_t
*c
/**< */,
11403 xcb_input_device_id_t deviceid
/**< */)
11405 static const xcb_protocol_request_t xcb_req
= {
11407 /* ext */ &xcb_input_id
,
11408 /* opcode */ XCB_INPUT_XI_QUERY_DEVICE
,
11412 struct iovec xcb_parts
[4];
11413 xcb_input_xi_query_device_cookie_t xcb_ret
;
11414 xcb_input_xi_query_device_request_t xcb_out
;
11416 xcb_out
.deviceid
= deviceid
;
11417 memset(xcb_out
.pad0
, 0, 2);
11419 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11420 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11421 xcb_parts
[3].iov_base
= 0;
11422 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11424 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
11429 /*****************************************************************************
11431 ** xcb_input_xi_query_device_cookie_t xcb_input_xi_query_device_unchecked
11433 ** @param xcb_connection_t *c
11434 ** @param xcb_input_device_id_t deviceid
11435 ** @returns xcb_input_xi_query_device_cookie_t
11437 *****************************************************************************/
11439 xcb_input_xi_query_device_cookie_t
11440 xcb_input_xi_query_device_unchecked (xcb_connection_t
*c
/**< */,
11441 xcb_input_device_id_t deviceid
/**< */)
11443 static const xcb_protocol_request_t xcb_req
= {
11445 /* ext */ &xcb_input_id
,
11446 /* opcode */ XCB_INPUT_XI_QUERY_DEVICE
,
11450 struct iovec xcb_parts
[4];
11451 xcb_input_xi_query_device_cookie_t xcb_ret
;
11452 xcb_input_xi_query_device_request_t xcb_out
;
11454 xcb_out
.deviceid
= deviceid
;
11455 memset(xcb_out
.pad0
, 0, 2);
11457 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11458 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11459 xcb_parts
[3].iov_base
= 0;
11460 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11462 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
11467 /*****************************************************************************
11469 ** int xcb_input_xi_query_device_infos_length
11471 ** @param const xcb_input_xi_query_device_reply_t *R
11474 *****************************************************************************/
11477 xcb_input_xi_query_device_infos_length (const xcb_input_xi_query_device_reply_t
*R
/**< */)
11479 return R
->num_infos
;
11483 /*****************************************************************************
11485 ** xcb_input_xi_device_info_iterator_t xcb_input_xi_query_device_infos_iterator
11487 ** @param const xcb_input_xi_query_device_reply_t *R
11488 ** @returns xcb_input_xi_device_info_iterator_t
11490 *****************************************************************************/
11492 xcb_input_xi_device_info_iterator_t
11493 xcb_input_xi_query_device_infos_iterator (const xcb_input_xi_query_device_reply_t
*R
/**< */)
11495 xcb_input_xi_device_info_iterator_t i
;
11496 i
.data
= (xcb_input_xi_device_info_t
*) (R
+ 1);
11497 i
.rem
= R
->num_infos
;
11498 i
.index
= (char *) i
.data
- (char *) R
;
11503 /*****************************************************************************
11505 ** xcb_input_xi_query_device_reply_t * xcb_input_xi_query_device_reply
11507 ** @param xcb_connection_t *c
11508 ** @param xcb_input_xi_query_device_cookie_t cookie
11509 ** @param xcb_generic_error_t **e
11510 ** @returns xcb_input_xi_query_device_reply_t *
11512 *****************************************************************************/
11514 xcb_input_xi_query_device_reply_t
*
11515 xcb_input_xi_query_device_reply (xcb_connection_t
*c
/**< */,
11516 xcb_input_xi_query_device_cookie_t cookie
/**< */,
11517 xcb_generic_error_t
**e
/**< */)
11519 return (xcb_input_xi_query_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
11523 /*****************************************************************************
11525 ** xcb_void_cookie_t xcb_input_xi_set_focus_checked
11527 ** @param xcb_connection_t *c
11528 ** @param xcb_window_t window
11529 ** @param xcb_timestamp_t time
11530 ** @param xcb_input_device_id_t deviceid
11531 ** @returns xcb_void_cookie_t
11533 *****************************************************************************/
11536 xcb_input_xi_set_focus_checked (xcb_connection_t
*c
/**< */,
11537 xcb_window_t window
/**< */,
11538 xcb_timestamp_t time
/**< */,
11539 xcb_input_device_id_t deviceid
/**< */)
11541 static const xcb_protocol_request_t xcb_req
= {
11543 /* ext */ &xcb_input_id
,
11544 /* opcode */ XCB_INPUT_XI_SET_FOCUS
,
11548 struct iovec xcb_parts
[4];
11549 xcb_void_cookie_t xcb_ret
;
11550 xcb_input_xi_set_focus_request_t xcb_out
;
11552 xcb_out
.window
= window
;
11553 xcb_out
.time
= time
;
11554 xcb_out
.deviceid
= deviceid
;
11555 memset(xcb_out
.pad0
, 0, 2);
11557 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11558 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11559 xcb_parts
[3].iov_base
= 0;
11560 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11562 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
11567 /*****************************************************************************
11569 ** xcb_void_cookie_t xcb_input_xi_set_focus
11571 ** @param xcb_connection_t *c
11572 ** @param xcb_window_t window
11573 ** @param xcb_timestamp_t time
11574 ** @param xcb_input_device_id_t deviceid
11575 ** @returns xcb_void_cookie_t
11577 *****************************************************************************/
11580 xcb_input_xi_set_focus (xcb_connection_t
*c
/**< */,
11581 xcb_window_t window
/**< */,
11582 xcb_timestamp_t time
/**< */,
11583 xcb_input_device_id_t deviceid
/**< */)
11585 static const xcb_protocol_request_t xcb_req
= {
11587 /* ext */ &xcb_input_id
,
11588 /* opcode */ XCB_INPUT_XI_SET_FOCUS
,
11592 struct iovec xcb_parts
[4];
11593 xcb_void_cookie_t xcb_ret
;
11594 xcb_input_xi_set_focus_request_t xcb_out
;
11596 xcb_out
.window
= window
;
11597 xcb_out
.time
= time
;
11598 xcb_out
.deviceid
= deviceid
;
11599 memset(xcb_out
.pad0
, 0, 2);
11601 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11602 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11603 xcb_parts
[3].iov_base
= 0;
11604 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11606 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
11611 /*****************************************************************************
11613 ** xcb_input_xi_get_focus_cookie_t xcb_input_xi_get_focus
11615 ** @param xcb_connection_t *c
11616 ** @param xcb_input_device_id_t deviceid
11617 ** @returns xcb_input_xi_get_focus_cookie_t
11619 *****************************************************************************/
11621 xcb_input_xi_get_focus_cookie_t
11622 xcb_input_xi_get_focus (xcb_connection_t
*c
/**< */,
11623 xcb_input_device_id_t deviceid
/**< */)
11625 static const xcb_protocol_request_t xcb_req
= {
11627 /* ext */ &xcb_input_id
,
11628 /* opcode */ XCB_INPUT_XI_GET_FOCUS
,
11632 struct iovec xcb_parts
[4];
11633 xcb_input_xi_get_focus_cookie_t xcb_ret
;
11634 xcb_input_xi_get_focus_request_t xcb_out
;
11636 xcb_out
.deviceid
= deviceid
;
11637 memset(xcb_out
.pad0
, 0, 2);
11639 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11640 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11641 xcb_parts
[3].iov_base
= 0;
11642 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11644 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
11649 /*****************************************************************************
11651 ** xcb_input_xi_get_focus_cookie_t xcb_input_xi_get_focus_unchecked
11653 ** @param xcb_connection_t *c
11654 ** @param xcb_input_device_id_t deviceid
11655 ** @returns xcb_input_xi_get_focus_cookie_t
11657 *****************************************************************************/
11659 xcb_input_xi_get_focus_cookie_t
11660 xcb_input_xi_get_focus_unchecked (xcb_connection_t
*c
/**< */,
11661 xcb_input_device_id_t deviceid
/**< */)
11663 static const xcb_protocol_request_t xcb_req
= {
11665 /* ext */ &xcb_input_id
,
11666 /* opcode */ XCB_INPUT_XI_GET_FOCUS
,
11670 struct iovec xcb_parts
[4];
11671 xcb_input_xi_get_focus_cookie_t xcb_ret
;
11672 xcb_input_xi_get_focus_request_t xcb_out
;
11674 xcb_out
.deviceid
= deviceid
;
11675 memset(xcb_out
.pad0
, 0, 2);
11677 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11678 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11679 xcb_parts
[3].iov_base
= 0;
11680 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11682 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
11687 /*****************************************************************************
11689 ** xcb_input_xi_get_focus_reply_t * xcb_input_xi_get_focus_reply
11691 ** @param xcb_connection_t *c
11692 ** @param xcb_input_xi_get_focus_cookie_t cookie
11693 ** @param xcb_generic_error_t **e
11694 ** @returns xcb_input_xi_get_focus_reply_t *
11696 *****************************************************************************/
11698 xcb_input_xi_get_focus_reply_t
*
11699 xcb_input_xi_get_focus_reply (xcb_connection_t
*c
/**< */,
11700 xcb_input_xi_get_focus_cookie_t cookie
/**< */,
11701 xcb_generic_error_t
**e
/**< */)
11703 return (xcb_input_xi_get_focus_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
11707 xcb_input_xi_grab_device_sizeof (const void *_buffer
/**< */)
11709 char *xcb_tmp
= (char *)_buffer
;
11710 const xcb_input_xi_grab_device_request_t
*_aux
= (xcb_input_xi_grab_device_request_t
*)_buffer
;
11711 unsigned int xcb_buffer_len
= 0;
11712 unsigned int xcb_block_len
= 0;
11713 unsigned int xcb_pad
= 0;
11714 unsigned int xcb_align_to
= 0;
11717 xcb_block_len
+= sizeof(xcb_input_xi_grab_device_request_t
);
11718 xcb_tmp
+= xcb_block_len
;
11719 xcb_buffer_len
+= xcb_block_len
;
11722 xcb_block_len
+= _aux
->mask_len
* sizeof(uint32_t);
11723 xcb_tmp
+= xcb_block_len
;
11724 xcb_align_to
= ALIGNOF(uint32_t);
11725 /* insert padding */
11726 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
11727 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
11728 if (0 != xcb_pad
) {
11729 xcb_tmp
+= xcb_pad
;
11734 return xcb_buffer_len
;
11738 /*****************************************************************************
11740 ** xcb_input_xi_grab_device_cookie_t xcb_input_xi_grab_device
11742 ** @param xcb_connection_t *c
11743 ** @param xcb_window_t window
11744 ** @param xcb_timestamp_t time
11745 ** @param xcb_cursor_t cursor
11746 ** @param xcb_input_device_id_t deviceid
11747 ** @param uint8_t mode
11748 ** @param uint8_t paired_device_mode
11749 ** @param uint8_t owner_events
11750 ** @param uint16_t mask_len
11751 ** @param const uint32_t *mask
11752 ** @returns xcb_input_xi_grab_device_cookie_t
11754 *****************************************************************************/
11756 xcb_input_xi_grab_device_cookie_t
11757 xcb_input_xi_grab_device (xcb_connection_t
*c
/**< */,
11758 xcb_window_t window
/**< */,
11759 xcb_timestamp_t time
/**< */,
11760 xcb_cursor_t cursor
/**< */,
11761 xcb_input_device_id_t deviceid
/**< */,
11762 uint8_t mode
/**< */,
11763 uint8_t paired_device_mode
/**< */,
11764 uint8_t owner_events
/**< */,
11765 uint16_t mask_len
/**< */,
11766 const uint32_t *mask
/**< */)
11768 static const xcb_protocol_request_t xcb_req
= {
11770 /* ext */ &xcb_input_id
,
11771 /* opcode */ XCB_INPUT_XI_GRAB_DEVICE
,
11775 struct iovec xcb_parts
[6];
11776 xcb_input_xi_grab_device_cookie_t xcb_ret
;
11777 xcb_input_xi_grab_device_request_t xcb_out
;
11779 xcb_out
.window
= window
;
11780 xcb_out
.time
= time
;
11781 xcb_out
.cursor
= cursor
;
11782 xcb_out
.deviceid
= deviceid
;
11783 xcb_out
.mode
= mode
;
11784 xcb_out
.paired_device_mode
= paired_device_mode
;
11785 xcb_out
.owner_events
= owner_events
;
11787 xcb_out
.mask_len
= mask_len
;
11789 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11790 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11791 xcb_parts
[3].iov_base
= 0;
11792 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11793 /* uint32_t mask */
11794 xcb_parts
[4].iov_base
= (char *) mask
;
11795 xcb_parts
[4].iov_len
= mask_len
* sizeof(uint32_t);
11796 xcb_parts
[5].iov_base
= 0;
11797 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
11799 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
11804 /*****************************************************************************
11806 ** xcb_input_xi_grab_device_cookie_t xcb_input_xi_grab_device_unchecked
11808 ** @param xcb_connection_t *c
11809 ** @param xcb_window_t window
11810 ** @param xcb_timestamp_t time
11811 ** @param xcb_cursor_t cursor
11812 ** @param xcb_input_device_id_t deviceid
11813 ** @param uint8_t mode
11814 ** @param uint8_t paired_device_mode
11815 ** @param uint8_t owner_events
11816 ** @param uint16_t mask_len
11817 ** @param const uint32_t *mask
11818 ** @returns xcb_input_xi_grab_device_cookie_t
11820 *****************************************************************************/
11822 xcb_input_xi_grab_device_cookie_t
11823 xcb_input_xi_grab_device_unchecked (xcb_connection_t
*c
/**< */,
11824 xcb_window_t window
/**< */,
11825 xcb_timestamp_t time
/**< */,
11826 xcb_cursor_t cursor
/**< */,
11827 xcb_input_device_id_t deviceid
/**< */,
11828 uint8_t mode
/**< */,
11829 uint8_t paired_device_mode
/**< */,
11830 uint8_t owner_events
/**< */,
11831 uint16_t mask_len
/**< */,
11832 const uint32_t *mask
/**< */)
11834 static const xcb_protocol_request_t xcb_req
= {
11836 /* ext */ &xcb_input_id
,
11837 /* opcode */ XCB_INPUT_XI_GRAB_DEVICE
,
11841 struct iovec xcb_parts
[6];
11842 xcb_input_xi_grab_device_cookie_t xcb_ret
;
11843 xcb_input_xi_grab_device_request_t xcb_out
;
11845 xcb_out
.window
= window
;
11846 xcb_out
.time
= time
;
11847 xcb_out
.cursor
= cursor
;
11848 xcb_out
.deviceid
= deviceid
;
11849 xcb_out
.mode
= mode
;
11850 xcb_out
.paired_device_mode
= paired_device_mode
;
11851 xcb_out
.owner_events
= owner_events
;
11853 xcb_out
.mask_len
= mask_len
;
11855 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11856 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11857 xcb_parts
[3].iov_base
= 0;
11858 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11859 /* uint32_t mask */
11860 xcb_parts
[4].iov_base
= (char *) mask
;
11861 xcb_parts
[4].iov_len
= mask_len
* sizeof(uint32_t);
11862 xcb_parts
[5].iov_base
= 0;
11863 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
11865 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
11870 /*****************************************************************************
11872 ** xcb_input_xi_grab_device_reply_t * xcb_input_xi_grab_device_reply
11874 ** @param xcb_connection_t *c
11875 ** @param xcb_input_xi_grab_device_cookie_t cookie
11876 ** @param xcb_generic_error_t **e
11877 ** @returns xcb_input_xi_grab_device_reply_t *
11879 *****************************************************************************/
11881 xcb_input_xi_grab_device_reply_t
*
11882 xcb_input_xi_grab_device_reply (xcb_connection_t
*c
/**< */,
11883 xcb_input_xi_grab_device_cookie_t cookie
/**< */,
11884 xcb_generic_error_t
**e
/**< */)
11886 return (xcb_input_xi_grab_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
11890 /*****************************************************************************
11892 ** xcb_void_cookie_t xcb_input_xi_ungrab_device_checked
11894 ** @param xcb_connection_t *c
11895 ** @param xcb_timestamp_t time
11896 ** @param xcb_input_device_id_t deviceid
11897 ** @returns xcb_void_cookie_t
11899 *****************************************************************************/
11902 xcb_input_xi_ungrab_device_checked (xcb_connection_t
*c
/**< */,
11903 xcb_timestamp_t time
/**< */,
11904 xcb_input_device_id_t deviceid
/**< */)
11906 static const xcb_protocol_request_t xcb_req
= {
11908 /* ext */ &xcb_input_id
,
11909 /* opcode */ XCB_INPUT_XI_UNGRAB_DEVICE
,
11913 struct iovec xcb_parts
[4];
11914 xcb_void_cookie_t xcb_ret
;
11915 xcb_input_xi_ungrab_device_request_t xcb_out
;
11917 xcb_out
.time
= time
;
11918 xcb_out
.deviceid
= deviceid
;
11919 memset(xcb_out
.pad0
, 0, 2);
11921 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11922 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11923 xcb_parts
[3].iov_base
= 0;
11924 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11926 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
11931 /*****************************************************************************
11933 ** xcb_void_cookie_t xcb_input_xi_ungrab_device
11935 ** @param xcb_connection_t *c
11936 ** @param xcb_timestamp_t time
11937 ** @param xcb_input_device_id_t deviceid
11938 ** @returns xcb_void_cookie_t
11940 *****************************************************************************/
11943 xcb_input_xi_ungrab_device (xcb_connection_t
*c
/**< */,
11944 xcb_timestamp_t time
/**< */,
11945 xcb_input_device_id_t deviceid
/**< */)
11947 static const xcb_protocol_request_t xcb_req
= {
11949 /* ext */ &xcb_input_id
,
11950 /* opcode */ XCB_INPUT_XI_UNGRAB_DEVICE
,
11954 struct iovec xcb_parts
[4];
11955 xcb_void_cookie_t xcb_ret
;
11956 xcb_input_xi_ungrab_device_request_t xcb_out
;
11958 xcb_out
.time
= time
;
11959 xcb_out
.deviceid
= deviceid
;
11960 memset(xcb_out
.pad0
, 0, 2);
11962 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
11963 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
11964 xcb_parts
[3].iov_base
= 0;
11965 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
11967 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
11972 /*****************************************************************************
11974 ** xcb_void_cookie_t xcb_input_xi_allow_events_checked
11976 ** @param xcb_connection_t *c
11977 ** @param xcb_timestamp_t time
11978 ** @param xcb_input_device_id_t deviceid
11979 ** @param uint8_t event_mode
11980 ** @param uint32_t touchid
11981 ** @param xcb_window_t grab_window
11982 ** @returns xcb_void_cookie_t
11984 *****************************************************************************/
11987 xcb_input_xi_allow_events_checked (xcb_connection_t
*c
/**< */,
11988 xcb_timestamp_t time
/**< */,
11989 xcb_input_device_id_t deviceid
/**< */,
11990 uint8_t event_mode
/**< */,
11991 uint32_t touchid
/**< */,
11992 xcb_window_t grab_window
/**< */)
11994 static const xcb_protocol_request_t xcb_req
= {
11996 /* ext */ &xcb_input_id
,
11997 /* opcode */ XCB_INPUT_XI_ALLOW_EVENTS
,
12001 struct iovec xcb_parts
[4];
12002 xcb_void_cookie_t xcb_ret
;
12003 xcb_input_xi_allow_events_request_t xcb_out
;
12005 xcb_out
.time
= time
;
12006 xcb_out
.deviceid
= deviceid
;
12007 xcb_out
.event_mode
= event_mode
;
12009 xcb_out
.touchid
= touchid
;
12010 xcb_out
.grab_window
= grab_window
;
12012 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12013 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12014 xcb_parts
[3].iov_base
= 0;
12015 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12017 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
12022 /*****************************************************************************
12024 ** xcb_void_cookie_t xcb_input_xi_allow_events
12026 ** @param xcb_connection_t *c
12027 ** @param xcb_timestamp_t time
12028 ** @param xcb_input_device_id_t deviceid
12029 ** @param uint8_t event_mode
12030 ** @param uint32_t touchid
12031 ** @param xcb_window_t grab_window
12032 ** @returns xcb_void_cookie_t
12034 *****************************************************************************/
12037 xcb_input_xi_allow_events (xcb_connection_t
*c
/**< */,
12038 xcb_timestamp_t time
/**< */,
12039 xcb_input_device_id_t deviceid
/**< */,
12040 uint8_t event_mode
/**< */,
12041 uint32_t touchid
/**< */,
12042 xcb_window_t grab_window
/**< */)
12044 static const xcb_protocol_request_t xcb_req
= {
12046 /* ext */ &xcb_input_id
,
12047 /* opcode */ XCB_INPUT_XI_ALLOW_EVENTS
,
12051 struct iovec xcb_parts
[4];
12052 xcb_void_cookie_t xcb_ret
;
12053 xcb_input_xi_allow_events_request_t xcb_out
;
12055 xcb_out
.time
= time
;
12056 xcb_out
.deviceid
= deviceid
;
12057 xcb_out
.event_mode
= event_mode
;
12059 xcb_out
.touchid
= touchid
;
12060 xcb_out
.grab_window
= grab_window
;
12062 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12063 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12064 xcb_parts
[3].iov_base
= 0;
12065 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12067 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
12072 /*****************************************************************************
12074 ** void xcb_input_grab_modifier_info_next
12076 ** @param xcb_input_grab_modifier_info_iterator_t *i
12079 *****************************************************************************/
12082 xcb_input_grab_modifier_info_next (xcb_input_grab_modifier_info_iterator_t
*i
/**< */)
12086 i
->index
+= sizeof(xcb_input_grab_modifier_info_t
);
12090 /*****************************************************************************
12092 ** xcb_generic_iterator_t xcb_input_grab_modifier_info_end
12094 ** @param xcb_input_grab_modifier_info_iterator_t i
12095 ** @returns xcb_generic_iterator_t
12097 *****************************************************************************/
12099 xcb_generic_iterator_t
12100 xcb_input_grab_modifier_info_end (xcb_input_grab_modifier_info_iterator_t i
/**< */)
12102 xcb_generic_iterator_t ret
;
12103 ret
.data
= i
.data
+ i
.rem
;
12104 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
12110 xcb_input_xi_passive_grab_device_sizeof (const void *_buffer
/**< */)
12112 char *xcb_tmp
= (char *)_buffer
;
12113 const xcb_input_xi_passive_grab_device_request_t
*_aux
= (xcb_input_xi_passive_grab_device_request_t
*)_buffer
;
12114 unsigned int xcb_buffer_len
= 0;
12115 unsigned int xcb_block_len
= 0;
12116 unsigned int xcb_pad
= 0;
12117 unsigned int xcb_align_to
= 0;
12120 xcb_block_len
+= sizeof(xcb_input_xi_passive_grab_device_request_t
);
12121 xcb_tmp
+= xcb_block_len
;
12122 xcb_buffer_len
+= xcb_block_len
;
12125 xcb_block_len
+= _aux
->mask_len
* sizeof(uint32_t);
12126 xcb_tmp
+= xcb_block_len
;
12127 xcb_align_to
= ALIGNOF(uint32_t);
12128 /* insert padding */
12129 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12130 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12131 if (0 != xcb_pad
) {
12132 xcb_tmp
+= xcb_pad
;
12137 xcb_block_len
+= _aux
->num_modifiers
* sizeof(uint32_t);
12138 xcb_tmp
+= xcb_block_len
;
12139 xcb_align_to
= ALIGNOF(uint32_t);
12140 /* insert padding */
12141 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12142 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12143 if (0 != xcb_pad
) {
12144 xcb_tmp
+= xcb_pad
;
12149 return xcb_buffer_len
;
12153 /*****************************************************************************
12155 ** xcb_input_xi_passive_grab_device_cookie_t xcb_input_xi_passive_grab_device
12157 ** @param xcb_connection_t *c
12158 ** @param xcb_timestamp_t time
12159 ** @param xcb_window_t grab_window
12160 ** @param xcb_cursor_t cursor
12161 ** @param uint32_t detail
12162 ** @param xcb_input_device_id_t deviceid
12163 ** @param uint16_t num_modifiers
12164 ** @param uint16_t mask_len
12165 ** @param uint8_t grab_type
12166 ** @param uint8_t grab_mode
12167 ** @param uint8_t paired_device_mode
12168 ** @param uint8_t owner_events
12169 ** @param const uint32_t *mask
12170 ** @param const uint32_t *modifiers
12171 ** @returns xcb_input_xi_passive_grab_device_cookie_t
12173 *****************************************************************************/
12175 xcb_input_xi_passive_grab_device_cookie_t
12176 xcb_input_xi_passive_grab_device (xcb_connection_t
*c
/**< */,
12177 xcb_timestamp_t time
/**< */,
12178 xcb_window_t grab_window
/**< */,
12179 xcb_cursor_t cursor
/**< */,
12180 uint32_t detail
/**< */,
12181 xcb_input_device_id_t deviceid
/**< */,
12182 uint16_t num_modifiers
/**< */,
12183 uint16_t mask_len
/**< */,
12184 uint8_t grab_type
/**< */,
12185 uint8_t grab_mode
/**< */,
12186 uint8_t paired_device_mode
/**< */,
12187 uint8_t owner_events
/**< */,
12188 const uint32_t *mask
/**< */,
12189 const uint32_t *modifiers
/**< */)
12191 static const xcb_protocol_request_t xcb_req
= {
12193 /* ext */ &xcb_input_id
,
12194 /* opcode */ XCB_INPUT_XI_PASSIVE_GRAB_DEVICE
,
12198 struct iovec xcb_parts
[8];
12199 xcb_input_xi_passive_grab_device_cookie_t xcb_ret
;
12200 xcb_input_xi_passive_grab_device_request_t xcb_out
;
12202 xcb_out
.time
= time
;
12203 xcb_out
.grab_window
= grab_window
;
12204 xcb_out
.cursor
= cursor
;
12205 xcb_out
.detail
= detail
;
12206 xcb_out
.deviceid
= deviceid
;
12207 xcb_out
.num_modifiers
= num_modifiers
;
12208 xcb_out
.mask_len
= mask_len
;
12209 xcb_out
.grab_type
= grab_type
;
12210 xcb_out
.grab_mode
= grab_mode
;
12211 xcb_out
.paired_device_mode
= paired_device_mode
;
12212 xcb_out
.owner_events
= owner_events
;
12213 memset(xcb_out
.pad0
, 0, 2);
12215 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12216 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12217 xcb_parts
[3].iov_base
= 0;
12218 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12219 /* uint32_t mask */
12220 xcb_parts
[4].iov_base
= (char *) mask
;
12221 xcb_parts
[4].iov_len
= mask_len
* sizeof(uint32_t);
12222 xcb_parts
[5].iov_base
= 0;
12223 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
12224 /* uint32_t modifiers */
12225 xcb_parts
[6].iov_base
= (char *) modifiers
;
12226 xcb_parts
[6].iov_len
= num_modifiers
* sizeof(uint32_t);
12227 xcb_parts
[7].iov_base
= 0;
12228 xcb_parts
[7].iov_len
= -xcb_parts
[6].iov_len
& 3;
12230 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
12235 /*****************************************************************************
12237 ** xcb_input_xi_passive_grab_device_cookie_t xcb_input_xi_passive_grab_device_unchecked
12239 ** @param xcb_connection_t *c
12240 ** @param xcb_timestamp_t time
12241 ** @param xcb_window_t grab_window
12242 ** @param xcb_cursor_t cursor
12243 ** @param uint32_t detail
12244 ** @param xcb_input_device_id_t deviceid
12245 ** @param uint16_t num_modifiers
12246 ** @param uint16_t mask_len
12247 ** @param uint8_t grab_type
12248 ** @param uint8_t grab_mode
12249 ** @param uint8_t paired_device_mode
12250 ** @param uint8_t owner_events
12251 ** @param const uint32_t *mask
12252 ** @param const uint32_t *modifiers
12253 ** @returns xcb_input_xi_passive_grab_device_cookie_t
12255 *****************************************************************************/
12257 xcb_input_xi_passive_grab_device_cookie_t
12258 xcb_input_xi_passive_grab_device_unchecked (xcb_connection_t
*c
/**< */,
12259 xcb_timestamp_t time
/**< */,
12260 xcb_window_t grab_window
/**< */,
12261 xcb_cursor_t cursor
/**< */,
12262 uint32_t detail
/**< */,
12263 xcb_input_device_id_t deviceid
/**< */,
12264 uint16_t num_modifiers
/**< */,
12265 uint16_t mask_len
/**< */,
12266 uint8_t grab_type
/**< */,
12267 uint8_t grab_mode
/**< */,
12268 uint8_t paired_device_mode
/**< */,
12269 uint8_t owner_events
/**< */,
12270 const uint32_t *mask
/**< */,
12271 const uint32_t *modifiers
/**< */)
12273 static const xcb_protocol_request_t xcb_req
= {
12275 /* ext */ &xcb_input_id
,
12276 /* opcode */ XCB_INPUT_XI_PASSIVE_GRAB_DEVICE
,
12280 struct iovec xcb_parts
[8];
12281 xcb_input_xi_passive_grab_device_cookie_t xcb_ret
;
12282 xcb_input_xi_passive_grab_device_request_t xcb_out
;
12284 xcb_out
.time
= time
;
12285 xcb_out
.grab_window
= grab_window
;
12286 xcb_out
.cursor
= cursor
;
12287 xcb_out
.detail
= detail
;
12288 xcb_out
.deviceid
= deviceid
;
12289 xcb_out
.num_modifiers
= num_modifiers
;
12290 xcb_out
.mask_len
= mask_len
;
12291 xcb_out
.grab_type
= grab_type
;
12292 xcb_out
.grab_mode
= grab_mode
;
12293 xcb_out
.paired_device_mode
= paired_device_mode
;
12294 xcb_out
.owner_events
= owner_events
;
12295 memset(xcb_out
.pad0
, 0, 2);
12297 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12298 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12299 xcb_parts
[3].iov_base
= 0;
12300 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12301 /* uint32_t mask */
12302 xcb_parts
[4].iov_base
= (char *) mask
;
12303 xcb_parts
[4].iov_len
= mask_len
* sizeof(uint32_t);
12304 xcb_parts
[5].iov_base
= 0;
12305 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
12306 /* uint32_t modifiers */
12307 xcb_parts
[6].iov_base
= (char *) modifiers
;
12308 xcb_parts
[6].iov_len
= num_modifiers
* sizeof(uint32_t);
12309 xcb_parts
[7].iov_base
= 0;
12310 xcb_parts
[7].iov_len
= -xcb_parts
[6].iov_len
& 3;
12312 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
12317 /*****************************************************************************
12319 ** xcb_input_grab_modifier_info_t * xcb_input_xi_passive_grab_device_modifiers
12321 ** @param const xcb_input_xi_passive_grab_device_reply_t *R
12322 ** @returns xcb_input_grab_modifier_info_t *
12324 *****************************************************************************/
12326 xcb_input_grab_modifier_info_t
*
12327 xcb_input_xi_passive_grab_device_modifiers (const xcb_input_xi_passive_grab_device_reply_t
*R
/**< */)
12329 return (xcb_input_grab_modifier_info_t
*) (R
+ 1);
12333 /*****************************************************************************
12335 ** int xcb_input_xi_passive_grab_device_modifiers_length
12337 ** @param const xcb_input_xi_passive_grab_device_reply_t *R
12340 *****************************************************************************/
12343 xcb_input_xi_passive_grab_device_modifiers_length (const xcb_input_xi_passive_grab_device_reply_t
*R
/**< */)
12345 return R
->num_modifiers
;
12349 /*****************************************************************************
12351 ** xcb_input_grab_modifier_info_iterator_t xcb_input_xi_passive_grab_device_modifiers_iterator
12353 ** @param const xcb_input_xi_passive_grab_device_reply_t *R
12354 ** @returns xcb_input_grab_modifier_info_iterator_t
12356 *****************************************************************************/
12358 xcb_input_grab_modifier_info_iterator_t
12359 xcb_input_xi_passive_grab_device_modifiers_iterator (const xcb_input_xi_passive_grab_device_reply_t
*R
/**< */)
12361 xcb_input_grab_modifier_info_iterator_t i
;
12362 i
.data
= (xcb_input_grab_modifier_info_t
*) (R
+ 1);
12363 i
.rem
= R
->num_modifiers
;
12364 i
.index
= (char *) i
.data
- (char *) R
;
12369 /*****************************************************************************
12371 ** xcb_input_xi_passive_grab_device_reply_t * xcb_input_xi_passive_grab_device_reply
12373 ** @param xcb_connection_t *c
12374 ** @param xcb_input_xi_passive_grab_device_cookie_t cookie
12375 ** @param xcb_generic_error_t **e
12376 ** @returns xcb_input_xi_passive_grab_device_reply_t *
12378 *****************************************************************************/
12380 xcb_input_xi_passive_grab_device_reply_t
*
12381 xcb_input_xi_passive_grab_device_reply (xcb_connection_t
*c
/**< */,
12382 xcb_input_xi_passive_grab_device_cookie_t cookie
/**< */,
12383 xcb_generic_error_t
**e
/**< */)
12385 return (xcb_input_xi_passive_grab_device_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
12389 xcb_input_xi_passive_ungrab_device_sizeof (const void *_buffer
/**< */)
12391 char *xcb_tmp
= (char *)_buffer
;
12392 const xcb_input_xi_passive_ungrab_device_request_t
*_aux
= (xcb_input_xi_passive_ungrab_device_request_t
*)_buffer
;
12393 unsigned int xcb_buffer_len
= 0;
12394 unsigned int xcb_block_len
= 0;
12395 unsigned int xcb_pad
= 0;
12396 unsigned int xcb_align_to
= 0;
12399 xcb_block_len
+= sizeof(xcb_input_xi_passive_ungrab_device_request_t
);
12400 xcb_tmp
+= xcb_block_len
;
12401 xcb_buffer_len
+= xcb_block_len
;
12404 xcb_block_len
+= _aux
->num_modifiers
* sizeof(uint32_t);
12405 xcb_tmp
+= xcb_block_len
;
12406 xcb_align_to
= ALIGNOF(uint32_t);
12407 /* insert padding */
12408 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12409 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12410 if (0 != xcb_pad
) {
12411 xcb_tmp
+= xcb_pad
;
12416 return xcb_buffer_len
;
12420 /*****************************************************************************
12422 ** xcb_void_cookie_t xcb_input_xi_passive_ungrab_device_checked
12424 ** @param xcb_connection_t *c
12425 ** @param xcb_window_t grab_window
12426 ** @param uint32_t detail
12427 ** @param xcb_input_device_id_t deviceid
12428 ** @param uint16_t num_modifiers
12429 ** @param uint8_t grab_type
12430 ** @param const uint32_t *modifiers
12431 ** @returns xcb_void_cookie_t
12433 *****************************************************************************/
12436 xcb_input_xi_passive_ungrab_device_checked (xcb_connection_t
*c
/**< */,
12437 xcb_window_t grab_window
/**< */,
12438 uint32_t detail
/**< */,
12439 xcb_input_device_id_t deviceid
/**< */,
12440 uint16_t num_modifiers
/**< */,
12441 uint8_t grab_type
/**< */,
12442 const uint32_t *modifiers
/**< */)
12444 static const xcb_protocol_request_t xcb_req
= {
12446 /* ext */ &xcb_input_id
,
12447 /* opcode */ XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE
,
12451 struct iovec xcb_parts
[6];
12452 xcb_void_cookie_t xcb_ret
;
12453 xcb_input_xi_passive_ungrab_device_request_t xcb_out
;
12455 xcb_out
.grab_window
= grab_window
;
12456 xcb_out
.detail
= detail
;
12457 xcb_out
.deviceid
= deviceid
;
12458 xcb_out
.num_modifiers
= num_modifiers
;
12459 xcb_out
.grab_type
= grab_type
;
12460 memset(xcb_out
.pad0
, 0, 3);
12462 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12463 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12464 xcb_parts
[3].iov_base
= 0;
12465 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12466 /* uint32_t modifiers */
12467 xcb_parts
[4].iov_base
= (char *) modifiers
;
12468 xcb_parts
[4].iov_len
= num_modifiers
* sizeof(uint32_t);
12469 xcb_parts
[5].iov_base
= 0;
12470 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
12472 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
12477 /*****************************************************************************
12479 ** xcb_void_cookie_t xcb_input_xi_passive_ungrab_device
12481 ** @param xcb_connection_t *c
12482 ** @param xcb_window_t grab_window
12483 ** @param uint32_t detail
12484 ** @param xcb_input_device_id_t deviceid
12485 ** @param uint16_t num_modifiers
12486 ** @param uint8_t grab_type
12487 ** @param const uint32_t *modifiers
12488 ** @returns xcb_void_cookie_t
12490 *****************************************************************************/
12493 xcb_input_xi_passive_ungrab_device (xcb_connection_t
*c
/**< */,
12494 xcb_window_t grab_window
/**< */,
12495 uint32_t detail
/**< */,
12496 xcb_input_device_id_t deviceid
/**< */,
12497 uint16_t num_modifiers
/**< */,
12498 uint8_t grab_type
/**< */,
12499 const uint32_t *modifiers
/**< */)
12501 static const xcb_protocol_request_t xcb_req
= {
12503 /* ext */ &xcb_input_id
,
12504 /* opcode */ XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE
,
12508 struct iovec xcb_parts
[6];
12509 xcb_void_cookie_t xcb_ret
;
12510 xcb_input_xi_passive_ungrab_device_request_t xcb_out
;
12512 xcb_out
.grab_window
= grab_window
;
12513 xcb_out
.detail
= detail
;
12514 xcb_out
.deviceid
= deviceid
;
12515 xcb_out
.num_modifiers
= num_modifiers
;
12516 xcb_out
.grab_type
= grab_type
;
12517 memset(xcb_out
.pad0
, 0, 3);
12519 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12520 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12521 xcb_parts
[3].iov_base
= 0;
12522 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12523 /* uint32_t modifiers */
12524 xcb_parts
[4].iov_base
= (char *) modifiers
;
12525 xcb_parts
[4].iov_len
= num_modifiers
* sizeof(uint32_t);
12526 xcb_parts
[5].iov_base
= 0;
12527 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
12529 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
12534 xcb_input_xi_list_properties_sizeof (const void *_buffer
/**< */)
12536 char *xcb_tmp
= (char *)_buffer
;
12537 const xcb_input_xi_list_properties_reply_t
*_aux
= (xcb_input_xi_list_properties_reply_t
*)_buffer
;
12538 unsigned int xcb_buffer_len
= 0;
12539 unsigned int xcb_block_len
= 0;
12540 unsigned int xcb_pad
= 0;
12541 unsigned int xcb_align_to
= 0;
12544 xcb_block_len
+= sizeof(xcb_input_xi_list_properties_reply_t
);
12545 xcb_tmp
+= xcb_block_len
;
12546 xcb_buffer_len
+= xcb_block_len
;
12549 xcb_block_len
+= _aux
->num_properties
* sizeof(xcb_atom_t
);
12550 xcb_tmp
+= xcb_block_len
;
12551 xcb_align_to
= ALIGNOF(xcb_atom_t
);
12552 /* insert padding */
12553 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12554 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12555 if (0 != xcb_pad
) {
12556 xcb_tmp
+= xcb_pad
;
12561 return xcb_buffer_len
;
12565 /*****************************************************************************
12567 ** xcb_input_xi_list_properties_cookie_t xcb_input_xi_list_properties
12569 ** @param xcb_connection_t *c
12570 ** @param xcb_input_device_id_t deviceid
12571 ** @returns xcb_input_xi_list_properties_cookie_t
12573 *****************************************************************************/
12575 xcb_input_xi_list_properties_cookie_t
12576 xcb_input_xi_list_properties (xcb_connection_t
*c
/**< */,
12577 xcb_input_device_id_t deviceid
/**< */)
12579 static const xcb_protocol_request_t xcb_req
= {
12581 /* ext */ &xcb_input_id
,
12582 /* opcode */ XCB_INPUT_XI_LIST_PROPERTIES
,
12586 struct iovec xcb_parts
[4];
12587 xcb_input_xi_list_properties_cookie_t xcb_ret
;
12588 xcb_input_xi_list_properties_request_t xcb_out
;
12590 xcb_out
.deviceid
= deviceid
;
12591 memset(xcb_out
.pad0
, 0, 2);
12593 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12594 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12595 xcb_parts
[3].iov_base
= 0;
12596 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12598 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
12603 /*****************************************************************************
12605 ** xcb_input_xi_list_properties_cookie_t xcb_input_xi_list_properties_unchecked
12607 ** @param xcb_connection_t *c
12608 ** @param xcb_input_device_id_t deviceid
12609 ** @returns xcb_input_xi_list_properties_cookie_t
12611 *****************************************************************************/
12613 xcb_input_xi_list_properties_cookie_t
12614 xcb_input_xi_list_properties_unchecked (xcb_connection_t
*c
/**< */,
12615 xcb_input_device_id_t deviceid
/**< */)
12617 static const xcb_protocol_request_t xcb_req
= {
12619 /* ext */ &xcb_input_id
,
12620 /* opcode */ XCB_INPUT_XI_LIST_PROPERTIES
,
12624 struct iovec xcb_parts
[4];
12625 xcb_input_xi_list_properties_cookie_t xcb_ret
;
12626 xcb_input_xi_list_properties_request_t xcb_out
;
12628 xcb_out
.deviceid
= deviceid
;
12629 memset(xcb_out
.pad0
, 0, 2);
12631 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
12632 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
12633 xcb_parts
[3].iov_base
= 0;
12634 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
12636 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
12641 /*****************************************************************************
12643 ** xcb_atom_t * xcb_input_xi_list_properties_properties
12645 ** @param const xcb_input_xi_list_properties_reply_t *R
12646 ** @returns xcb_atom_t *
12648 *****************************************************************************/
12651 xcb_input_xi_list_properties_properties (const xcb_input_xi_list_properties_reply_t
*R
/**< */)
12653 return (xcb_atom_t
*) (R
+ 1);
12657 /*****************************************************************************
12659 ** int xcb_input_xi_list_properties_properties_length
12661 ** @param const xcb_input_xi_list_properties_reply_t *R
12664 *****************************************************************************/
12667 xcb_input_xi_list_properties_properties_length (const xcb_input_xi_list_properties_reply_t
*R
/**< */)
12669 return R
->num_properties
;
12673 /*****************************************************************************
12675 ** xcb_generic_iterator_t xcb_input_xi_list_properties_properties_end
12677 ** @param const xcb_input_xi_list_properties_reply_t *R
12678 ** @returns xcb_generic_iterator_t
12680 *****************************************************************************/
12682 xcb_generic_iterator_t
12683 xcb_input_xi_list_properties_properties_end (const xcb_input_xi_list_properties_reply_t
*R
/**< */)
12685 xcb_generic_iterator_t i
;
12686 i
.data
= ((xcb_atom_t
*) (R
+ 1)) + (R
->num_properties
);
12688 i
.index
= (char *) i
.data
- (char *) R
;
12693 /*****************************************************************************
12695 ** xcb_input_xi_list_properties_reply_t * xcb_input_xi_list_properties_reply
12697 ** @param xcb_connection_t *c
12698 ** @param xcb_input_xi_list_properties_cookie_t cookie
12699 ** @param xcb_generic_error_t **e
12700 ** @returns xcb_input_xi_list_properties_reply_t *
12702 *****************************************************************************/
12704 xcb_input_xi_list_properties_reply_t
*
12705 xcb_input_xi_list_properties_reply (xcb_connection_t
*c
/**< */,
12706 xcb_input_xi_list_properties_cookie_t cookie
/**< */,
12707 xcb_generic_error_t
**e
/**< */)
12709 return (xcb_input_xi_list_properties_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
12713 /*****************************************************************************
12715 ** uint8_t * xcb_input_xi_change_property_items_data_8
12717 ** @param const xcb_input_xi_change_property_items_t *S
12718 ** @returns uint8_t *
12720 *****************************************************************************/
12723 xcb_input_xi_change_property_items_data_8 (const xcb_input_xi_change_property_items_t
*S
/**< */)
12725 return /* items */ S
->data8
;
12729 /*****************************************************************************
12731 ** int xcb_input_xi_change_property_items_data_8_length
12733 ** @param const xcb_input_xi_change_property_items_t *R
12736 *****************************************************************************/
12739 xcb_input_xi_change_property_items_data_8_length (const xcb_input_xi_change_property_request_t
*R
/**< */,
12740 const xcb_input_xi_change_property_items_t
*S
/**< */)
12742 return R
->num_items
;
12746 /*****************************************************************************
12748 ** xcb_generic_iterator_t xcb_input_xi_change_property_items_data_8_end
12750 ** @param const xcb_input_xi_change_property_items_t *R
12751 ** @returns xcb_generic_iterator_t
12753 *****************************************************************************/
12755 xcb_generic_iterator_t
12756 xcb_input_xi_change_property_items_data_8_end (const xcb_input_xi_change_property_request_t
*R
/**< */,
12757 const xcb_input_xi_change_property_items_t
*S
/**< */)
12759 xcb_generic_iterator_t i
;
12760 i
.data
= /* items */ S
->data8
+ R
->num_items
;
12762 i
.index
= (char *) i
.data
- (char *) S
;
12767 /*****************************************************************************
12769 ** uint16_t * xcb_input_xi_change_property_items_data_16
12771 ** @param const xcb_input_xi_change_property_items_t *S
12772 ** @returns uint16_t *
12774 *****************************************************************************/
12777 xcb_input_xi_change_property_items_data_16 (const xcb_input_xi_change_property_items_t
*S
/**< */)
12779 return /* items */ S
->data16
;
12783 /*****************************************************************************
12785 ** int xcb_input_xi_change_property_items_data_16_length
12787 ** @param const xcb_input_xi_change_property_items_t *R
12790 *****************************************************************************/
12793 xcb_input_xi_change_property_items_data_16_length (const xcb_input_xi_change_property_request_t
*R
/**< */,
12794 const xcb_input_xi_change_property_items_t
*S
/**< */)
12796 return R
->num_items
;
12800 /*****************************************************************************
12802 ** xcb_generic_iterator_t xcb_input_xi_change_property_items_data_16_end
12804 ** @param const xcb_input_xi_change_property_items_t *R
12805 ** @returns xcb_generic_iterator_t
12807 *****************************************************************************/
12809 xcb_generic_iterator_t
12810 xcb_input_xi_change_property_items_data_16_end (const xcb_input_xi_change_property_request_t
*R
/**< */,
12811 const xcb_input_xi_change_property_items_t
*S
/**< */)
12813 xcb_generic_iterator_t i
;
12814 i
.data
= /* items */ S
->data16
+ R
->num_items
;
12816 i
.index
= (char *) i
.data
- (char *) S
;
12821 /*****************************************************************************
12823 ** uint32_t * xcb_input_xi_change_property_items_data_32
12825 ** @param const xcb_input_xi_change_property_items_t *S
12826 ** @returns uint32_t *
12828 *****************************************************************************/
12831 xcb_input_xi_change_property_items_data_32 (const xcb_input_xi_change_property_items_t
*S
/**< */)
12833 return /* items */ S
->data32
;
12837 /*****************************************************************************
12839 ** int xcb_input_xi_change_property_items_data_32_length
12841 ** @param const xcb_input_xi_change_property_items_t *R
12844 *****************************************************************************/
12847 xcb_input_xi_change_property_items_data_32_length (const xcb_input_xi_change_property_request_t
*R
/**< */,
12848 const xcb_input_xi_change_property_items_t
*S
/**< */)
12850 return R
->num_items
;
12854 /*****************************************************************************
12856 ** xcb_generic_iterator_t xcb_input_xi_change_property_items_data_32_end
12858 ** @param const xcb_input_xi_change_property_items_t *R
12859 ** @returns xcb_generic_iterator_t
12861 *****************************************************************************/
12863 xcb_generic_iterator_t
12864 xcb_input_xi_change_property_items_data_32_end (const xcb_input_xi_change_property_request_t
*R
/**< */,
12865 const xcb_input_xi_change_property_items_t
*S
/**< */)
12867 xcb_generic_iterator_t i
;
12868 i
.data
= /* items */ S
->data32
+ R
->num_items
;
12870 i
.index
= (char *) i
.data
- (char *) S
;
12875 xcb_input_xi_change_property_items_serialize (void **_buffer
/**< */,
12876 uint32_t num_items
/**< */,
12877 uint8_t format
/**< */,
12878 const xcb_input_xi_change_property_items_t
*_aux
/**< */)
12880 char *xcb_out
= *_buffer
;
12881 unsigned int xcb_buffer_len
= 0;
12882 unsigned int xcb_align_to
= 0;
12884 unsigned int xcb_pad
= 0;
12885 char xcb_pad0
[3] = {0, 0, 0};
12886 struct iovec xcb_parts
[7];
12887 unsigned int xcb_parts_idx
= 0;
12888 unsigned int xcb_block_len
= 0;
12892 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
12893 /* insert padding */
12894 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12895 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12896 if (0 != xcb_pad
) {
12897 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
12898 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
12904 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data8
;
12905 xcb_block_len
+= num_items
* sizeof(uint8_t);
12906 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint8_t);
12908 xcb_align_to
= ALIGNOF(uint8_t);
12910 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
12911 /* insert padding */
12912 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12913 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12914 if (0 != xcb_pad
) {
12915 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
12916 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
12922 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data16
;
12923 xcb_block_len
+= num_items
* sizeof(uint16_t);
12924 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint16_t);
12926 xcb_align_to
= ALIGNOF(uint16_t);
12928 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
12929 /* insert padding */
12930 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12931 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12932 if (0 != xcb_pad
) {
12933 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
12934 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
12940 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data32
;
12941 xcb_block_len
+= num_items
* sizeof(uint32_t);
12942 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint32_t);
12944 xcb_align_to
= ALIGNOF(uint32_t);
12946 /* insert padding */
12947 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12948 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12949 if (0 != xcb_pad
) {
12950 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
12951 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
12957 if (NULL
== xcb_out
) {
12958 /* allocate memory */
12959 xcb_out
= malloc(xcb_buffer_len
);
12960 *_buffer
= xcb_out
;
12964 for(i
=0; i
<xcb_parts_idx
; i
++) {
12965 if (0 != xcb_parts
[i
].iov_base
&& 0 != xcb_parts
[i
].iov_len
)
12966 memcpy(xcb_tmp
, xcb_parts
[i
].iov_base
, xcb_parts
[i
].iov_len
);
12967 if (0 != xcb_parts
[i
].iov_len
)
12968 xcb_tmp
+= xcb_parts
[i
].iov_len
;
12971 return xcb_buffer_len
;
12975 xcb_input_xi_change_property_items_unpack (const void *_buffer
/**< */,
12976 uint32_t num_items
/**< */,
12977 uint8_t format
/**< */,
12978 xcb_input_xi_change_property_items_t
*_aux
/**< */)
12980 char *xcb_tmp
= (char *)_buffer
;
12981 unsigned int xcb_buffer_len
= 0;
12982 unsigned int xcb_block_len
= 0;
12983 unsigned int xcb_pad
= 0;
12984 unsigned int xcb_align_to
= 0;
12987 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
12988 /* insert padding */
12989 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
12990 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
12991 if (0 != xcb_pad
) {
12992 xcb_tmp
+= xcb_pad
;
12997 _aux
->data8
= (uint8_t *)xcb_tmp
;
12998 xcb_block_len
+= num_items
* sizeof(uint8_t);
12999 xcb_tmp
+= xcb_block_len
;
13000 xcb_align_to
= ALIGNOF(uint8_t);
13002 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
13003 /* insert padding */
13004 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13005 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13006 if (0 != xcb_pad
) {
13007 xcb_tmp
+= xcb_pad
;
13012 _aux
->data16
= (uint16_t *)xcb_tmp
;
13013 xcb_block_len
+= num_items
* sizeof(uint16_t);
13014 xcb_tmp
+= xcb_block_len
;
13015 xcb_align_to
= ALIGNOF(uint16_t);
13017 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
13018 /* insert padding */
13019 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13020 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13021 if (0 != xcb_pad
) {
13022 xcb_tmp
+= xcb_pad
;
13027 _aux
->data32
= (uint32_t *)xcb_tmp
;
13028 xcb_block_len
+= num_items
* sizeof(uint32_t);
13029 xcb_tmp
+= xcb_block_len
;
13030 xcb_align_to
= ALIGNOF(uint32_t);
13032 /* insert padding */
13033 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13034 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13035 if (0 != xcb_pad
) {
13036 xcb_tmp
+= xcb_pad
;
13041 return xcb_buffer_len
;
13045 xcb_input_xi_change_property_items_sizeof (const void *_buffer
/**< */,
13046 uint32_t num_items
/**< */,
13047 uint8_t format
/**< */)
13049 xcb_input_xi_change_property_items_t _aux
;
13050 return xcb_input_xi_change_property_items_unpack(_buffer
, num_items
, format
, &_aux
);
13054 /*****************************************************************************
13056 ** xcb_void_cookie_t xcb_input_xi_change_property_checked
13058 ** @param xcb_connection_t *c
13059 ** @param xcb_input_device_id_t deviceid
13060 ** @param uint8_t mode
13061 ** @param uint8_t format
13062 ** @param xcb_atom_t property
13063 ** @param xcb_atom_t type
13064 ** @param uint32_t num_items
13065 ** @param const void *items
13066 ** @returns xcb_void_cookie_t
13068 *****************************************************************************/
13071 xcb_input_xi_change_property_checked (xcb_connection_t
*c
/**< */,
13072 xcb_input_device_id_t deviceid
/**< */,
13073 uint8_t mode
/**< */,
13074 uint8_t format
/**< */,
13075 xcb_atom_t property
/**< */,
13076 xcb_atom_t type
/**< */,
13077 uint32_t num_items
/**< */,
13078 const void *items
/**< */)
13080 static const xcb_protocol_request_t xcb_req
= {
13082 /* ext */ &xcb_input_id
,
13083 /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY
,
13087 struct iovec xcb_parts
[5];
13088 xcb_void_cookie_t xcb_ret
;
13089 xcb_input_xi_change_property_request_t xcb_out
;
13091 xcb_out
.deviceid
= deviceid
;
13092 xcb_out
.mode
= mode
;
13093 xcb_out
.format
= format
;
13094 xcb_out
.property
= property
;
13095 xcb_out
.type
= type
;
13096 xcb_out
.num_items
= num_items
;
13098 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13099 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13100 xcb_parts
[3].iov_base
= 0;
13101 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13102 /* xcb_input_xi_change_property_items_t items */
13103 xcb_parts
[4].iov_base
= (char *) items
;
13104 xcb_parts
[4].iov_len
=
13105 xcb_input_xi_change_property_items_sizeof (items
, num_items
, format
);
13107 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
13112 /*****************************************************************************
13114 ** xcb_void_cookie_t xcb_input_xi_change_property
13116 ** @param xcb_connection_t *c
13117 ** @param xcb_input_device_id_t deviceid
13118 ** @param uint8_t mode
13119 ** @param uint8_t format
13120 ** @param xcb_atom_t property
13121 ** @param xcb_atom_t type
13122 ** @param uint32_t num_items
13123 ** @param const void *items
13124 ** @returns xcb_void_cookie_t
13126 *****************************************************************************/
13129 xcb_input_xi_change_property (xcb_connection_t
*c
/**< */,
13130 xcb_input_device_id_t deviceid
/**< */,
13131 uint8_t mode
/**< */,
13132 uint8_t format
/**< */,
13133 xcb_atom_t property
/**< */,
13134 xcb_atom_t type
/**< */,
13135 uint32_t num_items
/**< */,
13136 const void *items
/**< */)
13138 static const xcb_protocol_request_t xcb_req
= {
13140 /* ext */ &xcb_input_id
,
13141 /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY
,
13145 struct iovec xcb_parts
[5];
13146 xcb_void_cookie_t xcb_ret
;
13147 xcb_input_xi_change_property_request_t xcb_out
;
13149 xcb_out
.deviceid
= deviceid
;
13150 xcb_out
.mode
= mode
;
13151 xcb_out
.format
= format
;
13152 xcb_out
.property
= property
;
13153 xcb_out
.type
= type
;
13154 xcb_out
.num_items
= num_items
;
13156 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13157 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13158 xcb_parts
[3].iov_base
= 0;
13159 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13160 /* xcb_input_xi_change_property_items_t items */
13161 xcb_parts
[4].iov_base
= (char *) items
;
13162 xcb_parts
[4].iov_len
=
13163 xcb_input_xi_change_property_items_sizeof (items
, num_items
, format
);
13165 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
13170 /*****************************************************************************
13172 ** xcb_void_cookie_t xcb_input_xi_change_property_aux_checked
13174 ** @param xcb_connection_t *c
13175 ** @param xcb_input_device_id_t deviceid
13176 ** @param uint8_t mode
13177 ** @param uint8_t format
13178 ** @param xcb_atom_t property
13179 ** @param xcb_atom_t type
13180 ** @param uint32_t num_items
13181 ** @param const xcb_input_xi_change_property_items_t *items
13182 ** @returns xcb_void_cookie_t
13184 *****************************************************************************/
13187 xcb_input_xi_change_property_aux_checked (xcb_connection_t
*c
/**< */,
13188 xcb_input_device_id_t deviceid
/**< */,
13189 uint8_t mode
/**< */,
13190 uint8_t format
/**< */,
13191 xcb_atom_t property
/**< */,
13192 xcb_atom_t type
/**< */,
13193 uint32_t num_items
/**< */,
13194 const xcb_input_xi_change_property_items_t
*items
/**< */)
13196 static const xcb_protocol_request_t xcb_req
= {
13198 /* ext */ &xcb_input_id
,
13199 /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY
,
13203 struct iovec xcb_parts
[5];
13204 xcb_void_cookie_t xcb_ret
;
13205 xcb_input_xi_change_property_request_t xcb_out
;
13206 void *xcb_aux0
= 0;
13208 xcb_out
.deviceid
= deviceid
;
13209 xcb_out
.mode
= mode
;
13210 xcb_out
.format
= format
;
13211 xcb_out
.property
= property
;
13212 xcb_out
.type
= type
;
13213 xcb_out
.num_items
= num_items
;
13215 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13216 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13217 xcb_parts
[3].iov_base
= 0;
13218 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13219 /* xcb_input_xi_change_property_items_t items */
13220 xcb_parts
[4].iov_len
=
13221 xcb_input_xi_change_property_items_serialize (&xcb_aux0
, num_items
, format
, items
);
13222 xcb_parts
[4].iov_base
= xcb_aux0
;
13224 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
13230 /*****************************************************************************
13232 ** xcb_void_cookie_t xcb_input_xi_change_property_aux
13234 ** @param xcb_connection_t *c
13235 ** @param xcb_input_device_id_t deviceid
13236 ** @param uint8_t mode
13237 ** @param uint8_t format
13238 ** @param xcb_atom_t property
13239 ** @param xcb_atom_t type
13240 ** @param uint32_t num_items
13241 ** @param const xcb_input_xi_change_property_items_t *items
13242 ** @returns xcb_void_cookie_t
13244 *****************************************************************************/
13247 xcb_input_xi_change_property_aux (xcb_connection_t
*c
/**< */,
13248 xcb_input_device_id_t deviceid
/**< */,
13249 uint8_t mode
/**< */,
13250 uint8_t format
/**< */,
13251 xcb_atom_t property
/**< */,
13252 xcb_atom_t type
/**< */,
13253 uint32_t num_items
/**< */,
13254 const xcb_input_xi_change_property_items_t
*items
/**< */)
13256 static const xcb_protocol_request_t xcb_req
= {
13258 /* ext */ &xcb_input_id
,
13259 /* opcode */ XCB_INPUT_XI_CHANGE_PROPERTY
,
13263 struct iovec xcb_parts
[5];
13264 xcb_void_cookie_t xcb_ret
;
13265 xcb_input_xi_change_property_request_t xcb_out
;
13266 void *xcb_aux0
= 0;
13268 xcb_out
.deviceid
= deviceid
;
13269 xcb_out
.mode
= mode
;
13270 xcb_out
.format
= format
;
13271 xcb_out
.property
= property
;
13272 xcb_out
.type
= type
;
13273 xcb_out
.num_items
= num_items
;
13275 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13276 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13277 xcb_parts
[3].iov_base
= 0;
13278 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13279 /* xcb_input_xi_change_property_items_t items */
13280 xcb_parts
[4].iov_len
=
13281 xcb_input_xi_change_property_items_serialize (&xcb_aux0
, num_items
, format
, items
);
13282 xcb_parts
[4].iov_base
= xcb_aux0
;
13284 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
13290 /*****************************************************************************
13292 ** xcb_void_cookie_t xcb_input_xi_delete_property_checked
13294 ** @param xcb_connection_t *c
13295 ** @param xcb_input_device_id_t deviceid
13296 ** @param xcb_atom_t property
13297 ** @returns xcb_void_cookie_t
13299 *****************************************************************************/
13302 xcb_input_xi_delete_property_checked (xcb_connection_t
*c
/**< */,
13303 xcb_input_device_id_t deviceid
/**< */,
13304 xcb_atom_t property
/**< */)
13306 static const xcb_protocol_request_t xcb_req
= {
13308 /* ext */ &xcb_input_id
,
13309 /* opcode */ XCB_INPUT_XI_DELETE_PROPERTY
,
13313 struct iovec xcb_parts
[4];
13314 xcb_void_cookie_t xcb_ret
;
13315 xcb_input_xi_delete_property_request_t xcb_out
;
13317 xcb_out
.deviceid
= deviceid
;
13318 memset(xcb_out
.pad0
, 0, 2);
13319 xcb_out
.property
= property
;
13321 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13322 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13323 xcb_parts
[3].iov_base
= 0;
13324 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13326 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
13331 /*****************************************************************************
13333 ** xcb_void_cookie_t xcb_input_xi_delete_property
13335 ** @param xcb_connection_t *c
13336 ** @param xcb_input_device_id_t deviceid
13337 ** @param xcb_atom_t property
13338 ** @returns xcb_void_cookie_t
13340 *****************************************************************************/
13343 xcb_input_xi_delete_property (xcb_connection_t
*c
/**< */,
13344 xcb_input_device_id_t deviceid
/**< */,
13345 xcb_atom_t property
/**< */)
13347 static const xcb_protocol_request_t xcb_req
= {
13349 /* ext */ &xcb_input_id
,
13350 /* opcode */ XCB_INPUT_XI_DELETE_PROPERTY
,
13354 struct iovec xcb_parts
[4];
13355 xcb_void_cookie_t xcb_ret
;
13356 xcb_input_xi_delete_property_request_t xcb_out
;
13358 xcb_out
.deviceid
= deviceid
;
13359 memset(xcb_out
.pad0
, 0, 2);
13360 xcb_out
.property
= property
;
13362 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13363 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13364 xcb_parts
[3].iov_base
= 0;
13365 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13367 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
13372 /*****************************************************************************
13374 ** uint8_t * xcb_input_xi_get_property_items_data_8
13376 ** @param const xcb_input_xi_get_property_items_t *S
13377 ** @returns uint8_t *
13379 *****************************************************************************/
13382 xcb_input_xi_get_property_items_data_8 (const xcb_input_xi_get_property_items_t
*S
/**< */)
13384 return /* items */ S
->data8
;
13388 /*****************************************************************************
13390 ** int xcb_input_xi_get_property_items_data_8_length
13392 ** @param const xcb_input_xi_get_property_items_t *R
13395 *****************************************************************************/
13398 xcb_input_xi_get_property_items_data_8_length (const xcb_input_xi_get_property_reply_t
*R
/**< */,
13399 const xcb_input_xi_get_property_items_t
*S
/**< */)
13401 return R
->num_items
;
13405 /*****************************************************************************
13407 ** xcb_generic_iterator_t xcb_input_xi_get_property_items_data_8_end
13409 ** @param const xcb_input_xi_get_property_items_t *R
13410 ** @returns xcb_generic_iterator_t
13412 *****************************************************************************/
13414 xcb_generic_iterator_t
13415 xcb_input_xi_get_property_items_data_8_end (const xcb_input_xi_get_property_reply_t
*R
/**< */,
13416 const xcb_input_xi_get_property_items_t
*S
/**< */)
13418 xcb_generic_iterator_t i
;
13419 i
.data
= /* items */ S
->data8
+ R
->num_items
;
13421 i
.index
= (char *) i
.data
- (char *) S
;
13426 /*****************************************************************************
13428 ** uint16_t * xcb_input_xi_get_property_items_data_16
13430 ** @param const xcb_input_xi_get_property_items_t *S
13431 ** @returns uint16_t *
13433 *****************************************************************************/
13436 xcb_input_xi_get_property_items_data_16 (const xcb_input_xi_get_property_items_t
*S
/**< */)
13438 return /* items */ S
->data16
;
13442 /*****************************************************************************
13444 ** int xcb_input_xi_get_property_items_data_16_length
13446 ** @param const xcb_input_xi_get_property_items_t *R
13449 *****************************************************************************/
13452 xcb_input_xi_get_property_items_data_16_length (const xcb_input_xi_get_property_reply_t
*R
/**< */,
13453 const xcb_input_xi_get_property_items_t
*S
/**< */)
13455 return R
->num_items
;
13459 /*****************************************************************************
13461 ** xcb_generic_iterator_t xcb_input_xi_get_property_items_data_16_end
13463 ** @param const xcb_input_xi_get_property_items_t *R
13464 ** @returns xcb_generic_iterator_t
13466 *****************************************************************************/
13468 xcb_generic_iterator_t
13469 xcb_input_xi_get_property_items_data_16_end (const xcb_input_xi_get_property_reply_t
*R
/**< */,
13470 const xcb_input_xi_get_property_items_t
*S
/**< */)
13472 xcb_generic_iterator_t i
;
13473 i
.data
= /* items */ S
->data16
+ R
->num_items
;
13475 i
.index
= (char *) i
.data
- (char *) S
;
13480 /*****************************************************************************
13482 ** uint32_t * xcb_input_xi_get_property_items_data_32
13484 ** @param const xcb_input_xi_get_property_items_t *S
13485 ** @returns uint32_t *
13487 *****************************************************************************/
13490 xcb_input_xi_get_property_items_data_32 (const xcb_input_xi_get_property_items_t
*S
/**< */)
13492 return /* items */ S
->data32
;
13496 /*****************************************************************************
13498 ** int xcb_input_xi_get_property_items_data_32_length
13500 ** @param const xcb_input_xi_get_property_items_t *R
13503 *****************************************************************************/
13506 xcb_input_xi_get_property_items_data_32_length (const xcb_input_xi_get_property_reply_t
*R
/**< */,
13507 const xcb_input_xi_get_property_items_t
*S
/**< */)
13509 return R
->num_items
;
13513 /*****************************************************************************
13515 ** xcb_generic_iterator_t xcb_input_xi_get_property_items_data_32_end
13517 ** @param const xcb_input_xi_get_property_items_t *R
13518 ** @returns xcb_generic_iterator_t
13520 *****************************************************************************/
13522 xcb_generic_iterator_t
13523 xcb_input_xi_get_property_items_data_32_end (const xcb_input_xi_get_property_reply_t
*R
/**< */,
13524 const xcb_input_xi_get_property_items_t
*S
/**< */)
13526 xcb_generic_iterator_t i
;
13527 i
.data
= /* items */ S
->data32
+ R
->num_items
;
13529 i
.index
= (char *) i
.data
- (char *) S
;
13534 xcb_input_xi_get_property_items_serialize (void **_buffer
/**< */,
13535 uint32_t num_items
/**< */,
13536 uint8_t format
/**< */,
13537 const xcb_input_xi_get_property_items_t
*_aux
/**< */)
13539 char *xcb_out
= *_buffer
;
13540 unsigned int xcb_buffer_len
= 0;
13541 unsigned int xcb_align_to
= 0;
13543 unsigned int xcb_pad
= 0;
13544 char xcb_pad0
[3] = {0, 0, 0};
13545 struct iovec xcb_parts
[7];
13546 unsigned int xcb_parts_idx
= 0;
13547 unsigned int xcb_block_len
= 0;
13551 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
13552 /* insert padding */
13553 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13554 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13555 if (0 != xcb_pad
) {
13556 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
13557 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
13563 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data8
;
13564 xcb_block_len
+= num_items
* sizeof(uint8_t);
13565 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint8_t);
13567 xcb_align_to
= ALIGNOF(uint8_t);
13569 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
13570 /* insert padding */
13571 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13572 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13573 if (0 != xcb_pad
) {
13574 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
13575 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
13581 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data16
;
13582 xcb_block_len
+= num_items
* sizeof(uint16_t);
13583 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint16_t);
13585 xcb_align_to
= ALIGNOF(uint16_t);
13587 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
13588 /* insert padding */
13589 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13590 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13591 if (0 != xcb_pad
) {
13592 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
13593 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
13599 xcb_parts
[xcb_parts_idx
].iov_base
= (char *) _aux
->data32
;
13600 xcb_block_len
+= num_items
* sizeof(uint32_t);
13601 xcb_parts
[xcb_parts_idx
].iov_len
= num_items
* sizeof(uint32_t);
13603 xcb_align_to
= ALIGNOF(uint32_t);
13605 /* insert padding */
13606 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13607 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13608 if (0 != xcb_pad
) {
13609 xcb_parts
[xcb_parts_idx
].iov_base
= xcb_pad0
;
13610 xcb_parts
[xcb_parts_idx
].iov_len
= xcb_pad
;
13616 if (NULL
== xcb_out
) {
13617 /* allocate memory */
13618 xcb_out
= malloc(xcb_buffer_len
);
13619 *_buffer
= xcb_out
;
13623 for(i
=0; i
<xcb_parts_idx
; i
++) {
13624 if (0 != xcb_parts
[i
].iov_base
&& 0 != xcb_parts
[i
].iov_len
)
13625 memcpy(xcb_tmp
, xcb_parts
[i
].iov_base
, xcb_parts
[i
].iov_len
);
13626 if (0 != xcb_parts
[i
].iov_len
)
13627 xcb_tmp
+= xcb_parts
[i
].iov_len
;
13630 return xcb_buffer_len
;
13634 xcb_input_xi_get_property_items_unpack (const void *_buffer
/**< */,
13635 uint32_t num_items
/**< */,
13636 uint8_t format
/**< */,
13637 xcb_input_xi_get_property_items_t
*_aux
/**< */)
13639 char *xcb_tmp
= (char *)_buffer
;
13640 unsigned int xcb_buffer_len
= 0;
13641 unsigned int xcb_block_len
= 0;
13642 unsigned int xcb_pad
= 0;
13643 unsigned int xcb_align_to
= 0;
13646 if(format
& XCB_INPUT_PROPERTY_FORMAT_8_BITS
) {
13647 /* insert padding */
13648 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13649 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13650 if (0 != xcb_pad
) {
13651 xcb_tmp
+= xcb_pad
;
13656 _aux
->data8
= (uint8_t *)xcb_tmp
;
13657 xcb_block_len
+= num_items
* sizeof(uint8_t);
13658 xcb_tmp
+= xcb_block_len
;
13659 xcb_align_to
= ALIGNOF(uint8_t);
13661 if(format
& XCB_INPUT_PROPERTY_FORMAT_16_BITS
) {
13662 /* insert padding */
13663 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13664 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13665 if (0 != xcb_pad
) {
13666 xcb_tmp
+= xcb_pad
;
13671 _aux
->data16
= (uint16_t *)xcb_tmp
;
13672 xcb_block_len
+= num_items
* sizeof(uint16_t);
13673 xcb_tmp
+= xcb_block_len
;
13674 xcb_align_to
= ALIGNOF(uint16_t);
13676 if(format
& XCB_INPUT_PROPERTY_FORMAT_32_BITS
) {
13677 /* insert padding */
13678 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13679 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13680 if (0 != xcb_pad
) {
13681 xcb_tmp
+= xcb_pad
;
13686 _aux
->data32
= (uint32_t *)xcb_tmp
;
13687 xcb_block_len
+= num_items
* sizeof(uint32_t);
13688 xcb_tmp
+= xcb_block_len
;
13689 xcb_align_to
= ALIGNOF(uint32_t);
13691 /* insert padding */
13692 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13693 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13694 if (0 != xcb_pad
) {
13695 xcb_tmp
+= xcb_pad
;
13700 return xcb_buffer_len
;
13704 xcb_input_xi_get_property_items_sizeof (const void *_buffer
/**< */,
13705 uint32_t num_items
/**< */,
13706 uint8_t format
/**< */)
13708 xcb_input_xi_get_property_items_t _aux
;
13709 return xcb_input_xi_get_property_items_unpack(_buffer
, num_items
, format
, &_aux
);
13713 /*****************************************************************************
13715 ** xcb_input_xi_get_property_cookie_t xcb_input_xi_get_property
13717 ** @param xcb_connection_t *c
13718 ** @param xcb_input_device_id_t deviceid
13719 ** @param uint8_t _delete
13720 ** @param xcb_atom_t property
13721 ** @param xcb_atom_t type
13722 ** @param uint32_t offset
13723 ** @param uint32_t len
13724 ** @returns xcb_input_xi_get_property_cookie_t
13726 *****************************************************************************/
13728 xcb_input_xi_get_property_cookie_t
13729 xcb_input_xi_get_property (xcb_connection_t
*c
/**< */,
13730 xcb_input_device_id_t deviceid
/**< */,
13731 uint8_t _delete
/**< */,
13732 xcb_atom_t property
/**< */,
13733 xcb_atom_t type
/**< */,
13734 uint32_t offset
/**< */,
13735 uint32_t len
/**< */)
13737 static const xcb_protocol_request_t xcb_req
= {
13739 /* ext */ &xcb_input_id
,
13740 /* opcode */ XCB_INPUT_XI_GET_PROPERTY
,
13744 struct iovec xcb_parts
[4];
13745 xcb_input_xi_get_property_cookie_t xcb_ret
;
13746 xcb_input_xi_get_property_request_t xcb_out
;
13748 xcb_out
.deviceid
= deviceid
;
13749 xcb_out
._delete
= _delete
;
13751 xcb_out
.property
= property
;
13752 xcb_out
.type
= type
;
13753 xcb_out
.offset
= offset
;
13756 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13757 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13758 xcb_parts
[3].iov_base
= 0;
13759 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13761 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
13766 /*****************************************************************************
13768 ** xcb_input_xi_get_property_cookie_t xcb_input_xi_get_property_unchecked
13770 ** @param xcb_connection_t *c
13771 ** @param xcb_input_device_id_t deviceid
13772 ** @param uint8_t _delete
13773 ** @param xcb_atom_t property
13774 ** @param xcb_atom_t type
13775 ** @param uint32_t offset
13776 ** @param uint32_t len
13777 ** @returns xcb_input_xi_get_property_cookie_t
13779 *****************************************************************************/
13781 xcb_input_xi_get_property_cookie_t
13782 xcb_input_xi_get_property_unchecked (xcb_connection_t
*c
/**< */,
13783 xcb_input_device_id_t deviceid
/**< */,
13784 uint8_t _delete
/**< */,
13785 xcb_atom_t property
/**< */,
13786 xcb_atom_t type
/**< */,
13787 uint32_t offset
/**< */,
13788 uint32_t len
/**< */)
13790 static const xcb_protocol_request_t xcb_req
= {
13792 /* ext */ &xcb_input_id
,
13793 /* opcode */ XCB_INPUT_XI_GET_PROPERTY
,
13797 struct iovec xcb_parts
[4];
13798 xcb_input_xi_get_property_cookie_t xcb_ret
;
13799 xcb_input_xi_get_property_request_t xcb_out
;
13801 xcb_out
.deviceid
= deviceid
;
13802 xcb_out
._delete
= _delete
;
13804 xcb_out
.property
= property
;
13805 xcb_out
.type
= type
;
13806 xcb_out
.offset
= offset
;
13809 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13810 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13811 xcb_parts
[3].iov_base
= 0;
13812 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13814 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
13819 /*****************************************************************************
13821 ** xcb_input_xi_get_property_items_t * xcb_input_xi_get_property_items
13823 ** @param const xcb_input_xi_get_property_reply_t *R
13824 ** @returns xcb_input_xi_get_property_items_t *
13826 *****************************************************************************/
13829 xcb_input_xi_get_property_items (const xcb_input_xi_get_property_reply_t
*R
/**< */)
13831 return (void *) (R
+ 1);
13835 /*****************************************************************************
13837 ** xcb_input_xi_get_property_reply_t * xcb_input_xi_get_property_reply
13839 ** @param xcb_connection_t *c
13840 ** @param xcb_input_xi_get_property_cookie_t cookie
13841 ** @param xcb_generic_error_t **e
13842 ** @returns xcb_input_xi_get_property_reply_t *
13844 *****************************************************************************/
13846 xcb_input_xi_get_property_reply_t
*
13847 xcb_input_xi_get_property_reply (xcb_connection_t
*c
/**< */,
13848 xcb_input_xi_get_property_cookie_t cookie
/**< */,
13849 xcb_generic_error_t
**e
/**< */)
13851 return (xcb_input_xi_get_property_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
13855 xcb_input_xi_get_selected_events_sizeof (const void *_buffer
/**< */)
13857 char *xcb_tmp
= (char *)_buffer
;
13858 const xcb_input_xi_get_selected_events_reply_t
*_aux
= (xcb_input_xi_get_selected_events_reply_t
*)_buffer
;
13859 unsigned int xcb_buffer_len
= 0;
13860 unsigned int xcb_block_len
= 0;
13861 unsigned int xcb_pad
= 0;
13862 unsigned int xcb_align_to
= 0;
13865 unsigned int xcb_tmp_len
;
13867 xcb_block_len
+= sizeof(xcb_input_xi_get_selected_events_reply_t
);
13868 xcb_tmp
+= xcb_block_len
;
13869 xcb_buffer_len
+= xcb_block_len
;
13872 for(i
=0; i
<_aux
->num_masks
; i
++) {
13873 xcb_tmp_len
= xcb_input_event_mask_sizeof(xcb_tmp
);
13874 xcb_block_len
+= xcb_tmp_len
;
13875 xcb_tmp
+= xcb_tmp_len
;
13877 xcb_align_to
= ALIGNOF(xcb_input_event_mask_t
);
13878 /* insert padding */
13879 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
13880 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
13881 if (0 != xcb_pad
) {
13882 xcb_tmp
+= xcb_pad
;
13887 return xcb_buffer_len
;
13891 /*****************************************************************************
13893 ** xcb_input_xi_get_selected_events_cookie_t xcb_input_xi_get_selected_events
13895 ** @param xcb_connection_t *c
13896 ** @param xcb_window_t window
13897 ** @returns xcb_input_xi_get_selected_events_cookie_t
13899 *****************************************************************************/
13901 xcb_input_xi_get_selected_events_cookie_t
13902 xcb_input_xi_get_selected_events (xcb_connection_t
*c
/**< */,
13903 xcb_window_t window
/**< */)
13905 static const xcb_protocol_request_t xcb_req
= {
13907 /* ext */ &xcb_input_id
,
13908 /* opcode */ XCB_INPUT_XI_GET_SELECTED_EVENTS
,
13912 struct iovec xcb_parts
[4];
13913 xcb_input_xi_get_selected_events_cookie_t xcb_ret
;
13914 xcb_input_xi_get_selected_events_request_t xcb_out
;
13916 xcb_out
.window
= window
;
13918 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13919 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13920 xcb_parts
[3].iov_base
= 0;
13921 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13923 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
13928 /*****************************************************************************
13930 ** xcb_input_xi_get_selected_events_cookie_t xcb_input_xi_get_selected_events_unchecked
13932 ** @param xcb_connection_t *c
13933 ** @param xcb_window_t window
13934 ** @returns xcb_input_xi_get_selected_events_cookie_t
13936 *****************************************************************************/
13938 xcb_input_xi_get_selected_events_cookie_t
13939 xcb_input_xi_get_selected_events_unchecked (xcb_connection_t
*c
/**< */,
13940 xcb_window_t window
/**< */)
13942 static const xcb_protocol_request_t xcb_req
= {
13944 /* ext */ &xcb_input_id
,
13945 /* opcode */ XCB_INPUT_XI_GET_SELECTED_EVENTS
,
13949 struct iovec xcb_parts
[4];
13950 xcb_input_xi_get_selected_events_cookie_t xcb_ret
;
13951 xcb_input_xi_get_selected_events_request_t xcb_out
;
13953 xcb_out
.window
= window
;
13955 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
13956 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
13957 xcb_parts
[3].iov_base
= 0;
13958 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
13960 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
13965 /*****************************************************************************
13967 ** int xcb_input_xi_get_selected_events_masks_length
13969 ** @param const xcb_input_xi_get_selected_events_reply_t *R
13972 *****************************************************************************/
13975 xcb_input_xi_get_selected_events_masks_length (const xcb_input_xi_get_selected_events_reply_t
*R
/**< */)
13977 return R
->num_masks
;
13981 /*****************************************************************************
13983 ** xcb_input_event_mask_iterator_t xcb_input_xi_get_selected_events_masks_iterator
13985 ** @param const xcb_input_xi_get_selected_events_reply_t *R
13986 ** @returns xcb_input_event_mask_iterator_t
13988 *****************************************************************************/
13990 xcb_input_event_mask_iterator_t
13991 xcb_input_xi_get_selected_events_masks_iterator (const xcb_input_xi_get_selected_events_reply_t
*R
/**< */)
13993 xcb_input_event_mask_iterator_t i
;
13994 i
.data
= (xcb_input_event_mask_t
*) (R
+ 1);
13995 i
.rem
= R
->num_masks
;
13996 i
.index
= (char *) i
.data
- (char *) R
;
14001 /*****************************************************************************
14003 ** xcb_input_xi_get_selected_events_reply_t * xcb_input_xi_get_selected_events_reply
14005 ** @param xcb_connection_t *c
14006 ** @param xcb_input_xi_get_selected_events_cookie_t cookie
14007 ** @param xcb_generic_error_t **e
14008 ** @returns xcb_input_xi_get_selected_events_reply_t *
14010 *****************************************************************************/
14012 xcb_input_xi_get_selected_events_reply_t
*
14013 xcb_input_xi_get_selected_events_reply (xcb_connection_t
*c
/**< */,
14014 xcb_input_xi_get_selected_events_cookie_t cookie
/**< */,
14015 xcb_generic_error_t
**e
/**< */)
14017 return (xcb_input_xi_get_selected_events_reply_t
*) xcb_wait_for_reply(c
, cookie
.sequence
, e
);
14021 /*****************************************************************************
14023 ** void xcb_input_barrier_release_pointer_info_next
14025 ** @param xcb_input_barrier_release_pointer_info_iterator_t *i
14028 *****************************************************************************/
14031 xcb_input_barrier_release_pointer_info_next (xcb_input_barrier_release_pointer_info_iterator_t
*i
/**< */)
14035 i
->index
+= sizeof(xcb_input_barrier_release_pointer_info_t
);
14039 /*****************************************************************************
14041 ** xcb_generic_iterator_t xcb_input_barrier_release_pointer_info_end
14043 ** @param xcb_input_barrier_release_pointer_info_iterator_t i
14044 ** @returns xcb_generic_iterator_t
14046 *****************************************************************************/
14048 xcb_generic_iterator_t
14049 xcb_input_barrier_release_pointer_info_end (xcb_input_barrier_release_pointer_info_iterator_t i
/**< */)
14051 xcb_generic_iterator_t ret
;
14052 ret
.data
= i
.data
+ i
.rem
;
14053 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
14059 xcb_input_xi_barrier_release_pointer_sizeof (const void *_buffer
/**< */)
14061 char *xcb_tmp
= (char *)_buffer
;
14062 const xcb_input_xi_barrier_release_pointer_request_t
*_aux
= (xcb_input_xi_barrier_release_pointer_request_t
*)_buffer
;
14063 unsigned int xcb_buffer_len
= 0;
14064 unsigned int xcb_block_len
= 0;
14065 unsigned int xcb_pad
= 0;
14066 unsigned int xcb_align_to
= 0;
14069 xcb_block_len
+= sizeof(xcb_input_xi_barrier_release_pointer_request_t
);
14070 xcb_tmp
+= xcb_block_len
;
14071 xcb_buffer_len
+= xcb_block_len
;
14074 xcb_block_len
+= _aux
->num_barriers
* sizeof(xcb_input_barrier_release_pointer_info_t
);
14075 xcb_tmp
+= xcb_block_len
;
14076 xcb_align_to
= ALIGNOF(xcb_input_barrier_release_pointer_info_t
);
14077 /* insert padding */
14078 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14079 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14080 if (0 != xcb_pad
) {
14081 xcb_tmp
+= xcb_pad
;
14086 return xcb_buffer_len
;
14090 /*****************************************************************************
14092 ** xcb_void_cookie_t xcb_input_xi_barrier_release_pointer_checked
14094 ** @param xcb_connection_t *c
14095 ** @param uint32_t num_barriers
14096 ** @param const xcb_input_barrier_release_pointer_info_t *barriers
14097 ** @returns xcb_void_cookie_t
14099 *****************************************************************************/
14102 xcb_input_xi_barrier_release_pointer_checked (xcb_connection_t
*c
/**< */,
14103 uint32_t num_barriers
/**< */,
14104 const xcb_input_barrier_release_pointer_info_t
*barriers
/**< */)
14106 static const xcb_protocol_request_t xcb_req
= {
14108 /* ext */ &xcb_input_id
,
14109 /* opcode */ XCB_INPUT_XI_BARRIER_RELEASE_POINTER
,
14113 struct iovec xcb_parts
[6];
14114 xcb_void_cookie_t xcb_ret
;
14115 xcb_input_xi_barrier_release_pointer_request_t xcb_out
;
14117 xcb_out
.num_barriers
= num_barriers
;
14119 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
14120 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
14121 xcb_parts
[3].iov_base
= 0;
14122 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
14123 /* xcb_input_barrier_release_pointer_info_t barriers */
14124 xcb_parts
[4].iov_base
= (char *) barriers
;
14125 xcb_parts
[4].iov_len
= num_barriers
* sizeof(xcb_input_barrier_release_pointer_info_t
);
14126 xcb_parts
[5].iov_base
= 0;
14127 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
14129 xcb_ret
.sequence
= xcb_send_request(c
, XCB_REQUEST_CHECKED
, xcb_parts
+ 2, &xcb_req
);
14134 /*****************************************************************************
14136 ** xcb_void_cookie_t xcb_input_xi_barrier_release_pointer
14138 ** @param xcb_connection_t *c
14139 ** @param uint32_t num_barriers
14140 ** @param const xcb_input_barrier_release_pointer_info_t *barriers
14141 ** @returns xcb_void_cookie_t
14143 *****************************************************************************/
14146 xcb_input_xi_barrier_release_pointer (xcb_connection_t
*c
/**< */,
14147 uint32_t num_barriers
/**< */,
14148 const xcb_input_barrier_release_pointer_info_t
*barriers
/**< */)
14150 static const xcb_protocol_request_t xcb_req
= {
14152 /* ext */ &xcb_input_id
,
14153 /* opcode */ XCB_INPUT_XI_BARRIER_RELEASE_POINTER
,
14157 struct iovec xcb_parts
[6];
14158 xcb_void_cookie_t xcb_ret
;
14159 xcb_input_xi_barrier_release_pointer_request_t xcb_out
;
14161 xcb_out
.num_barriers
= num_barriers
;
14163 xcb_parts
[2].iov_base
= (char *) &xcb_out
;
14164 xcb_parts
[2].iov_len
= sizeof(xcb_out
);
14165 xcb_parts
[3].iov_base
= 0;
14166 xcb_parts
[3].iov_len
= -xcb_parts
[2].iov_len
& 3;
14167 /* xcb_input_barrier_release_pointer_info_t barriers */
14168 xcb_parts
[4].iov_base
= (char *) barriers
;
14169 xcb_parts
[4].iov_len
= num_barriers
* sizeof(xcb_input_barrier_release_pointer_info_t
);
14170 xcb_parts
[5].iov_base
= 0;
14171 xcb_parts
[5].iov_len
= -xcb_parts
[4].iov_len
& 3;
14173 xcb_ret
.sequence
= xcb_send_request(c
, 0, xcb_parts
+ 2, &xcb_req
);
14178 xcb_input_device_changed_sizeof (const void *_buffer
/**< */)
14180 char *xcb_tmp
= (char *)_buffer
;
14181 const xcb_input_device_changed_event_t
*_aux
= (xcb_input_device_changed_event_t
*)_buffer
;
14182 unsigned int xcb_buffer_len
= 0;
14183 unsigned int xcb_block_len
= 0;
14184 unsigned int xcb_pad
= 0;
14185 unsigned int xcb_align_to
= 0;
14188 unsigned int xcb_tmp_len
;
14190 xcb_block_len
+= sizeof(xcb_input_device_changed_event_t
);
14191 xcb_tmp
+= xcb_block_len
;
14192 xcb_buffer_len
+= xcb_block_len
;
14195 for(i
=0; i
<_aux
->num_classes
; i
++) {
14196 xcb_tmp_len
= xcb_input_device_class_sizeof(xcb_tmp
);
14197 xcb_block_len
+= xcb_tmp_len
;
14198 xcb_tmp
+= xcb_tmp_len
;
14200 xcb_align_to
= ALIGNOF(xcb_input_device_class_t
);
14201 /* insert padding */
14202 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14203 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14204 if (0 != xcb_pad
) {
14205 xcb_tmp
+= xcb_pad
;
14210 return xcb_buffer_len
;
14214 xcb_input_key_press_sizeof (const void *_buffer
/**< */)
14216 char *xcb_tmp
= (char *)_buffer
;
14217 const xcb_input_key_press_event_t
*_aux
= (xcb_input_key_press_event_t
*)_buffer
;
14218 unsigned int xcb_buffer_len
= 0;
14219 unsigned int xcb_block_len
= 0;
14220 unsigned int xcb_pad
= 0;
14221 unsigned int xcb_align_to
= 0;
14224 xcb_block_len
+= sizeof(xcb_input_key_press_event_t
);
14225 xcb_tmp
+= xcb_block_len
;
14226 xcb_buffer_len
+= xcb_block_len
;
14229 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14230 xcb_tmp
+= xcb_block_len
;
14231 xcb_align_to
= ALIGNOF(uint32_t);
14232 /* insert padding */
14233 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14234 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14235 if (0 != xcb_pad
) {
14236 xcb_tmp
+= xcb_pad
;
14240 /* valuator_mask */
14241 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14242 xcb_tmp
+= xcb_block_len
;
14243 xcb_align_to
= ALIGNOF(uint32_t);
14244 /* insert padding */
14245 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14246 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14247 if (0 != xcb_pad
) {
14248 xcb_tmp
+= xcb_pad
;
14253 return xcb_buffer_len
;
14257 xcb_input_key_release_sizeof (const void *_buffer
/**< */)
14259 char *xcb_tmp
= (char *)_buffer
;
14260 const xcb_input_key_release_event_t
*_aux
= (xcb_input_key_release_event_t
*)_buffer
;
14261 unsigned int xcb_buffer_len
= 0;
14262 unsigned int xcb_block_len
= 0;
14263 unsigned int xcb_pad
= 0;
14264 unsigned int xcb_align_to
= 0;
14267 xcb_block_len
+= sizeof(xcb_input_key_release_event_t
);
14268 xcb_tmp
+= xcb_block_len
;
14269 xcb_buffer_len
+= xcb_block_len
;
14272 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14273 xcb_tmp
+= xcb_block_len
;
14274 xcb_align_to
= ALIGNOF(uint32_t);
14275 /* insert padding */
14276 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14277 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14278 if (0 != xcb_pad
) {
14279 xcb_tmp
+= xcb_pad
;
14283 /* valuator_mask */
14284 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14285 xcb_tmp
+= xcb_block_len
;
14286 xcb_align_to
= ALIGNOF(uint32_t);
14287 /* insert padding */
14288 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14289 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14290 if (0 != xcb_pad
) {
14291 xcb_tmp
+= xcb_pad
;
14296 return xcb_buffer_len
;
14300 xcb_input_button_press_sizeof (const void *_buffer
/**< */)
14302 char *xcb_tmp
= (char *)_buffer
;
14303 const xcb_input_button_press_event_t
*_aux
= (xcb_input_button_press_event_t
*)_buffer
;
14304 unsigned int xcb_buffer_len
= 0;
14305 unsigned int xcb_block_len
= 0;
14306 unsigned int xcb_pad
= 0;
14307 unsigned int xcb_align_to
= 0;
14310 xcb_block_len
+= sizeof(xcb_input_button_press_event_t
);
14311 xcb_tmp
+= xcb_block_len
;
14312 xcb_buffer_len
+= xcb_block_len
;
14315 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14316 xcb_tmp
+= xcb_block_len
;
14317 xcb_align_to
= ALIGNOF(uint32_t);
14318 /* insert padding */
14319 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14320 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14321 if (0 != xcb_pad
) {
14322 xcb_tmp
+= xcb_pad
;
14326 /* valuator_mask */
14327 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14328 xcb_tmp
+= xcb_block_len
;
14329 xcb_align_to
= ALIGNOF(uint32_t);
14330 /* insert padding */
14331 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14332 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14333 if (0 != xcb_pad
) {
14334 xcb_tmp
+= xcb_pad
;
14339 return xcb_buffer_len
;
14343 xcb_input_button_release_sizeof (const void *_buffer
/**< */)
14345 char *xcb_tmp
= (char *)_buffer
;
14346 const xcb_input_button_release_event_t
*_aux
= (xcb_input_button_release_event_t
*)_buffer
;
14347 unsigned int xcb_buffer_len
= 0;
14348 unsigned int xcb_block_len
= 0;
14349 unsigned int xcb_pad
= 0;
14350 unsigned int xcb_align_to
= 0;
14353 xcb_block_len
+= sizeof(xcb_input_button_release_event_t
);
14354 xcb_tmp
+= xcb_block_len
;
14355 xcb_buffer_len
+= xcb_block_len
;
14358 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14359 xcb_tmp
+= xcb_block_len
;
14360 xcb_align_to
= ALIGNOF(uint32_t);
14361 /* insert padding */
14362 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14363 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14364 if (0 != xcb_pad
) {
14365 xcb_tmp
+= xcb_pad
;
14369 /* valuator_mask */
14370 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14371 xcb_tmp
+= xcb_block_len
;
14372 xcb_align_to
= ALIGNOF(uint32_t);
14373 /* insert padding */
14374 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14375 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14376 if (0 != xcb_pad
) {
14377 xcb_tmp
+= xcb_pad
;
14382 return xcb_buffer_len
;
14386 xcb_input_motion_sizeof (const void *_buffer
/**< */)
14388 char *xcb_tmp
= (char *)_buffer
;
14389 const xcb_input_motion_event_t
*_aux
= (xcb_input_motion_event_t
*)_buffer
;
14390 unsigned int xcb_buffer_len
= 0;
14391 unsigned int xcb_block_len
= 0;
14392 unsigned int xcb_pad
= 0;
14393 unsigned int xcb_align_to
= 0;
14396 xcb_block_len
+= sizeof(xcb_input_motion_event_t
);
14397 xcb_tmp
+= xcb_block_len
;
14398 xcb_buffer_len
+= xcb_block_len
;
14401 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14402 xcb_tmp
+= xcb_block_len
;
14403 xcb_align_to
= ALIGNOF(uint32_t);
14404 /* insert padding */
14405 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14406 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14407 if (0 != xcb_pad
) {
14408 xcb_tmp
+= xcb_pad
;
14412 /* valuator_mask */
14413 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14414 xcb_tmp
+= xcb_block_len
;
14415 xcb_align_to
= ALIGNOF(uint32_t);
14416 /* insert padding */
14417 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14418 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14419 if (0 != xcb_pad
) {
14420 xcb_tmp
+= xcb_pad
;
14425 return xcb_buffer_len
;
14429 xcb_input_enter_sizeof (const void *_buffer
/**< */)
14431 char *xcb_tmp
= (char *)_buffer
;
14432 const xcb_input_enter_event_t
*_aux
= (xcb_input_enter_event_t
*)_buffer
;
14433 unsigned int xcb_buffer_len
= 0;
14434 unsigned int xcb_block_len
= 0;
14435 unsigned int xcb_pad
= 0;
14436 unsigned int xcb_align_to
= 0;
14439 xcb_block_len
+= sizeof(xcb_input_enter_event_t
);
14440 xcb_tmp
+= xcb_block_len
;
14441 xcb_buffer_len
+= xcb_block_len
;
14444 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14445 xcb_tmp
+= xcb_block_len
;
14446 xcb_align_to
= ALIGNOF(uint32_t);
14447 /* insert padding */
14448 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14449 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14450 if (0 != xcb_pad
) {
14451 xcb_tmp
+= xcb_pad
;
14456 return xcb_buffer_len
;
14460 xcb_input_leave_sizeof (const void *_buffer
/**< */)
14462 char *xcb_tmp
= (char *)_buffer
;
14463 const xcb_input_leave_event_t
*_aux
= (xcb_input_leave_event_t
*)_buffer
;
14464 unsigned int xcb_buffer_len
= 0;
14465 unsigned int xcb_block_len
= 0;
14466 unsigned int xcb_pad
= 0;
14467 unsigned int xcb_align_to
= 0;
14470 xcb_block_len
+= sizeof(xcb_input_leave_event_t
);
14471 xcb_tmp
+= xcb_block_len
;
14472 xcb_buffer_len
+= xcb_block_len
;
14475 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14476 xcb_tmp
+= xcb_block_len
;
14477 xcb_align_to
= ALIGNOF(uint32_t);
14478 /* insert padding */
14479 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14480 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14481 if (0 != xcb_pad
) {
14482 xcb_tmp
+= xcb_pad
;
14487 return xcb_buffer_len
;
14491 xcb_input_focus_in_sizeof (const void *_buffer
/**< */)
14493 char *xcb_tmp
= (char *)_buffer
;
14494 const xcb_input_focus_in_event_t
*_aux
= (xcb_input_focus_in_event_t
*)_buffer
;
14495 unsigned int xcb_buffer_len
= 0;
14496 unsigned int xcb_block_len
= 0;
14497 unsigned int xcb_pad
= 0;
14498 unsigned int xcb_align_to
= 0;
14501 xcb_block_len
+= sizeof(xcb_input_focus_in_event_t
);
14502 xcb_tmp
+= xcb_block_len
;
14503 xcb_buffer_len
+= xcb_block_len
;
14506 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14507 xcb_tmp
+= xcb_block_len
;
14508 xcb_align_to
= ALIGNOF(uint32_t);
14509 /* insert padding */
14510 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14511 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14512 if (0 != xcb_pad
) {
14513 xcb_tmp
+= xcb_pad
;
14518 return xcb_buffer_len
;
14522 xcb_input_focus_out_sizeof (const void *_buffer
/**< */)
14524 char *xcb_tmp
= (char *)_buffer
;
14525 const xcb_input_focus_out_event_t
*_aux
= (xcb_input_focus_out_event_t
*)_buffer
;
14526 unsigned int xcb_buffer_len
= 0;
14527 unsigned int xcb_block_len
= 0;
14528 unsigned int xcb_pad
= 0;
14529 unsigned int xcb_align_to
= 0;
14532 xcb_block_len
+= sizeof(xcb_input_focus_out_event_t
);
14533 xcb_tmp
+= xcb_block_len
;
14534 xcb_buffer_len
+= xcb_block_len
;
14537 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14538 xcb_tmp
+= xcb_block_len
;
14539 xcb_align_to
= ALIGNOF(uint32_t);
14540 /* insert padding */
14541 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14542 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14543 if (0 != xcb_pad
) {
14544 xcb_tmp
+= xcb_pad
;
14549 return xcb_buffer_len
;
14553 /*****************************************************************************
14555 ** void xcb_input_hierarchy_info_next
14557 ** @param xcb_input_hierarchy_info_iterator_t *i
14560 *****************************************************************************/
14563 xcb_input_hierarchy_info_next (xcb_input_hierarchy_info_iterator_t
*i
/**< */)
14567 i
->index
+= sizeof(xcb_input_hierarchy_info_t
);
14571 /*****************************************************************************
14573 ** xcb_generic_iterator_t xcb_input_hierarchy_info_end
14575 ** @param xcb_input_hierarchy_info_iterator_t i
14576 ** @returns xcb_generic_iterator_t
14578 *****************************************************************************/
14580 xcb_generic_iterator_t
14581 xcb_input_hierarchy_info_end (xcb_input_hierarchy_info_iterator_t i
/**< */)
14583 xcb_generic_iterator_t ret
;
14584 ret
.data
= i
.data
+ i
.rem
;
14585 ret
.index
= i
.index
+ ((char *) ret
.data
- (char *) i
.data
);
14591 xcb_input_hierarchy_sizeof (const void *_buffer
/**< */)
14593 char *xcb_tmp
= (char *)_buffer
;
14594 const xcb_input_hierarchy_event_t
*_aux
= (xcb_input_hierarchy_event_t
*)_buffer
;
14595 unsigned int xcb_buffer_len
= 0;
14596 unsigned int xcb_block_len
= 0;
14597 unsigned int xcb_pad
= 0;
14598 unsigned int xcb_align_to
= 0;
14601 xcb_block_len
+= sizeof(xcb_input_hierarchy_event_t
);
14602 xcb_tmp
+= xcb_block_len
;
14603 xcb_buffer_len
+= xcb_block_len
;
14606 xcb_block_len
+= _aux
->num_infos
* sizeof(xcb_input_hierarchy_info_t
);
14607 xcb_tmp
+= xcb_block_len
;
14608 xcb_align_to
= ALIGNOF(xcb_input_hierarchy_info_t
);
14609 /* insert padding */
14610 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14611 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14612 if (0 != xcb_pad
) {
14613 xcb_tmp
+= xcb_pad
;
14618 return xcb_buffer_len
;
14622 xcb_input_raw_key_press_sizeof (const void *_buffer
/**< */)
14624 char *xcb_tmp
= (char *)_buffer
;
14625 const xcb_input_raw_key_press_event_t
*_aux
= (xcb_input_raw_key_press_event_t
*)_buffer
;
14626 unsigned int xcb_buffer_len
= 0;
14627 unsigned int xcb_block_len
= 0;
14628 unsigned int xcb_pad
= 0;
14629 unsigned int xcb_align_to
= 0;
14632 xcb_block_len
+= sizeof(xcb_input_raw_key_press_event_t
);
14633 xcb_tmp
+= xcb_block_len
;
14634 xcb_buffer_len
+= xcb_block_len
;
14636 /* valuator_mask */
14637 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14638 xcb_tmp
+= xcb_block_len
;
14639 xcb_align_to
= ALIGNOF(uint32_t);
14640 /* insert padding */
14641 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14642 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14643 if (0 != xcb_pad
) {
14644 xcb_tmp
+= xcb_pad
;
14649 return xcb_buffer_len
;
14653 xcb_input_raw_key_release_sizeof (const void *_buffer
/**< */)
14655 char *xcb_tmp
= (char *)_buffer
;
14656 const xcb_input_raw_key_release_event_t
*_aux
= (xcb_input_raw_key_release_event_t
*)_buffer
;
14657 unsigned int xcb_buffer_len
= 0;
14658 unsigned int xcb_block_len
= 0;
14659 unsigned int xcb_pad
= 0;
14660 unsigned int xcb_align_to
= 0;
14663 xcb_block_len
+= sizeof(xcb_input_raw_key_release_event_t
);
14664 xcb_tmp
+= xcb_block_len
;
14665 xcb_buffer_len
+= xcb_block_len
;
14667 /* valuator_mask */
14668 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14669 xcb_tmp
+= xcb_block_len
;
14670 xcb_align_to
= ALIGNOF(uint32_t);
14671 /* insert padding */
14672 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14673 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14674 if (0 != xcb_pad
) {
14675 xcb_tmp
+= xcb_pad
;
14680 return xcb_buffer_len
;
14684 xcb_input_raw_button_press_sizeof (const void *_buffer
/**< */)
14686 char *xcb_tmp
= (char *)_buffer
;
14687 const xcb_input_raw_button_press_event_t
*_aux
= (xcb_input_raw_button_press_event_t
*)_buffer
;
14688 unsigned int xcb_buffer_len
= 0;
14689 unsigned int xcb_block_len
= 0;
14690 unsigned int xcb_pad
= 0;
14691 unsigned int xcb_align_to
= 0;
14694 xcb_block_len
+= sizeof(xcb_input_raw_button_press_event_t
);
14695 xcb_tmp
+= xcb_block_len
;
14696 xcb_buffer_len
+= xcb_block_len
;
14698 /* valuator_mask */
14699 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14700 xcb_tmp
+= xcb_block_len
;
14701 xcb_align_to
= ALIGNOF(uint32_t);
14702 /* insert padding */
14703 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14704 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14705 if (0 != xcb_pad
) {
14706 xcb_tmp
+= xcb_pad
;
14711 return xcb_buffer_len
;
14715 xcb_input_raw_button_release_sizeof (const void *_buffer
/**< */)
14717 char *xcb_tmp
= (char *)_buffer
;
14718 const xcb_input_raw_button_release_event_t
*_aux
= (xcb_input_raw_button_release_event_t
*)_buffer
;
14719 unsigned int xcb_buffer_len
= 0;
14720 unsigned int xcb_block_len
= 0;
14721 unsigned int xcb_pad
= 0;
14722 unsigned int xcb_align_to
= 0;
14725 xcb_block_len
+= sizeof(xcb_input_raw_button_release_event_t
);
14726 xcb_tmp
+= xcb_block_len
;
14727 xcb_buffer_len
+= xcb_block_len
;
14729 /* valuator_mask */
14730 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14731 xcb_tmp
+= xcb_block_len
;
14732 xcb_align_to
= ALIGNOF(uint32_t);
14733 /* insert padding */
14734 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14735 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14736 if (0 != xcb_pad
) {
14737 xcb_tmp
+= xcb_pad
;
14742 return xcb_buffer_len
;
14746 xcb_input_raw_motion_sizeof (const void *_buffer
/**< */)
14748 char *xcb_tmp
= (char *)_buffer
;
14749 const xcb_input_raw_motion_event_t
*_aux
= (xcb_input_raw_motion_event_t
*)_buffer
;
14750 unsigned int xcb_buffer_len
= 0;
14751 unsigned int xcb_block_len
= 0;
14752 unsigned int xcb_pad
= 0;
14753 unsigned int xcb_align_to
= 0;
14756 xcb_block_len
+= sizeof(xcb_input_raw_motion_event_t
);
14757 xcb_tmp
+= xcb_block_len
;
14758 xcb_buffer_len
+= xcb_block_len
;
14760 /* valuator_mask */
14761 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14762 xcb_tmp
+= xcb_block_len
;
14763 xcb_align_to
= ALIGNOF(uint32_t);
14764 /* insert padding */
14765 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14766 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14767 if (0 != xcb_pad
) {
14768 xcb_tmp
+= xcb_pad
;
14773 return xcb_buffer_len
;
14777 xcb_input_touch_begin_sizeof (const void *_buffer
/**< */)
14779 char *xcb_tmp
= (char *)_buffer
;
14780 const xcb_input_touch_begin_event_t
*_aux
= (xcb_input_touch_begin_event_t
*)_buffer
;
14781 unsigned int xcb_buffer_len
= 0;
14782 unsigned int xcb_block_len
= 0;
14783 unsigned int xcb_pad
= 0;
14784 unsigned int xcb_align_to
= 0;
14787 xcb_block_len
+= sizeof(xcb_input_touch_begin_event_t
);
14788 xcb_tmp
+= xcb_block_len
;
14789 xcb_buffer_len
+= xcb_block_len
;
14792 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14793 xcb_tmp
+= xcb_block_len
;
14794 xcb_align_to
= ALIGNOF(uint32_t);
14795 /* insert padding */
14796 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14797 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14798 if (0 != xcb_pad
) {
14799 xcb_tmp
+= xcb_pad
;
14803 /* valuator_mask */
14804 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14805 xcb_tmp
+= xcb_block_len
;
14806 xcb_align_to
= ALIGNOF(uint32_t);
14807 /* insert padding */
14808 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14809 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14810 if (0 != xcb_pad
) {
14811 xcb_tmp
+= xcb_pad
;
14816 return xcb_buffer_len
;
14820 xcb_input_touch_update_sizeof (const void *_buffer
/**< */)
14822 char *xcb_tmp
= (char *)_buffer
;
14823 const xcb_input_touch_update_event_t
*_aux
= (xcb_input_touch_update_event_t
*)_buffer
;
14824 unsigned int xcb_buffer_len
= 0;
14825 unsigned int xcb_block_len
= 0;
14826 unsigned int xcb_pad
= 0;
14827 unsigned int xcb_align_to
= 0;
14830 xcb_block_len
+= sizeof(xcb_input_touch_update_event_t
);
14831 xcb_tmp
+= xcb_block_len
;
14832 xcb_buffer_len
+= xcb_block_len
;
14835 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14836 xcb_tmp
+= xcb_block_len
;
14837 xcb_align_to
= ALIGNOF(uint32_t);
14838 /* insert padding */
14839 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14840 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14841 if (0 != xcb_pad
) {
14842 xcb_tmp
+= xcb_pad
;
14846 /* valuator_mask */
14847 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14848 xcb_tmp
+= xcb_block_len
;
14849 xcb_align_to
= ALIGNOF(uint32_t);
14850 /* insert padding */
14851 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14852 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14853 if (0 != xcb_pad
) {
14854 xcb_tmp
+= xcb_pad
;
14859 return xcb_buffer_len
;
14863 xcb_input_touch_end_sizeof (const void *_buffer
/**< */)
14865 char *xcb_tmp
= (char *)_buffer
;
14866 const xcb_input_touch_end_event_t
*_aux
= (xcb_input_touch_end_event_t
*)_buffer
;
14867 unsigned int xcb_buffer_len
= 0;
14868 unsigned int xcb_block_len
= 0;
14869 unsigned int xcb_pad
= 0;
14870 unsigned int xcb_align_to
= 0;
14873 xcb_block_len
+= sizeof(xcb_input_touch_end_event_t
);
14874 xcb_tmp
+= xcb_block_len
;
14875 xcb_buffer_len
+= xcb_block_len
;
14878 xcb_block_len
+= _aux
->buttons_len
* sizeof(uint32_t);
14879 xcb_tmp
+= xcb_block_len
;
14880 xcb_align_to
= ALIGNOF(uint32_t);
14881 /* insert padding */
14882 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14883 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14884 if (0 != xcb_pad
) {
14885 xcb_tmp
+= xcb_pad
;
14889 /* valuator_mask */
14890 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14891 xcb_tmp
+= xcb_block_len
;
14892 xcb_align_to
= ALIGNOF(uint32_t);
14893 /* insert padding */
14894 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14895 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14896 if (0 != xcb_pad
) {
14897 xcb_tmp
+= xcb_pad
;
14902 return xcb_buffer_len
;
14906 xcb_input_raw_touch_begin_sizeof (const void *_buffer
/**< */)
14908 char *xcb_tmp
= (char *)_buffer
;
14909 const xcb_input_raw_touch_begin_event_t
*_aux
= (xcb_input_raw_touch_begin_event_t
*)_buffer
;
14910 unsigned int xcb_buffer_len
= 0;
14911 unsigned int xcb_block_len
= 0;
14912 unsigned int xcb_pad
= 0;
14913 unsigned int xcb_align_to
= 0;
14916 xcb_block_len
+= sizeof(xcb_input_raw_touch_begin_event_t
);
14917 xcb_tmp
+= xcb_block_len
;
14918 xcb_buffer_len
+= xcb_block_len
;
14920 /* valuator_mask */
14921 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14922 xcb_tmp
+= xcb_block_len
;
14923 xcb_align_to
= ALIGNOF(uint32_t);
14924 /* insert padding */
14925 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14926 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14927 if (0 != xcb_pad
) {
14928 xcb_tmp
+= xcb_pad
;
14933 return xcb_buffer_len
;
14937 xcb_input_raw_touch_update_sizeof (const void *_buffer
/**< */)
14939 char *xcb_tmp
= (char *)_buffer
;
14940 const xcb_input_raw_touch_update_event_t
*_aux
= (xcb_input_raw_touch_update_event_t
*)_buffer
;
14941 unsigned int xcb_buffer_len
= 0;
14942 unsigned int xcb_block_len
= 0;
14943 unsigned int xcb_pad
= 0;
14944 unsigned int xcb_align_to
= 0;
14947 xcb_block_len
+= sizeof(xcb_input_raw_touch_update_event_t
);
14948 xcb_tmp
+= xcb_block_len
;
14949 xcb_buffer_len
+= xcb_block_len
;
14951 /* valuator_mask */
14952 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14953 xcb_tmp
+= xcb_block_len
;
14954 xcb_align_to
= ALIGNOF(uint32_t);
14955 /* insert padding */
14956 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14957 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14958 if (0 != xcb_pad
) {
14959 xcb_tmp
+= xcb_pad
;
14964 return xcb_buffer_len
;
14968 xcb_input_raw_touch_end_sizeof (const void *_buffer
/**< */)
14970 char *xcb_tmp
= (char *)_buffer
;
14971 const xcb_input_raw_touch_end_event_t
*_aux
= (xcb_input_raw_touch_end_event_t
*)_buffer
;
14972 unsigned int xcb_buffer_len
= 0;
14973 unsigned int xcb_block_len
= 0;
14974 unsigned int xcb_pad
= 0;
14975 unsigned int xcb_align_to
= 0;
14978 xcb_block_len
+= sizeof(xcb_input_raw_touch_end_event_t
);
14979 xcb_tmp
+= xcb_block_len
;
14980 xcb_buffer_len
+= xcb_block_len
;
14982 /* valuator_mask */
14983 xcb_block_len
+= _aux
->valuators_len
* sizeof(uint32_t);
14984 xcb_tmp
+= xcb_block_len
;
14985 xcb_align_to
= ALIGNOF(uint32_t);
14986 /* insert padding */
14987 xcb_pad
= -xcb_block_len
& (xcb_align_to
- 1);
14988 xcb_buffer_len
+= xcb_block_len
+ xcb_pad
;
14989 if (0 != xcb_pad
) {
14990 xcb_tmp
+= xcb_pad
;
14995 return xcb_buffer_len
;