| /* |
| * This file generated automatically from xkb.xml by c_client.py. |
| * Edit at your peril. |
| */ |
| |
| #ifdef HAVE_CONFIG_H |
| #include "config.h" |
| #endif |
| #include <stdlib.h> |
| #include <string.h> |
| #include <assert.h> |
| #include <stddef.h> /* for offsetof() */ |
| #include "xcbext.h" |
| #include "xkb.h" |
| |
| #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) |
| #include "xproto.h" |
| |
| xcb_extension_t xcb_xkb_id = { "XKEYBOARD", 0 }; |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_device_spec_next |
| ** |
| ** @param xcb_xkb_device_spec_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_device_spec_next (xcb_xkb_device_spec_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_device_spec_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_device_spec_end |
| ** |
| ** @param xcb_xkb_device_spec_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_device_spec_end (xcb_xkb_device_spec_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_led_class_spec_next |
| ** |
| ** @param xcb_xkb_led_class_spec_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_led_class_spec_next (xcb_xkb_led_class_spec_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_led_class_spec_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_led_class_spec_end |
| ** |
| ** @param xcb_xkb_led_class_spec_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_led_class_spec_end (xcb_xkb_led_class_spec_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_bell_class_spec_next |
| ** |
| ** @param xcb_xkb_bell_class_spec_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_bell_class_spec_next (xcb_xkb_bell_class_spec_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_bell_class_spec_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_bell_class_spec_end |
| ** |
| ** @param xcb_xkb_bell_class_spec_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_bell_class_spec_end (xcb_xkb_bell_class_spec_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_id_spec_next |
| ** |
| ** @param xcb_xkb_id_spec_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_id_spec_next (xcb_xkb_id_spec_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_id_spec_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_id_spec_end |
| ** |
| ** @param xcb_xkb_id_spec_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_id_spec_end (xcb_xkb_id_spec_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_indicator_map_next |
| ** |
| ** @param xcb_xkb_indicator_map_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_indicator_map_next (xcb_xkb_indicator_map_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_indicator_map_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_indicator_map_end |
| ** |
| ** @param xcb_xkb_indicator_map_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_indicator_map_end (xcb_xkb_indicator_map_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_mod_def_next |
| ** |
| ** @param xcb_xkb_mod_def_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_mod_def_next (xcb_xkb_mod_def_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_mod_def_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_mod_def_end |
| ** |
| ** @param xcb_xkb_mod_def_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_mod_def_end (xcb_xkb_mod_def_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_name_next |
| ** |
| ** @param xcb_xkb_key_name_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_name_next (xcb_xkb_key_name_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_key_name_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_name_end |
| ** |
| ** @param xcb_xkb_key_name_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_name_end (xcb_xkb_key_name_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_alias_next |
| ** |
| ** @param xcb_xkb_key_alias_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_alias_next (xcb_xkb_key_alias_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_key_alias_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_alias_end |
| ** |
| ** @param xcb_xkb_key_alias_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_alias_end (xcb_xkb_key_alias_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_counted_string_16_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_counted_string_16_t *_aux = (xcb_xkb_counted_string_16_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_counted_string_16_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* string */ |
| xcb_block_len += _aux->length * sizeof(char); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(char); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad */ |
| xcb_block_len += (((_aux->length + 5) & (~3)) - (_aux->length + 2)) * sizeof(char); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(char); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** char * xcb_xkb_counted_string_16_string |
| ** |
| ** @param const xcb_xkb_counted_string_16_t *R |
| ** @returns char * |
| ** |
| *****************************************************************************/ |
| |
| char * |
| xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R /**< */) |
| { |
| return (char *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_counted_string_16_string_length |
| ** |
| ** @param const xcb_xkb_counted_string_16_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_counted_string_16_string_length (const xcb_xkb_counted_string_16_t *R /**< */) |
| { |
| return R->length; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_counted_string_16_string_end |
| ** |
| ** @param const xcb_xkb_counted_string_16_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_counted_string_16_string_end (const xcb_xkb_counted_string_16_t *R /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = ((char *) (R + 1)) + (R->length); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void * xcb_xkb_counted_string_16_alignment_pad |
| ** |
| ** @param const xcb_xkb_counted_string_16_t *R |
| ** @returns void * |
| ** |
| *****************************************************************************/ |
| |
| void * |
| xcb_xkb_counted_string_16_alignment_pad (const xcb_xkb_counted_string_16_t *R /**< */) |
| { |
| xcb_generic_iterator_t prev = xcb_xkb_counted_string_16_string_end(R); |
| return (void *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_counted_string_16_alignment_pad_length |
| ** |
| ** @param const xcb_xkb_counted_string_16_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_counted_string_16_alignment_pad_length (const xcb_xkb_counted_string_16_t *R /**< */) |
| { |
| return (((R->length + 5) & (~3)) - (R->length + 2)); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_counted_string_16_alignment_pad_end |
| ** |
| ** @param const xcb_xkb_counted_string_16_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_counted_string_16_alignment_pad_end (const xcb_xkb_counted_string_16_t *R /**< */) |
| { |
| xcb_generic_iterator_t i; |
| xcb_generic_iterator_t child = xcb_xkb_counted_string_16_string_end(R); |
| i.data = ((char *) child.data) + ((((R->length + 5) & (~3)) - (R->length + 2))); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_counted_string_16_next |
| ** |
| ** @param xcb_xkb_counted_string_16_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_counted_string_16_next (xcb_xkb_counted_string_16_iterator_t *i /**< */) |
| { |
| xcb_xkb_counted_string_16_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_counted_string_16_t *)(((char *)R) + xcb_xkb_counted_string_16_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_counted_string_16_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_counted_string_16_end |
| ** |
| ** @param xcb_xkb_counted_string_16_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_counted_string_16_end (xcb_xkb_counted_string_16_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_counted_string_16_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_kt_map_entry_next |
| ** |
| ** @param xcb_xkb_kt_map_entry_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_kt_map_entry_next (xcb_xkb_kt_map_entry_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_kt_map_entry_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_kt_map_entry_end |
| ** |
| ** @param xcb_xkb_kt_map_entry_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_kt_map_entry_end (xcb_xkb_kt_map_entry_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_key_type_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_key_type_t *_aux = (xcb_xkb_key_type_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_key_type_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* map */ |
| xcb_block_len += _aux->nMapEntries * sizeof(xcb_xkb_kt_map_entry_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_kt_map_entry_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* preserve */ |
| xcb_block_len += (_aux->hasPreserve * _aux->nMapEntries) * sizeof(xcb_xkb_mod_def_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_kt_map_entry_t * xcb_xkb_key_type_map |
| ** |
| ** @param const xcb_xkb_key_type_t *R |
| ** @returns xcb_xkb_kt_map_entry_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_kt_map_entry_t * |
| xcb_xkb_key_type_map (const xcb_xkb_key_type_t *R /**< */) |
| { |
| return (xcb_xkb_kt_map_entry_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_key_type_map_length |
| ** |
| ** @param const xcb_xkb_key_type_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_key_type_map_length (const xcb_xkb_key_type_t *R /**< */) |
| { |
| return R->nMapEntries; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_kt_map_entry_iterator_t xcb_xkb_key_type_map_iterator |
| ** |
| ** @param const xcb_xkb_key_type_t *R |
| ** @returns xcb_xkb_kt_map_entry_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_kt_map_entry_iterator_t |
| xcb_xkb_key_type_map_iterator (const xcb_xkb_key_type_t *R /**< */) |
| { |
| xcb_xkb_kt_map_entry_iterator_t i; |
| i.data = (xcb_xkb_kt_map_entry_t *) (R + 1); |
| i.rem = R->nMapEntries; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_mod_def_t * xcb_xkb_key_type_preserve |
| ** |
| ** @param const xcb_xkb_key_type_t *R |
| ** @returns xcb_xkb_mod_def_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_mod_def_t * |
| xcb_xkb_key_type_preserve (const xcb_xkb_key_type_t *R /**< */) |
| { |
| xcb_generic_iterator_t prev = xcb_xkb_kt_map_entry_end(xcb_xkb_key_type_map_iterator(R)); |
| return (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index) + 0); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_key_type_preserve_length |
| ** |
| ** @param const xcb_xkb_key_type_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_key_type_preserve_length (const xcb_xkb_key_type_t *R /**< */) |
| { |
| return (R->hasPreserve * R->nMapEntries); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_mod_def_iterator_t xcb_xkb_key_type_preserve_iterator |
| ** |
| ** @param const xcb_xkb_key_type_t *R |
| ** @returns xcb_xkb_mod_def_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_mod_def_iterator_t |
| xcb_xkb_key_type_preserve_iterator (const xcb_xkb_key_type_t *R /**< */) |
| { |
| xcb_xkb_mod_def_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_kt_map_entry_end(xcb_xkb_key_type_map_iterator(R)); |
| i.data = (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index)); |
| i.rem = (R->hasPreserve * R->nMapEntries); |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_type_next |
| ** |
| ** @param xcb_xkb_key_type_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_type_next (xcb_xkb_key_type_iterator_t *i /**< */) |
| { |
| xcb_xkb_key_type_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_key_type_t *)(((char *)R) + xcb_xkb_key_type_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_key_type_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_type_end |
| ** |
| ** @param xcb_xkb_key_type_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_type_end (xcb_xkb_key_type_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_key_type_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_key_sym_map_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_key_sym_map_t *_aux = (xcb_xkb_key_sym_map_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_key_sym_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* syms */ |
| xcb_block_len += _aux->nSyms * sizeof(xcb_keysym_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_keysym_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_keysym_t * xcb_xkb_key_sym_map_syms |
| ** |
| ** @param const xcb_xkb_key_sym_map_t *R |
| ** @returns xcb_keysym_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_keysym_t * |
| xcb_xkb_key_sym_map_syms (const xcb_xkb_key_sym_map_t *R /**< */) |
| { |
| return (xcb_keysym_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_key_sym_map_syms_length |
| ** |
| ** @param const xcb_xkb_key_sym_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_key_sym_map_syms_length (const xcb_xkb_key_sym_map_t *R /**< */) |
| { |
| return R->nSyms; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_sym_map_syms_end |
| ** |
| ** @param const xcb_xkb_key_sym_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_sym_map_syms_end (const xcb_xkb_key_sym_map_t *R /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = ((xcb_keysym_t *) (R + 1)) + (R->nSyms); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_sym_map_next |
| ** |
| ** @param xcb_xkb_key_sym_map_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_sym_map_next (xcb_xkb_key_sym_map_iterator_t *i /**< */) |
| { |
| xcb_xkb_key_sym_map_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_key_sym_map_t *)(((char *)R) + xcb_xkb_key_sym_map_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_key_sym_map_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_sym_map_end |
| ** |
| ** @param xcb_xkb_key_sym_map_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_sym_map_end (xcb_xkb_key_sym_map_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_key_sym_map_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_common_behavior_next |
| ** |
| ** @param xcb_xkb_common_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_common_behavior_next (xcb_xkb_common_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_common_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_common_behavior_end |
| ** |
| ** @param xcb_xkb_common_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_common_behavior_end (xcb_xkb_common_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_default_behavior_next |
| ** |
| ** @param xcb_xkb_default_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_default_behavior_next (xcb_xkb_default_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_default_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_default_behavior_end |
| ** |
| ** @param xcb_xkb_default_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_default_behavior_end (xcb_xkb_default_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_lock_behavior_next |
| ** |
| ** @param xcb_xkb_lock_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_lock_behavior_next (xcb_xkb_lock_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_lock_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_lock_behavior_end |
| ** |
| ** @param xcb_xkb_lock_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_lock_behavior_end (xcb_xkb_lock_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_radio_group_behavior_next |
| ** |
| ** @param xcb_xkb_radio_group_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_radio_group_behavior_next (xcb_xkb_radio_group_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_radio_group_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_radio_group_behavior_end |
| ** |
| ** @param xcb_xkb_radio_group_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_radio_group_behavior_end (xcb_xkb_radio_group_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_overlay_behavior_next |
| ** |
| ** @param xcb_xkb_overlay_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_overlay_behavior_next (xcb_xkb_overlay_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_overlay_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_overlay_behavior_end |
| ** |
| ** @param xcb_xkb_overlay_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_overlay_behavior_end (xcb_xkb_overlay_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_permament_lock_behavior_next |
| ** |
| ** @param xcb_xkb_permament_lock_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_permament_lock_behavior_next (xcb_xkb_permament_lock_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_permament_lock_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_permament_lock_behavior_end |
| ** |
| ** @param xcb_xkb_permament_lock_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_permament_lock_behavior_end (xcb_xkb_permament_lock_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_permament_radio_group_behavior_next |
| ** |
| ** @param xcb_xkb_permament_radio_group_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_permament_radio_group_behavior_next (xcb_xkb_permament_radio_group_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_permament_radio_group_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_permament_radio_group_behavior_end |
| ** |
| ** @param xcb_xkb_permament_radio_group_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_permament_radio_group_behavior_end (xcb_xkb_permament_radio_group_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_permament_overlay_behavior_next |
| ** |
| ** @param xcb_xkb_permament_overlay_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_permament_overlay_behavior_next (xcb_xkb_permament_overlay_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_permament_overlay_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_permament_overlay_behavior_end |
| ** |
| ** @param xcb_xkb_permament_overlay_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_permament_overlay_behavior_end (xcb_xkb_permament_overlay_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_behavior_next |
| ** |
| ** @param xcb_xkb_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_behavior_next (xcb_xkb_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_behavior_end |
| ** |
| ** @param xcb_xkb_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_behavior_end (xcb_xkb_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_set_behavior_next |
| ** |
| ** @param xcb_xkb_set_behavior_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_set_behavior_next (xcb_xkb_set_behavior_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_set_behavior_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_behavior_end |
| ** |
| ** @param xcb_xkb_set_behavior_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_behavior_end (xcb_xkb_set_behavior_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_set_explicit_next |
| ** |
| ** @param xcb_xkb_set_explicit_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_set_explicit_next (xcb_xkb_set_explicit_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_set_explicit_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_explicit_end |
| ** |
| ** @param xcb_xkb_set_explicit_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_explicit_end (xcb_xkb_set_explicit_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_mod_map_next |
| ** |
| ** @param xcb_xkb_key_mod_map_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_mod_map_next (xcb_xkb_key_mod_map_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_key_mod_map_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_mod_map_end |
| ** |
| ** @param xcb_xkb_key_mod_map_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_mod_map_end (xcb_xkb_key_mod_map_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_v_mod_map_next |
| ** |
| ** @param xcb_xkb_key_v_mod_map_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_v_mod_map_next (xcb_xkb_key_v_mod_map_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_key_v_mod_map_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_v_mod_map_end |
| ** |
| ** @param xcb_xkb_key_v_mod_map_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_v_mod_map_end (xcb_xkb_key_v_mod_map_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_kt_set_map_entry_next |
| ** |
| ** @param xcb_xkb_kt_set_map_entry_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_kt_set_map_entry_next (xcb_xkb_kt_set_map_entry_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_kt_set_map_entry_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_kt_set_map_entry_end |
| ** |
| ** @param xcb_xkb_kt_set_map_entry_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_kt_set_map_entry_end (xcb_xkb_kt_set_map_entry_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_set_key_type_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_set_key_type_t *_aux = (xcb_xkb_set_key_type_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_set_key_type_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* entries */ |
| xcb_block_len += _aux->nMapEntries * sizeof(xcb_xkb_kt_set_map_entry_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_kt_set_map_entry_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* preserve_entries */ |
| xcb_block_len += (_aux->preserve * _aux->nMapEntries) * sizeof(xcb_xkb_kt_set_map_entry_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_kt_set_map_entry_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_entries |
| ** |
| ** @param const xcb_xkb_set_key_type_t *R |
| ** @returns xcb_xkb_kt_set_map_entry_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_kt_set_map_entry_t * |
| xcb_xkb_set_key_type_entries (const xcb_xkb_set_key_type_t *R /**< */) |
| { |
| return (xcb_xkb_kt_set_map_entry_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_key_type_entries_length |
| ** |
| ** @param const xcb_xkb_set_key_type_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_key_type_entries_length (const xcb_xkb_set_key_type_t *R /**< */) |
| { |
| return R->nMapEntries; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_entries_iterator |
| ** |
| ** @param const xcb_xkb_set_key_type_t *R |
| ** @returns xcb_xkb_kt_set_map_entry_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_kt_set_map_entry_iterator_t |
| xcb_xkb_set_key_type_entries_iterator (const xcb_xkb_set_key_type_t *R /**< */) |
| { |
| xcb_xkb_kt_set_map_entry_iterator_t i; |
| i.data = (xcb_xkb_kt_set_map_entry_t *) (R + 1); |
| i.rem = R->nMapEntries; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_preserve_entries |
| ** |
| ** @param const xcb_xkb_set_key_type_t *R |
| ** @returns xcb_xkb_kt_set_map_entry_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_kt_set_map_entry_t * |
| xcb_xkb_set_key_type_preserve_entries (const xcb_xkb_set_key_type_t *R /**< */) |
| { |
| xcb_generic_iterator_t prev = xcb_xkb_kt_set_map_entry_end(xcb_xkb_set_key_type_entries_iterator(R)); |
| return (xcb_xkb_kt_set_map_entry_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_kt_set_map_entry_t, prev.index) + 0); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_key_type_preserve_entries_length |
| ** |
| ** @param const xcb_xkb_set_key_type_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_key_type_preserve_entries_length (const xcb_xkb_set_key_type_t *R /**< */) |
| { |
| return (R->preserve * R->nMapEntries); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_preserve_entries_iterator |
| ** |
| ** @param const xcb_xkb_set_key_type_t *R |
| ** @returns xcb_xkb_kt_set_map_entry_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_kt_set_map_entry_iterator_t |
| xcb_xkb_set_key_type_preserve_entries_iterator (const xcb_xkb_set_key_type_t *R /**< */) |
| { |
| xcb_xkb_kt_set_map_entry_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_kt_set_map_entry_end(xcb_xkb_set_key_type_entries_iterator(R)); |
| i.data = (xcb_xkb_kt_set_map_entry_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_kt_set_map_entry_t, prev.index)); |
| i.rem = (R->preserve * R->nMapEntries); |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_set_key_type_next |
| ** |
| ** @param xcb_xkb_set_key_type_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_set_key_type_next (xcb_xkb_set_key_type_iterator_t *i /**< */) |
| { |
| xcb_xkb_set_key_type_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_set_key_type_t *)(((char *)R) + xcb_xkb_set_key_type_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_set_key_type_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_key_type_end |
| ** |
| ** @param xcb_xkb_set_key_type_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_key_type_end (xcb_xkb_set_key_type_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_set_key_type_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_string8_next |
| ** |
| ** @param xcb_xkb_string8_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_string8_next (xcb_xkb_string8_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_string8_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_string8_end |
| ** |
| ** @param xcb_xkb_string8_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_string8_end (xcb_xkb_string8_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_outline_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_outline_t *_aux = (xcb_xkb_outline_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_outline_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* points */ |
| xcb_block_len += _aux->nPoints * sizeof(xcb_point_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_point_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_point_t * xcb_xkb_outline_points |
| ** |
| ** @param const xcb_xkb_outline_t *R |
| ** @returns xcb_point_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_point_t * |
| xcb_xkb_outline_points (const xcb_xkb_outline_t *R /**< */) |
| { |
| return (xcb_point_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_outline_points_length |
| ** |
| ** @param const xcb_xkb_outline_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_outline_points_length (const xcb_xkb_outline_t *R /**< */) |
| { |
| return R->nPoints; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_point_iterator_t xcb_xkb_outline_points_iterator |
| ** |
| ** @param const xcb_xkb_outline_t *R |
| ** @returns xcb_point_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_point_iterator_t |
| xcb_xkb_outline_points_iterator (const xcb_xkb_outline_t *R /**< */) |
| { |
| xcb_point_iterator_t i; |
| i.data = (xcb_point_t *) (R + 1); |
| i.rem = R->nPoints; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_outline_next |
| ** |
| ** @param xcb_xkb_outline_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_outline_next (xcb_xkb_outline_iterator_t *i /**< */) |
| { |
| xcb_xkb_outline_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_outline_t *)(((char *)R) + xcb_xkb_outline_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_outline_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_outline_end |
| ** |
| ** @param xcb_xkb_outline_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_outline_end (xcb_xkb_outline_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_outline_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_shape_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_shape_t *_aux = (xcb_xkb_shape_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| xcb_block_len += sizeof(xcb_xkb_shape_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* outlines */ |
| for(i=0; i<_aux->nOutlines; i++) { |
| xcb_tmp_len = xcb_xkb_outline_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_outline_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_shape_outlines_length |
| ** |
| ** @param const xcb_xkb_shape_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_shape_outlines_length (const xcb_xkb_shape_t *R /**< */) |
| { |
| return R->nOutlines; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_outline_iterator_t xcb_xkb_shape_outlines_iterator |
| ** |
| ** @param const xcb_xkb_shape_t *R |
| ** @returns xcb_xkb_outline_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_outline_iterator_t |
| xcb_xkb_shape_outlines_iterator (const xcb_xkb_shape_t *R /**< */) |
| { |
| xcb_xkb_outline_iterator_t i; |
| i.data = (xcb_xkb_outline_t *) (R + 1); |
| i.rem = R->nOutlines; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_shape_next |
| ** |
| ** @param xcb_xkb_shape_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_shape_next (xcb_xkb_shape_iterator_t *i /**< */) |
| { |
| xcb_xkb_shape_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_shape_t *)(((char *)R) + xcb_xkb_shape_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_shape_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_shape_end |
| ** |
| ** @param xcb_xkb_shape_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_shape_end (xcb_xkb_shape_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_shape_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_key_next |
| ** |
| ** @param xcb_xkb_key_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_key_next (xcb_xkb_key_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_key_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_key_end |
| ** |
| ** @param xcb_xkb_key_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_key_end (xcb_xkb_key_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_overlay_key_next |
| ** |
| ** @param xcb_xkb_overlay_key_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_overlay_key_next (xcb_xkb_overlay_key_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_overlay_key_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_overlay_key_end |
| ** |
| ** @param xcb_xkb_overlay_key_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_overlay_key_end (xcb_xkb_overlay_key_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_overlay_row_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_overlay_row_t *_aux = (xcb_xkb_overlay_row_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_overlay_row_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* keys */ |
| xcb_block_len += _aux->nKeys * sizeof(xcb_xkb_overlay_key_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_overlay_key_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_overlay_key_t * xcb_xkb_overlay_row_keys |
| ** |
| ** @param const xcb_xkb_overlay_row_t *R |
| ** @returns xcb_xkb_overlay_key_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_overlay_key_t * |
| xcb_xkb_overlay_row_keys (const xcb_xkb_overlay_row_t *R /**< */) |
| { |
| return (xcb_xkb_overlay_key_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_overlay_row_keys_length |
| ** |
| ** @param const xcb_xkb_overlay_row_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_overlay_row_keys_length (const xcb_xkb_overlay_row_t *R /**< */) |
| { |
| return R->nKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_overlay_key_iterator_t xcb_xkb_overlay_row_keys_iterator |
| ** |
| ** @param const xcb_xkb_overlay_row_t *R |
| ** @returns xcb_xkb_overlay_key_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_overlay_key_iterator_t |
| xcb_xkb_overlay_row_keys_iterator (const xcb_xkb_overlay_row_t *R /**< */) |
| { |
| xcb_xkb_overlay_key_iterator_t i; |
| i.data = (xcb_xkb_overlay_key_t *) (R + 1); |
| i.rem = R->nKeys; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_overlay_row_next |
| ** |
| ** @param xcb_xkb_overlay_row_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_overlay_row_next (xcb_xkb_overlay_row_iterator_t *i /**< */) |
| { |
| xcb_xkb_overlay_row_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_overlay_row_t *)(((char *)R) + xcb_xkb_overlay_row_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_overlay_row_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_overlay_row_end |
| ** |
| ** @param xcb_xkb_overlay_row_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_overlay_row_end (xcb_xkb_overlay_row_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_overlay_row_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_overlay_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_overlay_t *_aux = (xcb_xkb_overlay_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| xcb_block_len += sizeof(xcb_xkb_overlay_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* rows */ |
| for(i=0; i<_aux->nRows; i++) { |
| xcb_tmp_len = xcb_xkb_overlay_row_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_overlay_row_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_overlay_rows_length |
| ** |
| ** @param const xcb_xkb_overlay_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_overlay_rows_length (const xcb_xkb_overlay_t *R /**< */) |
| { |
| return R->nRows; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_overlay_row_iterator_t xcb_xkb_overlay_rows_iterator |
| ** |
| ** @param const xcb_xkb_overlay_t *R |
| ** @returns xcb_xkb_overlay_row_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_overlay_row_iterator_t |
| xcb_xkb_overlay_rows_iterator (const xcb_xkb_overlay_t *R /**< */) |
| { |
| xcb_xkb_overlay_row_iterator_t i; |
| i.data = (xcb_xkb_overlay_row_t *) (R + 1); |
| i.rem = R->nRows; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_overlay_next |
| ** |
| ** @param xcb_xkb_overlay_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_overlay_next (xcb_xkb_overlay_iterator_t *i /**< */) |
| { |
| xcb_xkb_overlay_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_overlay_t *)(((char *)R) + xcb_xkb_overlay_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_overlay_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_overlay_end |
| ** |
| ** @param xcb_xkb_overlay_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_overlay_end (xcb_xkb_overlay_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_overlay_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_row_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_row_t *_aux = (xcb_xkb_row_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_row_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* keys */ |
| xcb_block_len += _aux->nKeys * sizeof(xcb_xkb_key_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_t * xcb_xkb_row_keys |
| ** |
| ** @param const xcb_xkb_row_t *R |
| ** @returns xcb_xkb_key_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_t * |
| xcb_xkb_row_keys (const xcb_xkb_row_t *R /**< */) |
| { |
| return (xcb_xkb_key_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_row_keys_length |
| ** |
| ** @param const xcb_xkb_row_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_row_keys_length (const xcb_xkb_row_t *R /**< */) |
| { |
| return R->nKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_iterator_t xcb_xkb_row_keys_iterator |
| ** |
| ** @param const xcb_xkb_row_t *R |
| ** @returns xcb_xkb_key_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_iterator_t |
| xcb_xkb_row_keys_iterator (const xcb_xkb_row_t *R /**< */) |
| { |
| xcb_xkb_key_iterator_t i; |
| i.data = (xcb_xkb_key_t *) (R + 1); |
| i.rem = R->nKeys; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_row_next |
| ** |
| ** @param xcb_xkb_row_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_row_next (xcb_xkb_row_iterator_t *i /**< */) |
| { |
| xcb_xkb_row_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_row_t *)(((char *)R) + xcb_xkb_row_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_row_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_row_end |
| ** |
| ** @param xcb_xkb_row_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_row_end (xcb_xkb_row_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_row_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_listing_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_listing_t *_aux = (xcb_xkb_listing_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_listing_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* string */ |
| xcb_block_len += _aux->length * sizeof(xcb_xkb_string8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_string8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_string8_t * xcb_xkb_listing_string |
| ** |
| ** @param const xcb_xkb_listing_t *R |
| ** @returns xcb_xkb_string8_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_string8_t * |
| xcb_xkb_listing_string (const xcb_xkb_listing_t *R /**< */) |
| { |
| return (xcb_xkb_string8_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_listing_string_length |
| ** |
| ** @param const xcb_xkb_listing_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_listing_string_length (const xcb_xkb_listing_t *R /**< */) |
| { |
| return R->length; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_listing_string_end |
| ** |
| ** @param const xcb_xkb_listing_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_listing_string_end (const xcb_xkb_listing_t *R /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = ((xcb_xkb_string8_t *) (R + 1)) + (R->length); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_listing_next |
| ** |
| ** @param xcb_xkb_listing_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_listing_next (xcb_xkb_listing_iterator_t *i /**< */) |
| { |
| xcb_xkb_listing_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_listing_t *)(((char *)R) + xcb_xkb_listing_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_listing_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_listing_end |
| ** |
| ** @param xcb_xkb_listing_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_listing_end (xcb_xkb_listing_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_listing_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| int |
| xcb_xkb_device_led_info_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_device_led_info_t *_aux = (xcb_xkb_device_led_info_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_device_led_info_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* names */ |
| xcb_block_len += xcb_popcount(_aux->namesPresent) * sizeof(uint32_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* maps */ |
| xcb_block_len += xcb_popcount(_aux->mapsPresent) * sizeof(xcb_xkb_indicator_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_device_led_info_names |
| ** |
| ** @param const xcb_xkb_device_led_info_t *R |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_device_led_info_names (const xcb_xkb_device_led_info_t *R /**< */) |
| { |
| return (xcb_atom_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_device_led_info_names_length |
| ** |
| ** @param const xcb_xkb_device_led_info_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_device_led_info_names_length (const xcb_xkb_device_led_info_t *R /**< */) |
| { |
| return xcb_popcount(R->namesPresent); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_device_led_info_names_end |
| ** |
| ** @param const xcb_xkb_device_led_info_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_device_led_info_names_end (const xcb_xkb_device_led_info_t *R /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = ((xcb_atom_t *) (R + 1)) + (xcb_popcount(R->namesPresent)); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_indicator_map_t * xcb_xkb_device_led_info_maps |
| ** |
| ** @param const xcb_xkb_device_led_info_t *R |
| ** @returns xcb_xkb_indicator_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_indicator_map_t * |
| xcb_xkb_device_led_info_maps (const xcb_xkb_device_led_info_t *R /**< */) |
| { |
| xcb_generic_iterator_t prev = xcb_xkb_device_led_info_names_end(R); |
| return (xcb_xkb_indicator_map_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_indicator_map_t, prev.index) + 0); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_device_led_info_maps_length |
| ** |
| ** @param const xcb_xkb_device_led_info_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_device_led_info_maps_length (const xcb_xkb_device_led_info_t *R /**< */) |
| { |
| return xcb_popcount(R->mapsPresent); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_indicator_map_iterator_t xcb_xkb_device_led_info_maps_iterator |
| ** |
| ** @param const xcb_xkb_device_led_info_t *R |
| ** @returns xcb_xkb_indicator_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_indicator_map_iterator_t |
| xcb_xkb_device_led_info_maps_iterator (const xcb_xkb_device_led_info_t *R /**< */) |
| { |
| xcb_xkb_indicator_map_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_device_led_info_names_end(R); |
| i.data = (xcb_xkb_indicator_map_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_indicator_map_t, prev.index)); |
| i.rem = xcb_popcount(R->mapsPresent); |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_device_led_info_next |
| ** |
| ** @param xcb_xkb_device_led_info_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_device_led_info_next (xcb_xkb_device_led_info_iterator_t *i /**< */) |
| { |
| xcb_xkb_device_led_info_t *R = i->data; |
| xcb_generic_iterator_t child; |
| child.data = (xcb_xkb_device_led_info_t *)(((char *)R) + xcb_xkb_device_led_info_sizeof(R)); |
| i->index = (char *) child.data - (char *) i->data; |
| --i->rem; |
| i->data = (xcb_xkb_device_led_info_t *) child.data; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_device_led_info_end |
| ** |
| ** @param xcb_xkb_device_led_info_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_device_led_info_end (xcb_xkb_device_led_info_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| while(i.rem > 0) |
| xcb_xkb_device_led_info_next(&i); |
| ret.data = i.data; |
| ret.rem = i.rem; |
| ret.index = i.index; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_no_action_next |
| ** |
| ** @param xcb_xkb_sa_no_action_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_no_action_next (xcb_xkb_sa_no_action_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_no_action_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_no_action_end |
| ** |
| ** @param xcb_xkb_sa_no_action_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_no_action_end (xcb_xkb_sa_no_action_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_set_mods_next |
| ** |
| ** @param xcb_xkb_sa_set_mods_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_set_mods_next (xcb_xkb_sa_set_mods_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_set_mods_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_set_mods_end |
| ** |
| ** @param xcb_xkb_sa_set_mods_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_set_mods_end (xcb_xkb_sa_set_mods_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_latch_mods_next |
| ** |
| ** @param xcb_xkb_sa_latch_mods_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_latch_mods_next (xcb_xkb_sa_latch_mods_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_latch_mods_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_latch_mods_end |
| ** |
| ** @param xcb_xkb_sa_latch_mods_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_latch_mods_end (xcb_xkb_sa_latch_mods_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_lock_mods_next |
| ** |
| ** @param xcb_xkb_sa_lock_mods_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_lock_mods_next (xcb_xkb_sa_lock_mods_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_lock_mods_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_lock_mods_end |
| ** |
| ** @param xcb_xkb_sa_lock_mods_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_lock_mods_end (xcb_xkb_sa_lock_mods_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_set_group_next |
| ** |
| ** @param xcb_xkb_sa_set_group_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_set_group_next (xcb_xkb_sa_set_group_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_set_group_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_set_group_end |
| ** |
| ** @param xcb_xkb_sa_set_group_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_set_group_end (xcb_xkb_sa_set_group_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_latch_group_next |
| ** |
| ** @param xcb_xkb_sa_latch_group_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_latch_group_next (xcb_xkb_sa_latch_group_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_latch_group_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_latch_group_end |
| ** |
| ** @param xcb_xkb_sa_latch_group_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_latch_group_end (xcb_xkb_sa_latch_group_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_lock_group_next |
| ** |
| ** @param xcb_xkb_sa_lock_group_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_lock_group_next (xcb_xkb_sa_lock_group_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_lock_group_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_lock_group_end |
| ** |
| ** @param xcb_xkb_sa_lock_group_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_lock_group_end (xcb_xkb_sa_lock_group_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_move_ptr_next |
| ** |
| ** @param xcb_xkb_sa_move_ptr_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_move_ptr_next (xcb_xkb_sa_move_ptr_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_move_ptr_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_move_ptr_end |
| ** |
| ** @param xcb_xkb_sa_move_ptr_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_move_ptr_end (xcb_xkb_sa_move_ptr_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_ptr_btn_next |
| ** |
| ** @param xcb_xkb_sa_ptr_btn_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_ptr_btn_next (xcb_xkb_sa_ptr_btn_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_ptr_btn_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_ptr_btn_end |
| ** |
| ** @param xcb_xkb_sa_ptr_btn_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_ptr_btn_end (xcb_xkb_sa_ptr_btn_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_lock_ptr_btn_next |
| ** |
| ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_lock_ptr_btn_next (xcb_xkb_sa_lock_ptr_btn_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_lock_ptr_btn_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_lock_ptr_btn_end |
| ** |
| ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_lock_ptr_btn_end (xcb_xkb_sa_lock_ptr_btn_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_set_ptr_dflt_next |
| ** |
| ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_set_ptr_dflt_next (xcb_xkb_sa_set_ptr_dflt_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_set_ptr_dflt_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_set_ptr_dflt_end |
| ** |
| ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_set_ptr_dflt_end (xcb_xkb_sa_set_ptr_dflt_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_iso_lock_next |
| ** |
| ** @param xcb_xkb_sa_iso_lock_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_iso_lock_next (xcb_xkb_sa_iso_lock_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_iso_lock_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_iso_lock_end |
| ** |
| ** @param xcb_xkb_sa_iso_lock_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_iso_lock_end (xcb_xkb_sa_iso_lock_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_terminate_next |
| ** |
| ** @param xcb_xkb_sa_terminate_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_terminate_next (xcb_xkb_sa_terminate_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_terminate_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_terminate_end |
| ** |
| ** @param xcb_xkb_sa_terminate_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_terminate_end (xcb_xkb_sa_terminate_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_switch_screen_next |
| ** |
| ** @param xcb_xkb_sa_switch_screen_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_switch_screen_next (xcb_xkb_sa_switch_screen_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_switch_screen_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_switch_screen_end |
| ** |
| ** @param xcb_xkb_sa_switch_screen_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_switch_screen_end (xcb_xkb_sa_switch_screen_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_set_controls_next |
| ** |
| ** @param xcb_xkb_sa_set_controls_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_set_controls_next (xcb_xkb_sa_set_controls_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_set_controls_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_set_controls_end |
| ** |
| ** @param xcb_xkb_sa_set_controls_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_set_controls_end (xcb_xkb_sa_set_controls_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_lock_controls_next |
| ** |
| ** @param xcb_xkb_sa_lock_controls_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_lock_controls_next (xcb_xkb_sa_lock_controls_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_lock_controls_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_lock_controls_end |
| ** |
| ** @param xcb_xkb_sa_lock_controls_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_lock_controls_end (xcb_xkb_sa_lock_controls_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_action_message_next |
| ** |
| ** @param xcb_xkb_sa_action_message_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_action_message_next (xcb_xkb_sa_action_message_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_action_message_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_action_message_end |
| ** |
| ** @param xcb_xkb_sa_action_message_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_action_message_end (xcb_xkb_sa_action_message_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_redirect_key_next |
| ** |
| ** @param xcb_xkb_sa_redirect_key_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_redirect_key_next (xcb_xkb_sa_redirect_key_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_redirect_key_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_redirect_key_end |
| ** |
| ** @param xcb_xkb_sa_redirect_key_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_redirect_key_end (xcb_xkb_sa_redirect_key_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_device_btn_next |
| ** |
| ** @param xcb_xkb_sa_device_btn_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_device_btn_next (xcb_xkb_sa_device_btn_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_device_btn_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_device_btn_end |
| ** |
| ** @param xcb_xkb_sa_device_btn_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_device_btn_end (xcb_xkb_sa_device_btn_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_lock_device_btn_next |
| ** |
| ** @param xcb_xkb_sa_lock_device_btn_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_lock_device_btn_next (xcb_xkb_sa_lock_device_btn_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_lock_device_btn_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_lock_device_btn_end |
| ** |
| ** @param xcb_xkb_sa_lock_device_btn_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_lock_device_btn_end (xcb_xkb_sa_lock_device_btn_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sa_device_valuator_next |
| ** |
| ** @param xcb_xkb_sa_device_valuator_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sa_device_valuator_next (xcb_xkb_sa_device_valuator_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sa_device_valuator_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sa_device_valuator_end |
| ** |
| ** @param xcb_xkb_sa_device_valuator_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sa_device_valuator_end (xcb_xkb_sa_device_valuator_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_si_action_next |
| ** |
| ** @param xcb_xkb_si_action_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_si_action_next (xcb_xkb_si_action_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_si_action_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_si_action_end |
| ** |
| ** @param xcb_xkb_si_action_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_si_action_end (xcb_xkb_si_action_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_sym_interpret_next |
| ** |
| ** @param xcb_xkb_sym_interpret_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_sym_interpret_next (xcb_xkb_sym_interpret_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_sym_interpret_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_sym_interpret_end |
| ** |
| ** @param xcb_xkb_sym_interpret_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_sym_interpret_end (xcb_xkb_sym_interpret_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** void xcb_xkb_action_next |
| ** |
| ** @param xcb_xkb_action_iterator_t *i |
| ** @returns void |
| ** |
| *****************************************************************************/ |
| |
| void |
| xcb_xkb_action_next (xcb_xkb_action_iterator_t *i /**< */) |
| { |
| --i->rem; |
| ++i->data; |
| i->index += sizeof(xcb_xkb_action_t); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_action_end |
| ** |
| ** @param xcb_xkb_action_iterator_t i |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_action_end (xcb_xkb_action_iterator_t i /**< */) |
| { |
| xcb_generic_iterator_t ret; |
| ret.data = i.data + i.rem; |
| ret.index = i.index + ((char *) ret.data - (char *) i.data); |
| ret.rem = 0; |
| return ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension |
| ** |
| ** @param xcb_connection_t *c |
| ** @param uint16_t wantedMajor |
| ** @param uint16_t wantedMinor |
| ** @returns xcb_xkb_use_extension_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_use_extension_cookie_t |
| xcb_xkb_use_extension (xcb_connection_t *c /**< */, |
| uint16_t wantedMajor /**< */, |
| uint16_t wantedMinor /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_USE_EXTENSION, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_use_extension_cookie_t xcb_ret; |
| xcb_xkb_use_extension_request_t xcb_out; |
| |
| xcb_out.wantedMajor = wantedMajor; |
| xcb_out.wantedMinor = wantedMinor; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param uint16_t wantedMajor |
| ** @param uint16_t wantedMinor |
| ** @returns xcb_xkb_use_extension_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_use_extension_cookie_t |
| xcb_xkb_use_extension_unchecked (xcb_connection_t *c /**< */, |
| uint16_t wantedMajor /**< */, |
| uint16_t wantedMinor /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_USE_EXTENSION, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_use_extension_cookie_t xcb_ret; |
| xcb_xkb_use_extension_request_t xcb_out; |
| |
| xcb_out.wantedMajor = wantedMajor; |
| xcb_out.wantedMinor = wantedMinor; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_use_extension_reply_t * xcb_xkb_use_extension_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_use_extension_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_use_extension_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_use_extension_reply_t * |
| xcb_xkb_use_extension_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_use_extension_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_use_extension_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_select_events_details_serialize (void **_buffer /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */, |
| const xcb_xkb_select_events_details_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[23]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectNewKeyboard */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectNewKeyboard; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.newKeyboardDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->newKeyboardDetails; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_STATE_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectState */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectState; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.stateDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->stateDetails; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectCtrls */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectCtrls; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_select_events_details_t.ctrlDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->ctrlDetails; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectIndicatorState */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectIndicatorState; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_select_events_details_t.indicatorStateDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicatorStateDetails; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectIndicatorMap */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectIndicatorMap; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_select_events_details_t.indicatorMapDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicatorMapDetails; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NAMES_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectNames; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.namesDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->namesDetails; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectCompat */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectCompat; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_select_events_details_t.compatDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatDetails; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_BELL_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectBell */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectBell; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_select_events_details_t.bellDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->bellDetails; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACTION_MESSAGE) { |
| /* xcb_xkb_select_events_details_t.affectMsgDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectMsgDetails; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_select_events_details_t.msgDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->msgDetails; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectAccessX */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectAccessX; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.accessXDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->accessXDetails; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectExtDev */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectExtDev; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.extdevDetails */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->extdevDetails; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_select_events_details_unpack (const void *_buffer /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */, |
| xcb_xkb_select_events_details_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectNewKeyboard */ |
| _aux->affectNewKeyboard = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.newKeyboardDetails */ |
| _aux->newKeyboardDetails = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_STATE_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectState */ |
| _aux->affectState = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.stateDetails */ |
| _aux->stateDetails = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectCtrls */ |
| _aux->affectCtrls = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_select_events_details_t.ctrlDetails */ |
| _aux->ctrlDetails = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectIndicatorState */ |
| _aux->affectIndicatorState = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_select_events_details_t.indicatorStateDetails */ |
| _aux->indicatorStateDetails = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectIndicatorMap */ |
| _aux->affectIndicatorMap = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_select_events_details_t.indicatorMapDetails */ |
| _aux->indicatorMapDetails = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NAMES_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectNames */ |
| _aux->affectNames = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.namesDetails */ |
| _aux->namesDetails = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectCompat */ |
| _aux->affectCompat = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_select_events_details_t.compatDetails */ |
| _aux->compatDetails = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_BELL_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectBell */ |
| _aux->affectBell = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_select_events_details_t.bellDetails */ |
| _aux->bellDetails = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACTION_MESSAGE) { |
| /* xcb_xkb_select_events_details_t.affectMsgDetails */ |
| _aux->affectMsgDetails = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_select_events_details_t.msgDetails */ |
| _aux->msgDetails = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectAccessX */ |
| _aux->affectAccessX = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.accessXDetails */ |
| _aux->accessXDetails = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY) { |
| /* xcb_xkb_select_events_details_t.affectExtDev */ |
| _aux->affectExtDev = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_select_events_details_t.extdevDetails */ |
| _aux->extdevDetails = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_select_events_details_sizeof (const void *_buffer /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */) |
| { |
| xcb_xkb_select_events_details_t _aux; |
| return xcb_xkb_select_events_details_unpack(_buffer, affectWhich, clear, selectAll, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_select_events_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t affectWhich |
| ** @param uint16_t clear |
| ** @param uint16_t selectAll |
| ** @param uint16_t affectMap |
| ** @param uint16_t map |
| ** @param const void *details |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_select_events_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */, |
| uint16_t affectMap /**< */, |
| uint16_t map /**< */, |
| const void *details /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SELECT_EVENTS, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_select_events_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectWhich = affectWhich; |
| xcb_out.clear = clear; |
| xcb_out.selectAll = selectAll; |
| xcb_out.affectMap = affectMap; |
| xcb_out.map = map; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_select_events_details_t details */ |
| xcb_parts[4].iov_base = (char *) details; |
| xcb_parts[4].iov_len = |
| xcb_xkb_select_events_details_sizeof (details, affectWhich, clear, selectAll); |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_select_events |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t affectWhich |
| ** @param uint16_t clear |
| ** @param uint16_t selectAll |
| ** @param uint16_t affectMap |
| ** @param uint16_t map |
| ** @param const void *details |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_select_events (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */, |
| uint16_t affectMap /**< */, |
| uint16_t map /**< */, |
| const void *details /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SELECT_EVENTS, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_select_events_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectWhich = affectWhich; |
| xcb_out.clear = clear; |
| xcb_out.selectAll = selectAll; |
| xcb_out.affectMap = affectMap; |
| xcb_out.map = map; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_select_events_details_t details */ |
| xcb_parts[4].iov_base = (char *) details; |
| xcb_parts[4].iov_len = |
| xcb_xkb_select_events_details_sizeof (details, affectWhich, clear, selectAll); |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_select_events_aux_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t affectWhich |
| ** @param uint16_t clear |
| ** @param uint16_t selectAll |
| ** @param uint16_t affectMap |
| ** @param uint16_t map |
| ** @param const xcb_xkb_select_events_details_t *details |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_select_events_aux_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */, |
| uint16_t affectMap /**< */, |
| uint16_t map /**< */, |
| const xcb_xkb_select_events_details_t *details /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SELECT_EVENTS, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_select_events_request_t xcb_out; |
| void *xcb_aux0 = 0; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectWhich = affectWhich; |
| xcb_out.clear = clear; |
| xcb_out.selectAll = selectAll; |
| xcb_out.affectMap = affectMap; |
| xcb_out.map = map; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_select_events_details_t details */ |
| xcb_parts[4].iov_len = |
| xcb_xkb_select_events_details_serialize (&xcb_aux0, affectWhich, clear, selectAll, details); |
| xcb_parts[4].iov_base = xcb_aux0; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| free(xcb_aux0); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_select_events_aux |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t affectWhich |
| ** @param uint16_t clear |
| ** @param uint16_t selectAll |
| ** @param uint16_t affectMap |
| ** @param uint16_t map |
| ** @param const xcb_xkb_select_events_details_t *details |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_select_events_aux (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t affectWhich /**< */, |
| uint16_t clear /**< */, |
| uint16_t selectAll /**< */, |
| uint16_t affectMap /**< */, |
| uint16_t map /**< */, |
| const xcb_xkb_select_events_details_t *details /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SELECT_EVENTS, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_select_events_request_t xcb_out; |
| void *xcb_aux0 = 0; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectWhich = affectWhich; |
| xcb_out.clear = clear; |
| xcb_out.selectAll = selectAll; |
| xcb_out.affectMap = affectMap; |
| xcb_out.map = map; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_select_events_details_t details */ |
| xcb_parts[4].iov_len = |
| xcb_xkb_select_events_details_serialize (&xcb_aux0, affectWhich, clear, selectAll, details); |
| xcb_parts[4].iov_base = xcb_aux0; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| free(xcb_aux0); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_bell_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param xcb_xkb_bell_class_spec_t bellClass |
| ** @param xcb_xkb_id_spec_t bellID |
| ** @param int8_t percent |
| ** @param uint8_t forceSound |
| ** @param uint8_t eventOnly |
| ** @param int16_t pitch |
| ** @param int16_t duration |
| ** @param xcb_atom_t name |
| ** @param xcb_window_t window |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_bell_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| xcb_xkb_bell_class_spec_t bellClass /**< */, |
| xcb_xkb_id_spec_t bellID /**< */, |
| int8_t percent /**< */, |
| uint8_t forceSound /**< */, |
| uint8_t eventOnly /**< */, |
| int16_t pitch /**< */, |
| int16_t duration /**< */, |
| xcb_atom_t name /**< */, |
| xcb_window_t window /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_BELL, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_bell_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.bellClass = bellClass; |
| xcb_out.bellID = bellID; |
| xcb_out.percent = percent; |
| xcb_out.forceSound = forceSound; |
| xcb_out.eventOnly = eventOnly; |
| xcb_out.pad0 = 0; |
| xcb_out.pitch = pitch; |
| xcb_out.duration = duration; |
| memset(xcb_out.pad1, 0, 2); |
| xcb_out.name = name; |
| xcb_out.window = window; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_bell |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param xcb_xkb_bell_class_spec_t bellClass |
| ** @param xcb_xkb_id_spec_t bellID |
| ** @param int8_t percent |
| ** @param uint8_t forceSound |
| ** @param uint8_t eventOnly |
| ** @param int16_t pitch |
| ** @param int16_t duration |
| ** @param xcb_atom_t name |
| ** @param xcb_window_t window |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_bell (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| xcb_xkb_bell_class_spec_t bellClass /**< */, |
| xcb_xkb_id_spec_t bellID /**< */, |
| int8_t percent /**< */, |
| uint8_t forceSound /**< */, |
| uint8_t eventOnly /**< */, |
| int16_t pitch /**< */, |
| int16_t duration /**< */, |
| xcb_atom_t name /**< */, |
| xcb_window_t window /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_BELL, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_bell_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.bellClass = bellClass; |
| xcb_out.bellID = bellID; |
| xcb_out.percent = percent; |
| xcb_out.forceSound = forceSound; |
| xcb_out.eventOnly = eventOnly; |
| xcb_out.pad0 = 0; |
| xcb_out.pitch = pitch; |
| xcb_out.duration = duration; |
| memset(xcb_out.pad1, 0, 2); |
| xcb_out.name = name; |
| xcb_out.window = window; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @returns xcb_xkb_get_state_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_state_cookie_t |
| xcb_xkb_get_state (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_STATE, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_state_cookie_t xcb_ret; |
| xcb_xkb_get_state_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @returns xcb_xkb_get_state_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_state_cookie_t |
| xcb_xkb_get_state_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_STATE, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_state_cookie_t xcb_ret; |
| xcb_xkb_get_state_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_state_reply_t * xcb_xkb_get_state_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_state_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_state_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_state_reply_t * |
| xcb_xkb_get_state_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_state_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_latch_lock_state_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t affectModLocks |
| ** @param uint8_t modLocks |
| ** @param uint8_t lockGroup |
| ** @param uint8_t groupLock |
| ** @param uint8_t affectModLatches |
| ** @param uint8_t latchGroup |
| ** @param uint16_t groupLatch |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_latch_lock_state_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t affectModLocks /**< */, |
| uint8_t modLocks /**< */, |
| uint8_t lockGroup /**< */, |
| uint8_t groupLock /**< */, |
| uint8_t affectModLatches /**< */, |
| uint8_t latchGroup /**< */, |
| uint16_t groupLatch /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_LATCH_LOCK_STATE, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_latch_lock_state_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectModLocks = affectModLocks; |
| xcb_out.modLocks = modLocks; |
| xcb_out.lockGroup = lockGroup; |
| xcb_out.groupLock = groupLock; |
| xcb_out.affectModLatches = affectModLatches; |
| xcb_out.pad0 = 0; |
| xcb_out.latchGroup = latchGroup; |
| xcb_out.groupLatch = groupLatch; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_latch_lock_state |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t affectModLocks |
| ** @param uint8_t modLocks |
| ** @param uint8_t lockGroup |
| ** @param uint8_t groupLock |
| ** @param uint8_t affectModLatches |
| ** @param uint8_t latchGroup |
| ** @param uint16_t groupLatch |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_latch_lock_state (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t affectModLocks /**< */, |
| uint8_t modLocks /**< */, |
| uint8_t lockGroup /**< */, |
| uint8_t groupLock /**< */, |
| uint8_t affectModLatches /**< */, |
| uint8_t latchGroup /**< */, |
| uint16_t groupLatch /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_LATCH_LOCK_STATE, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_latch_lock_state_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectModLocks = affectModLocks; |
| xcb_out.modLocks = modLocks; |
| xcb_out.lockGroup = lockGroup; |
| xcb_out.groupLock = groupLock; |
| xcb_out.affectModLatches = affectModLatches; |
| xcb_out.pad0 = 0; |
| xcb_out.latchGroup = latchGroup; |
| xcb_out.groupLatch = groupLatch; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @returns xcb_xkb_get_controls_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_controls_cookie_t |
| xcb_xkb_get_controls (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_CONTROLS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_controls_cookie_t xcb_ret; |
| xcb_xkb_get_controls_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @returns xcb_xkb_get_controls_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_controls_cookie_t |
| xcb_xkb_get_controls_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_CONTROLS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_controls_cookie_t xcb_ret; |
| xcb_xkb_get_controls_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_controls_reply_t * xcb_xkb_get_controls_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_controls_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_controls_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_controls_reply_t * |
| xcb_xkb_get_controls_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_controls_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_controls_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_controls_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t affectInternalRealMods |
| ** @param uint8_t internalRealMods |
| ** @param uint8_t affectIgnoreLockRealMods |
| ** @param uint8_t ignoreLockRealMods |
| ** @param uint16_t affectInternalVirtualMods |
| ** @param uint16_t internalVirtualMods |
| ** @param uint16_t affectIgnoreLockVirtualMods |
| ** @param uint16_t ignoreLockVirtualMods |
| ** @param uint8_t mouseKeysDfltBtn |
| ** @param uint8_t groupsWrap |
| ** @param uint16_t accessXOptions |
| ** @param uint32_t affectEnabledControls |
| ** @param uint32_t enabledControls |
| ** @param uint32_t changeControls |
| ** @param uint16_t repeatDelay |
| ** @param uint16_t repeatInterval |
| ** @param uint16_t slowKeysDelay |
| ** @param uint16_t debounceDelay |
| ** @param uint16_t mouseKeysDelay |
| ** @param uint16_t mouseKeysInterval |
| ** @param uint16_t mouseKeysTimeToMax |
| ** @param uint16_t mouseKeysMaxSpeed |
| ** @param int16_t mouseKeysCurve |
| ** @param uint16_t accessXTimeout |
| ** @param uint32_t accessXTimeoutMask |
| ** @param uint32_t accessXTimeoutValues |
| ** @param uint16_t accessXTimeoutOptionsMask |
| ** @param uint16_t accessXTimeoutOptionsValues |
| ** @param const uint8_t *perKeyRepeat |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_controls_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t affectInternalRealMods /**< */, |
| uint8_t internalRealMods /**< */, |
| uint8_t affectIgnoreLockRealMods /**< */, |
| uint8_t ignoreLockRealMods /**< */, |
| uint16_t affectInternalVirtualMods /**< */, |
| uint16_t internalVirtualMods /**< */, |
| uint16_t affectIgnoreLockVirtualMods /**< */, |
| uint16_t ignoreLockVirtualMods /**< */, |
| uint8_t mouseKeysDfltBtn /**< */, |
| uint8_t groupsWrap /**< */, |
| uint16_t accessXOptions /**< */, |
| uint32_t affectEnabledControls /**< */, |
| uint32_t enabledControls /**< */, |
| uint32_t changeControls /**< */, |
| uint16_t repeatDelay /**< */, |
| uint16_t repeatInterval /**< */, |
| uint16_t slowKeysDelay /**< */, |
| uint16_t debounceDelay /**< */, |
| uint16_t mouseKeysDelay /**< */, |
| uint16_t mouseKeysInterval /**< */, |
| uint16_t mouseKeysTimeToMax /**< */, |
| uint16_t mouseKeysMaxSpeed /**< */, |
| int16_t mouseKeysCurve /**< */, |
| uint16_t accessXTimeout /**< */, |
| uint32_t accessXTimeoutMask /**< */, |
| uint32_t accessXTimeoutValues /**< */, |
| uint16_t accessXTimeoutOptionsMask /**< */, |
| uint16_t accessXTimeoutOptionsValues /**< */, |
| const uint8_t *perKeyRepeat /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_CONTROLS, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_controls_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectInternalRealMods = affectInternalRealMods; |
| xcb_out.internalRealMods = internalRealMods; |
| xcb_out.affectIgnoreLockRealMods = affectIgnoreLockRealMods; |
| xcb_out.ignoreLockRealMods = ignoreLockRealMods; |
| xcb_out.affectInternalVirtualMods = affectInternalVirtualMods; |
| xcb_out.internalVirtualMods = internalVirtualMods; |
| xcb_out.affectIgnoreLockVirtualMods = affectIgnoreLockVirtualMods; |
| xcb_out.ignoreLockVirtualMods = ignoreLockVirtualMods; |
| xcb_out.mouseKeysDfltBtn = mouseKeysDfltBtn; |
| xcb_out.groupsWrap = groupsWrap; |
| xcb_out.accessXOptions = accessXOptions; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.affectEnabledControls = affectEnabledControls; |
| xcb_out.enabledControls = enabledControls; |
| xcb_out.changeControls = changeControls; |
| xcb_out.repeatDelay = repeatDelay; |
| xcb_out.repeatInterval = repeatInterval; |
| xcb_out.slowKeysDelay = slowKeysDelay; |
| xcb_out.debounceDelay = debounceDelay; |
| xcb_out.mouseKeysDelay = mouseKeysDelay; |
| xcb_out.mouseKeysInterval = mouseKeysInterval; |
| xcb_out.mouseKeysTimeToMax = mouseKeysTimeToMax; |
| xcb_out.mouseKeysMaxSpeed = mouseKeysMaxSpeed; |
| xcb_out.mouseKeysCurve = mouseKeysCurve; |
| xcb_out.accessXTimeout = accessXTimeout; |
| xcb_out.accessXTimeoutMask = accessXTimeoutMask; |
| xcb_out.accessXTimeoutValues = accessXTimeoutValues; |
| xcb_out.accessXTimeoutOptionsMask = accessXTimeoutOptionsMask; |
| xcb_out.accessXTimeoutOptionsValues = accessXTimeoutOptionsValues; |
| memcpy(xcb_out.perKeyRepeat, perKeyRepeat, 32); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_controls |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t affectInternalRealMods |
| ** @param uint8_t internalRealMods |
| ** @param uint8_t affectIgnoreLockRealMods |
| ** @param uint8_t ignoreLockRealMods |
| ** @param uint16_t affectInternalVirtualMods |
| ** @param uint16_t internalVirtualMods |
| ** @param uint16_t affectIgnoreLockVirtualMods |
| ** @param uint16_t ignoreLockVirtualMods |
| ** @param uint8_t mouseKeysDfltBtn |
| ** @param uint8_t groupsWrap |
| ** @param uint16_t accessXOptions |
| ** @param uint32_t affectEnabledControls |
| ** @param uint32_t enabledControls |
| ** @param uint32_t changeControls |
| ** @param uint16_t repeatDelay |
| ** @param uint16_t repeatInterval |
| ** @param uint16_t slowKeysDelay |
| ** @param uint16_t debounceDelay |
| ** @param uint16_t mouseKeysDelay |
| ** @param uint16_t mouseKeysInterval |
| ** @param uint16_t mouseKeysTimeToMax |
| ** @param uint16_t mouseKeysMaxSpeed |
| ** @param int16_t mouseKeysCurve |
| ** @param uint16_t accessXTimeout |
| ** @param uint32_t accessXTimeoutMask |
| ** @param uint32_t accessXTimeoutValues |
| ** @param uint16_t accessXTimeoutOptionsMask |
| ** @param uint16_t accessXTimeoutOptionsValues |
| ** @param const uint8_t *perKeyRepeat |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_controls (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t affectInternalRealMods /**< */, |
| uint8_t internalRealMods /**< */, |
| uint8_t affectIgnoreLockRealMods /**< */, |
| uint8_t ignoreLockRealMods /**< */, |
| uint16_t affectInternalVirtualMods /**< */, |
| uint16_t internalVirtualMods /**< */, |
| uint16_t affectIgnoreLockVirtualMods /**< */, |
| uint16_t ignoreLockVirtualMods /**< */, |
| uint8_t mouseKeysDfltBtn /**< */, |
| uint8_t groupsWrap /**< */, |
| uint16_t accessXOptions /**< */, |
| uint32_t affectEnabledControls /**< */, |
| uint32_t enabledControls /**< */, |
| uint32_t changeControls /**< */, |
| uint16_t repeatDelay /**< */, |
| uint16_t repeatInterval /**< */, |
| uint16_t slowKeysDelay /**< */, |
| uint16_t debounceDelay /**< */, |
| uint16_t mouseKeysDelay /**< */, |
| uint16_t mouseKeysInterval /**< */, |
| uint16_t mouseKeysTimeToMax /**< */, |
| uint16_t mouseKeysMaxSpeed /**< */, |
| int16_t mouseKeysCurve /**< */, |
| uint16_t accessXTimeout /**< */, |
| uint32_t accessXTimeoutMask /**< */, |
| uint32_t accessXTimeoutValues /**< */, |
| uint16_t accessXTimeoutOptionsMask /**< */, |
| uint16_t accessXTimeoutOptionsValues /**< */, |
| const uint8_t *perKeyRepeat /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_CONTROLS, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_controls_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.affectInternalRealMods = affectInternalRealMods; |
| xcb_out.internalRealMods = internalRealMods; |
| xcb_out.affectIgnoreLockRealMods = affectIgnoreLockRealMods; |
| xcb_out.ignoreLockRealMods = ignoreLockRealMods; |
| xcb_out.affectInternalVirtualMods = affectInternalVirtualMods; |
| xcb_out.internalVirtualMods = internalVirtualMods; |
| xcb_out.affectIgnoreLockVirtualMods = affectIgnoreLockVirtualMods; |
| xcb_out.ignoreLockVirtualMods = ignoreLockVirtualMods; |
| xcb_out.mouseKeysDfltBtn = mouseKeysDfltBtn; |
| xcb_out.groupsWrap = groupsWrap; |
| xcb_out.accessXOptions = accessXOptions; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.affectEnabledControls = affectEnabledControls; |
| xcb_out.enabledControls = enabledControls; |
| xcb_out.changeControls = changeControls; |
| xcb_out.repeatDelay = repeatDelay; |
| xcb_out.repeatInterval = repeatInterval; |
| xcb_out.slowKeysDelay = slowKeysDelay; |
| xcb_out.debounceDelay = debounceDelay; |
| xcb_out.mouseKeysDelay = mouseKeysDelay; |
| xcb_out.mouseKeysInterval = mouseKeysInterval; |
| xcb_out.mouseKeysTimeToMax = mouseKeysTimeToMax; |
| xcb_out.mouseKeysMaxSpeed = mouseKeysMaxSpeed; |
| xcb_out.mouseKeysCurve = mouseKeysCurve; |
| xcb_out.accessXTimeout = accessXTimeout; |
| xcb_out.accessXTimeoutMask = accessXTimeoutMask; |
| xcb_out.accessXTimeoutValues = accessXTimeoutValues; |
| xcb_out.accessXTimeoutOptionsMask = accessXTimeoutOptionsMask; |
| xcb_out.accessXTimeoutOptionsValues = accessXTimeoutOptionsValues; |
| memcpy(xcb_out.perKeyRepeat, perKeyRepeat, 32); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_types_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_types_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_type_iterator_t xcb_xkb_get_map_map_types_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_key_type_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_type_iterator_t |
| xcb_xkb_get_map_map_types_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_key_type_iterator_t i; |
| i.data = /* map */ S->types_rtrn; |
| i.rem = R->nTypes; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_syms_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_syms_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->nKeySyms; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_map_map_syms_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_key_sym_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_sym_map_iterator_t |
| xcb_xkb_get_map_map_syms_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_key_sym_map_iterator_t i; |
| i.data = /* map */ S->syms_rtrn; |
| i.rem = R->nKeySyms; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_map_map_acts_rtrn_count |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_map_map_acts_rtrn_count (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->acts_rtrn_count; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_acts_rtrn_count_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_acts_rtrn_count_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->nKeyActions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_map_map_acts_rtrn_count_end |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_map_map_acts_rtrn_count_end (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* map */ S->acts_rtrn_count + R->nKeyActions; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_map_map_alignment_pad |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_map_map_alignment_pad (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->alignment_pad; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_alignment_pad_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_alignment_pad_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return (((R->nKeyActions + 3) & (~3)) - R->nKeyActions); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_end |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_map_map_alignment_pad_end (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* map */ S->alignment_pad + (((R->nKeyActions + 3) & (~3)) - R->nKeyActions); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_t * xcb_xkb_get_map_map_acts_rtrn_acts |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns xcb_xkb_action_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_t * |
| xcb_xkb_get_map_map_acts_rtrn_acts (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->acts_rtrn_acts; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_acts_rtrn_acts_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_acts_rtrn_acts_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->totalActions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_iterator_t xcb_xkb_get_map_map_acts_rtrn_acts_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_action_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_iterator_t |
| xcb_xkb_get_map_map_acts_rtrn_acts_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_action_iterator_t i; |
| i.data = /* map */ S->acts_rtrn_acts; |
| i.rem = R->totalActions; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_behavior_t * xcb_xkb_get_map_map_behaviors_rtrn |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns xcb_xkb_set_behavior_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_behavior_t * |
| xcb_xkb_get_map_map_behaviors_rtrn (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->behaviors_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_behaviors_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_behaviors_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->totalKeyBehaviors; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_map_map_behaviors_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_set_behavior_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_behavior_iterator_t |
| xcb_xkb_get_map_map_behaviors_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_set_behavior_iterator_t i; |
| i.data = /* map */ S->behaviors_rtrn; |
| i.rem = R->totalKeyBehaviors; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_map_map_vmods_rtrn |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_map_map_vmods_rtrn (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->vmods_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_vmods_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_vmods_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return xcb_popcount(R->virtualMods); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_map_map_vmods_rtrn_end |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_map_map_vmods_rtrn_end (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* map */ S->vmods_rtrn + xcb_popcount(R->virtualMods); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_map_map_alignment_pad_2 |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_map_map_alignment_pad_2 (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->alignment_pad2; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_alignment_pad_2_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_alignment_pad_2_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return (((xcb_popcount(R->virtualMods) + 3) & (~3)) - xcb_popcount(R->virtualMods)); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_2_end |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_map_map_alignment_pad_2_end (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* map */ S->alignment_pad2 + (((xcb_popcount(R->virtualMods) + 3) & (~3)) - xcb_popcount(R->virtualMods)); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_explicit_t * xcb_xkb_get_map_map_explicit_rtrn |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns xcb_xkb_set_explicit_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_explicit_t * |
| xcb_xkb_get_map_map_explicit_rtrn (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->explicit_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_explicit_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_explicit_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->totalKeyExplicit; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_map_map_explicit_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_set_explicit_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_explicit_iterator_t |
| xcb_xkb_get_map_map_explicit_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_set_explicit_iterator_t i; |
| i.data = /* map */ S->explicit_rtrn; |
| i.rem = R->totalKeyExplicit; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint16_t * xcb_xkb_get_map_map_alignment_pad_3 |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns uint16_t * |
| ** |
| *****************************************************************************/ |
| |
| uint16_t * |
| xcb_xkb_get_map_map_alignment_pad_3 (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->alignment_pad3; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_alignment_pad_3_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_alignment_pad_3_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return (((R->totalKeyExplicit + 1) & (~1)) - R->totalKeyExplicit); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_3_end |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_map_map_alignment_pad_3_end (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* map */ S->alignment_pad3 + (((R->totalKeyExplicit + 1) & (~1)) - R->totalKeyExplicit); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_mod_map_t * xcb_xkb_get_map_map_modmap_rtrn |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns xcb_xkb_key_mod_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_mod_map_t * |
| xcb_xkb_get_map_map_modmap_rtrn (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->modmap_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_modmap_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_modmap_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->totalModMapKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_map_map_modmap_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_key_mod_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_mod_map_iterator_t |
| xcb_xkb_get_map_map_modmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_key_mod_map_iterator_t i; |
| i.data = /* map */ S->modmap_rtrn; |
| i.rem = R->totalModMapKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint16_t * xcb_xkb_get_map_map_alignment_pad_4 |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns uint16_t * |
| ** |
| *****************************************************************************/ |
| |
| uint16_t * |
| xcb_xkb_get_map_map_alignment_pad_4 (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->alignment_pad4; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_alignment_pad_4_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_alignment_pad_4_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return (((R->totalModMapKeys + 1) & (~1)) - R->totalModMapKeys); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_4_end |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_map_map_alignment_pad_4_end (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* map */ S->alignment_pad4 + (((R->totalModMapKeys + 1) & (~1)) - R->totalModMapKeys); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_map_map_vmodmap_rtrn |
| ** |
| ** @param const xcb_xkb_get_map_map_t *S |
| ** @returns xcb_xkb_key_v_mod_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_v_mod_map_t * |
| xcb_xkb_get_map_map_vmodmap_rtrn (const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return /* map */ S->vmodmap_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_map_map_vmodmap_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_map_map_vmodmap_rtrn_length (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| return R->totalVModMapKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_map_map_vmodmap_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_map_map_t *R |
| ** @returns xcb_xkb_key_v_mod_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_v_mod_map_iterator_t |
| xcb_xkb_get_map_map_vmodmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R /**< */, |
| const xcb_xkb_get_map_map_t *S /**< */) |
| { |
| xcb_xkb_key_v_mod_map_iterator_t i; |
| i.data = /* map */ S->vmodmap_rtrn; |
| i.rem = R->totalVModMapKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| int |
| xcb_xkb_get_map_map_serialize (void **_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */, |
| const xcb_xkb_get_map_map_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[27]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if(present & XCB_XKB_MAP_PART_KEY_TYPES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types_rtrn; |
| xcb_parts[xcb_parts_idx].iov_len = 0; |
| xcb_tmp = (char *) _aux->types_rtrn; |
| for(i=0; i<nTypes; i++) { |
| xcb_block_len = xcb_xkb_key_type_sizeof(xcb_tmp); |
| xcb_parts[xcb_parts_idx].iov_len += xcb_block_len; |
| } |
| xcb_block_len = xcb_parts[xcb_parts_idx].iov_len; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_type_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_SYMS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* syms_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms_rtrn; |
| xcb_parts[xcb_parts_idx].iov_len = 0; |
| xcb_tmp = (char *) _aux->syms_rtrn; |
| for(i=0; i<nKeySyms; i++) { |
| xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp); |
| xcb_parts[xcb_parts_idx].iov_len += xcb_block_len; |
| } |
| xcb_block_len = xcb_parts[xcb_parts_idx].iov_len; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_count */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_count; |
| xcb_block_len += nKeyActions * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad; |
| xcb_block_len += (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_acts */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_acts; |
| xcb_block_len += totalActions * sizeof(xcb_xkb_action_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* behaviors_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors_rtrn; |
| xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmods_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods_rtrn; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad2 */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad2; |
| xcb_block_len += (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* explicit_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit_rtrn; |
| xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad3 */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad3; |
| xcb_block_len += (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* modmap_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap_rtrn; |
| xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad4 */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad4; |
| xcb_block_len += (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmodmap_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap_rtrn; |
| xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_map_map_unpack (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */, |
| xcb_xkb_get_map_map_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| if(present & XCB_XKB_MAP_PART_KEY_TYPES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types_rtrn */ |
| _aux->types_rtrn = (xcb_xkb_key_type_t *)xcb_tmp; |
| for(i=0; i<nTypes; i++) { |
| xcb_tmp_len = xcb_xkb_key_type_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_key_type_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_SYMS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* syms_rtrn */ |
| _aux->syms_rtrn = (xcb_xkb_key_sym_map_t *)xcb_tmp; |
| for(i=0; i<nKeySyms; i++) { |
| xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_count */ |
| _aux->acts_rtrn_count = (uint8_t *)xcb_tmp; |
| xcb_block_len += nKeyActions * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad */ |
| _aux->alignment_pad = (uint8_t *)xcb_tmp; |
| xcb_block_len += (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_acts */ |
| _aux->acts_rtrn_acts = (xcb_xkb_action_t *)xcb_tmp; |
| xcb_block_len += totalActions * sizeof(xcb_xkb_action_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* behaviors_rtrn */ |
| _aux->behaviors_rtrn = (xcb_xkb_set_behavior_t *)xcb_tmp; |
| xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmods_rtrn */ |
| _aux->vmods_rtrn = (uint8_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad2 */ |
| _aux->alignment_pad2 = (uint8_t *)xcb_tmp; |
| xcb_block_len += (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* explicit_rtrn */ |
| _aux->explicit_rtrn = (xcb_xkb_set_explicit_t *)xcb_tmp; |
| xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad3 */ |
| _aux->alignment_pad3 = (uint16_t *)xcb_tmp; |
| xcb_block_len += (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* modmap_rtrn */ |
| _aux->modmap_rtrn = (xcb_xkb_key_mod_map_t *)xcb_tmp; |
| xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad4 */ |
| _aux->alignment_pad4 = (uint16_t *)xcb_tmp; |
| xcb_block_len += (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint16_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmodmap_rtrn */ |
| _aux->vmodmap_rtrn = (xcb_xkb_key_v_mod_map_t *)xcb_tmp; |
| xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_map_map_sizeof (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */) |
| { |
| xcb_xkb_get_map_map_t _aux; |
| return xcb_xkb_get_map_map_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t full |
| ** @param uint16_t partial |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param xcb_keycode_t firstKeySym |
| ** @param uint8_t nKeySyms |
| ** @param xcb_keycode_t firstKeyAction |
| ** @param uint8_t nKeyActions |
| ** @param xcb_keycode_t firstKeyBehavior |
| ** @param uint8_t nKeyBehaviors |
| ** @param uint16_t virtualMods |
| ** @param xcb_keycode_t firstKeyExplicit |
| ** @param uint8_t nKeyExplicit |
| ** @param xcb_keycode_t firstModMapKey |
| ** @param uint8_t nModMapKeys |
| ** @param xcb_keycode_t firstVModMapKey |
| ** @param uint8_t nVModMapKeys |
| ** @returns xcb_xkb_get_map_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_map_cookie_t |
| xcb_xkb_get_map (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t full /**< */, |
| uint16_t partial /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| xcb_keycode_t firstKeySym /**< */, |
| uint8_t nKeySyms /**< */, |
| xcb_keycode_t firstKeyAction /**< */, |
| uint8_t nKeyActions /**< */, |
| xcb_keycode_t firstKeyBehavior /**< */, |
| uint8_t nKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| xcb_keycode_t firstKeyExplicit /**< */, |
| uint8_t nKeyExplicit /**< */, |
| xcb_keycode_t firstModMapKey /**< */, |
| uint8_t nModMapKeys /**< */, |
| xcb_keycode_t firstVModMapKey /**< */, |
| uint8_t nVModMapKeys /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_MAP, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_map_cookie_t xcb_ret; |
| xcb_xkb_get_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.full = full; |
| xcb_out.partial = partial; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKeySym = firstKeySym; |
| xcb_out.nKeySyms = nKeySyms; |
| xcb_out.firstKeyAction = firstKeyAction; |
| xcb_out.nKeyActions = nKeyActions; |
| xcb_out.firstKeyBehavior = firstKeyBehavior; |
| xcb_out.nKeyBehaviors = nKeyBehaviors; |
| xcb_out.virtualMods = virtualMods; |
| xcb_out.firstKeyExplicit = firstKeyExplicit; |
| xcb_out.nKeyExplicit = nKeyExplicit; |
| xcb_out.firstModMapKey = firstModMapKey; |
| xcb_out.nModMapKeys = nModMapKeys; |
| xcb_out.firstVModMapKey = firstVModMapKey; |
| xcb_out.nVModMapKeys = nVModMapKeys; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t full |
| ** @param uint16_t partial |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param xcb_keycode_t firstKeySym |
| ** @param uint8_t nKeySyms |
| ** @param xcb_keycode_t firstKeyAction |
| ** @param uint8_t nKeyActions |
| ** @param xcb_keycode_t firstKeyBehavior |
| ** @param uint8_t nKeyBehaviors |
| ** @param uint16_t virtualMods |
| ** @param xcb_keycode_t firstKeyExplicit |
| ** @param uint8_t nKeyExplicit |
| ** @param xcb_keycode_t firstModMapKey |
| ** @param uint8_t nModMapKeys |
| ** @param xcb_keycode_t firstVModMapKey |
| ** @param uint8_t nVModMapKeys |
| ** @returns xcb_xkb_get_map_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_map_cookie_t |
| xcb_xkb_get_map_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t full /**< */, |
| uint16_t partial /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| xcb_keycode_t firstKeySym /**< */, |
| uint8_t nKeySyms /**< */, |
| xcb_keycode_t firstKeyAction /**< */, |
| uint8_t nKeyActions /**< */, |
| xcb_keycode_t firstKeyBehavior /**< */, |
| uint8_t nKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| xcb_keycode_t firstKeyExplicit /**< */, |
| uint8_t nKeyExplicit /**< */, |
| xcb_keycode_t firstModMapKey /**< */, |
| uint8_t nModMapKeys /**< */, |
| xcb_keycode_t firstVModMapKey /**< */, |
| uint8_t nVModMapKeys /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_MAP, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_map_cookie_t xcb_ret; |
| xcb_xkb_get_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.full = full; |
| xcb_out.partial = partial; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKeySym = firstKeySym; |
| xcb_out.nKeySyms = nKeySyms; |
| xcb_out.firstKeyAction = firstKeyAction; |
| xcb_out.nKeyActions = nKeyActions; |
| xcb_out.firstKeyBehavior = firstKeyBehavior; |
| xcb_out.nKeyBehaviors = nKeyBehaviors; |
| xcb_out.virtualMods = virtualMods; |
| xcb_out.firstKeyExplicit = firstKeyExplicit; |
| xcb_out.nKeyExplicit = nKeyExplicit; |
| xcb_out.firstModMapKey = firstModMapKey; |
| xcb_out.nModMapKeys = nModMapKeys; |
| xcb_out.firstVModMapKey = firstVModMapKey; |
| xcb_out.nVModMapKeys = nVModMapKeys; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_map_map_t * xcb_xkb_get_map_map |
| ** |
| ** @param const xcb_xkb_get_map_reply_t *R |
| ** @returns xcb_xkb_get_map_map_t * |
| ** |
| *****************************************************************************/ |
| |
| void * |
| xcb_xkb_get_map_map (const xcb_xkb_get_map_reply_t *R /**< */) |
| { |
| return (void *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_map_reply_t * xcb_xkb_get_map_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_map_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_map_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_map_reply_t * |
| xcb_xkb_get_map_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_map_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_types_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_types_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_key_type_iterator_t xcb_xkb_set_map_values_types_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_set_key_type_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_key_type_iterator_t |
| xcb_xkb_set_map_values_types_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_set_key_type_iterator_t i; |
| i.data = /* values */ S->types; |
| i.rem = R->nTypes; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_syms_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_syms_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->nKeySyms; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_set_map_values_syms_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_key_sym_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_sym_map_iterator_t |
| xcb_xkb_set_map_values_syms_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_key_sym_map_iterator_t i; |
| i.data = /* values */ S->syms; |
| i.rem = R->nKeySyms; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_set_map_values_actions_count |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_set_map_values_actions_count (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->actionsCount; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_actions_count_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_actions_count_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->nKeyActions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_map_values_actions_count_end |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_map_values_actions_count_end (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->actionsCount + R->nKeyActions; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_t * xcb_xkb_set_map_values_actions |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns xcb_xkb_action_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_t * |
| xcb_xkb_set_map_values_actions (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->actions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_actions_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_actions_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->totalActions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_iterator_t xcb_xkb_set_map_values_actions_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_action_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_iterator_t |
| xcb_xkb_set_map_values_actions_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_action_iterator_t i; |
| i.data = /* values */ S->actions; |
| i.rem = R->totalActions; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_behavior_t * xcb_xkb_set_map_values_behaviors |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns xcb_xkb_set_behavior_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_behavior_t * |
| xcb_xkb_set_map_values_behaviors (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->behaviors; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_behaviors_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_behaviors_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->totalKeyBehaviors; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_behavior_iterator_t xcb_xkb_set_map_values_behaviors_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_set_behavior_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_behavior_iterator_t |
| xcb_xkb_set_map_values_behaviors_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_set_behavior_iterator_t i; |
| i.data = /* values */ S->behaviors; |
| i.rem = R->totalKeyBehaviors; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_set_map_values_vmods |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_set_map_values_vmods (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->vmods; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_vmods_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_vmods_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return xcb_popcount(R->virtualMods); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_map_values_vmods_end |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_map_values_vmods_end (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->vmods + xcb_popcount(R->virtualMods); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_explicit_t * xcb_xkb_set_map_values_explicit |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns xcb_xkb_set_explicit_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_explicit_t * |
| xcb_xkb_set_map_values_explicit (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->explicit; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_explicit_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_explicit_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->totalKeyExplicit; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_explicit_iterator_t xcb_xkb_set_map_values_explicit_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_set_explicit_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_explicit_iterator_t |
| xcb_xkb_set_map_values_explicit_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_set_explicit_iterator_t i; |
| i.data = /* values */ S->explicit; |
| i.rem = R->totalKeyExplicit; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_mod_map_t * xcb_xkb_set_map_values_modmap |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns xcb_xkb_key_mod_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_mod_map_t * |
| xcb_xkb_set_map_values_modmap (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->modmap; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_modmap_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_modmap_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->totalModMapKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_set_map_values_modmap_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_key_mod_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_mod_map_iterator_t |
| xcb_xkb_set_map_values_modmap_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_key_mod_map_iterator_t i; |
| i.data = /* values */ S->modmap; |
| i.rem = R->totalModMapKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_v_mod_map_t * xcb_xkb_set_map_values_vmodmap |
| ** |
| ** @param const xcb_xkb_set_map_values_t *S |
| ** @returns xcb_xkb_key_v_mod_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_v_mod_map_t * |
| xcb_xkb_set_map_values_vmodmap (const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return /* values */ S->vmodmap; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_map_values_vmodmap_length |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_map_values_vmodmap_length (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| return R->totalVModMapKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_set_map_values_vmodmap_iterator |
| ** |
| ** @param const xcb_xkb_set_map_values_t *R |
| ** @returns xcb_xkb_key_v_mod_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_v_mod_map_iterator_t |
| xcb_xkb_set_map_values_vmodmap_iterator (const xcb_xkb_set_map_request_t *R /**< */, |
| const xcb_xkb_set_map_values_t *S /**< */) |
| { |
| xcb_xkb_key_v_mod_map_iterator_t i; |
| i.data = /* values */ S->vmodmap; |
| i.rem = R->totalVModMapKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| int |
| xcb_xkb_set_map_values_serialize (void **_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */, |
| const xcb_xkb_set_map_values_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[19]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if(present & XCB_XKB_MAP_PART_KEY_TYPES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types; |
| xcb_parts[xcb_parts_idx].iov_len = 0; |
| xcb_tmp = (char *) _aux->types; |
| for(i=0; i<nTypes; i++) { |
| xcb_block_len = xcb_xkb_set_key_type_sizeof(xcb_tmp); |
| xcb_parts[xcb_parts_idx].iov_len += xcb_block_len; |
| } |
| xcb_block_len = xcb_parts[xcb_parts_idx].iov_len; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_key_type_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_SYMS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* syms */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms; |
| xcb_parts[xcb_parts_idx].iov_len = 0; |
| xcb_tmp = (char *) _aux->syms; |
| for(i=0; i<nKeySyms; i++) { |
| xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp); |
| xcb_parts[xcb_parts_idx].iov_len += xcb_block_len; |
| } |
| xcb_block_len = xcb_parts[xcb_parts_idx].iov_len; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* actionsCount */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->actionsCount; |
| xcb_block_len += nKeyActions * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* actions */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->actions; |
| xcb_block_len += totalActions * sizeof(xcb_xkb_action_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* behaviors */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors; |
| xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmods */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* explicit */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit; |
| xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t); |
| } |
| if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* modmap */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap; |
| xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmodmap */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap; |
| xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_set_map_values_unpack (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */, |
| xcb_xkb_set_map_values_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| if(present & XCB_XKB_MAP_PART_KEY_TYPES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types */ |
| _aux->types = (xcb_xkb_set_key_type_t *)xcb_tmp; |
| for(i=0; i<nTypes; i++) { |
| xcb_tmp_len = xcb_xkb_set_key_type_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_set_key_type_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_SYMS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* syms */ |
| _aux->syms = (xcb_xkb_key_sym_map_t *)xcb_tmp; |
| for(i=0; i<nKeySyms; i++) { |
| xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* actionsCount */ |
| _aux->actionsCount = (uint8_t *)xcb_tmp; |
| xcb_block_len += nKeyActions * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* actions */ |
| _aux->actions = (xcb_xkb_action_t *)xcb_tmp; |
| xcb_block_len += totalActions * sizeof(xcb_xkb_action_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* behaviors */ |
| _aux->behaviors = (xcb_xkb_set_behavior_t *)xcb_tmp; |
| xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmods */ |
| _aux->vmods = (uint8_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* explicit */ |
| _aux->explicit = (xcb_xkb_set_explicit_t *)xcb_tmp; |
| xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t); |
| } |
| if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* modmap */ |
| _aux->modmap = (xcb_xkb_key_mod_map_t *)xcb_tmp; |
| xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmodmap */ |
| _aux->vmodmap = (xcb_xkb_key_v_mod_map_t *)xcb_tmp; |
| xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_set_map_values_sizeof (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */) |
| { |
| xcb_xkb_set_map_values_t _aux; |
| return xcb_xkb_set_map_values_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_map_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t present |
| ** @param uint16_t flags |
| ** @param xcb_keycode_t minKeyCode |
| ** @param xcb_keycode_t maxKeyCode |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param xcb_keycode_t firstKeySym |
| ** @param uint8_t nKeySyms |
| ** @param uint16_t totalSyms |
| ** @param xcb_keycode_t firstKeyAction |
| ** @param uint8_t nKeyActions |
| ** @param uint16_t totalActions |
| ** @param xcb_keycode_t firstKeyBehavior |
| ** @param uint8_t nKeyBehaviors |
| ** @param uint8_t totalKeyBehaviors |
| ** @param xcb_keycode_t firstKeyExplicit |
| ** @param uint8_t nKeyExplicit |
| ** @param uint8_t totalKeyExplicit |
| ** @param xcb_keycode_t firstModMapKey |
| ** @param uint8_t nModMapKeys |
| ** @param uint8_t totalModMapKeys |
| ** @param xcb_keycode_t firstVModMapKey |
| ** @param uint8_t nVModMapKeys |
| ** @param uint8_t totalVModMapKeys |
| ** @param uint16_t virtualMods |
| ** @param const void *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_map_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t present /**< */, |
| uint16_t flags /**< */, |
| xcb_keycode_t minKeyCode /**< */, |
| xcb_keycode_t maxKeyCode /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| xcb_keycode_t firstKeySym /**< */, |
| uint8_t nKeySyms /**< */, |
| uint16_t totalSyms /**< */, |
| xcb_keycode_t firstKeyAction /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| xcb_keycode_t firstKeyBehavior /**< */, |
| uint8_t nKeyBehaviors /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| xcb_keycode_t firstKeyExplicit /**< */, |
| uint8_t nKeyExplicit /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| xcb_keycode_t firstModMapKey /**< */, |
| uint8_t nModMapKeys /**< */, |
| uint8_t totalModMapKeys /**< */, |
| xcb_keycode_t firstVModMapKey /**< */, |
| uint8_t nVModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t virtualMods /**< */, |
| const void *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.present = present; |
| xcb_out.flags = flags; |
| xcb_out.minKeyCode = minKeyCode; |
| xcb_out.maxKeyCode = maxKeyCode; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKeySym = firstKeySym; |
| xcb_out.nKeySyms = nKeySyms; |
| xcb_out.totalSyms = totalSyms; |
| xcb_out.firstKeyAction = firstKeyAction; |
| xcb_out.nKeyActions = nKeyActions; |
| xcb_out.totalActions = totalActions; |
| xcb_out.firstKeyBehavior = firstKeyBehavior; |
| xcb_out.nKeyBehaviors = nKeyBehaviors; |
| xcb_out.totalKeyBehaviors = totalKeyBehaviors; |
| xcb_out.firstKeyExplicit = firstKeyExplicit; |
| xcb_out.nKeyExplicit = nKeyExplicit; |
| xcb_out.totalKeyExplicit = totalKeyExplicit; |
| xcb_out.firstModMapKey = firstModMapKey; |
| xcb_out.nModMapKeys = nModMapKeys; |
| xcb_out.totalModMapKeys = totalModMapKeys; |
| xcb_out.firstVModMapKey = firstVModMapKey; |
| xcb_out.nVModMapKeys = nVModMapKeys; |
| xcb_out.totalVModMapKeys = totalVModMapKeys; |
| xcb_out.virtualMods = virtualMods; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_map_values_t values */ |
| xcb_parts[4].iov_base = (char *) values; |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_map_values_sizeof (values, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present); |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_map |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t present |
| ** @param uint16_t flags |
| ** @param xcb_keycode_t minKeyCode |
| ** @param xcb_keycode_t maxKeyCode |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param xcb_keycode_t firstKeySym |
| ** @param uint8_t nKeySyms |
| ** @param uint16_t totalSyms |
| ** @param xcb_keycode_t firstKeyAction |
| ** @param uint8_t nKeyActions |
| ** @param uint16_t totalActions |
| ** @param xcb_keycode_t firstKeyBehavior |
| ** @param uint8_t nKeyBehaviors |
| ** @param uint8_t totalKeyBehaviors |
| ** @param xcb_keycode_t firstKeyExplicit |
| ** @param uint8_t nKeyExplicit |
| ** @param uint8_t totalKeyExplicit |
| ** @param xcb_keycode_t firstModMapKey |
| ** @param uint8_t nModMapKeys |
| ** @param uint8_t totalModMapKeys |
| ** @param xcb_keycode_t firstVModMapKey |
| ** @param uint8_t nVModMapKeys |
| ** @param uint8_t totalVModMapKeys |
| ** @param uint16_t virtualMods |
| ** @param const void *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_map (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t present /**< */, |
| uint16_t flags /**< */, |
| xcb_keycode_t minKeyCode /**< */, |
| xcb_keycode_t maxKeyCode /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| xcb_keycode_t firstKeySym /**< */, |
| uint8_t nKeySyms /**< */, |
| uint16_t totalSyms /**< */, |
| xcb_keycode_t firstKeyAction /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| xcb_keycode_t firstKeyBehavior /**< */, |
| uint8_t nKeyBehaviors /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| xcb_keycode_t firstKeyExplicit /**< */, |
| uint8_t nKeyExplicit /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| xcb_keycode_t firstModMapKey /**< */, |
| uint8_t nModMapKeys /**< */, |
| uint8_t totalModMapKeys /**< */, |
| xcb_keycode_t firstVModMapKey /**< */, |
| uint8_t nVModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t virtualMods /**< */, |
| const void *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.present = present; |
| xcb_out.flags = flags; |
| xcb_out.minKeyCode = minKeyCode; |
| xcb_out.maxKeyCode = maxKeyCode; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKeySym = firstKeySym; |
| xcb_out.nKeySyms = nKeySyms; |
| xcb_out.totalSyms = totalSyms; |
| xcb_out.firstKeyAction = firstKeyAction; |
| xcb_out.nKeyActions = nKeyActions; |
| xcb_out.totalActions = totalActions; |
| xcb_out.firstKeyBehavior = firstKeyBehavior; |
| xcb_out.nKeyBehaviors = nKeyBehaviors; |
| xcb_out.totalKeyBehaviors = totalKeyBehaviors; |
| xcb_out.firstKeyExplicit = firstKeyExplicit; |
| xcb_out.nKeyExplicit = nKeyExplicit; |
| xcb_out.totalKeyExplicit = totalKeyExplicit; |
| xcb_out.firstModMapKey = firstModMapKey; |
| xcb_out.nModMapKeys = nModMapKeys; |
| xcb_out.totalModMapKeys = totalModMapKeys; |
| xcb_out.firstVModMapKey = firstVModMapKey; |
| xcb_out.nVModMapKeys = nVModMapKeys; |
| xcb_out.totalVModMapKeys = totalVModMapKeys; |
| xcb_out.virtualMods = virtualMods; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_map_values_t values */ |
| xcb_parts[4].iov_base = (char *) values; |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_map_values_sizeof (values, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present); |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_map_aux_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t present |
| ** @param uint16_t flags |
| ** @param xcb_keycode_t minKeyCode |
| ** @param xcb_keycode_t maxKeyCode |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param xcb_keycode_t firstKeySym |
| ** @param uint8_t nKeySyms |
| ** @param uint16_t totalSyms |
| ** @param xcb_keycode_t firstKeyAction |
| ** @param uint8_t nKeyActions |
| ** @param uint16_t totalActions |
| ** @param xcb_keycode_t firstKeyBehavior |
| ** @param uint8_t nKeyBehaviors |
| ** @param uint8_t totalKeyBehaviors |
| ** @param xcb_keycode_t firstKeyExplicit |
| ** @param uint8_t nKeyExplicit |
| ** @param uint8_t totalKeyExplicit |
| ** @param xcb_keycode_t firstModMapKey |
| ** @param uint8_t nModMapKeys |
| ** @param uint8_t totalModMapKeys |
| ** @param xcb_keycode_t firstVModMapKey |
| ** @param uint8_t nVModMapKeys |
| ** @param uint8_t totalVModMapKeys |
| ** @param uint16_t virtualMods |
| ** @param const xcb_xkb_set_map_values_t *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_map_aux_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t present /**< */, |
| uint16_t flags /**< */, |
| xcb_keycode_t minKeyCode /**< */, |
| xcb_keycode_t maxKeyCode /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| xcb_keycode_t firstKeySym /**< */, |
| uint8_t nKeySyms /**< */, |
| uint16_t totalSyms /**< */, |
| xcb_keycode_t firstKeyAction /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| xcb_keycode_t firstKeyBehavior /**< */, |
| uint8_t nKeyBehaviors /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| xcb_keycode_t firstKeyExplicit /**< */, |
| uint8_t nKeyExplicit /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| xcb_keycode_t firstModMapKey /**< */, |
| uint8_t nModMapKeys /**< */, |
| uint8_t totalModMapKeys /**< */, |
| xcb_keycode_t firstVModMapKey /**< */, |
| uint8_t nVModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t virtualMods /**< */, |
| const xcb_xkb_set_map_values_t *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_map_request_t xcb_out; |
| void *xcb_aux0 = 0; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.present = present; |
| xcb_out.flags = flags; |
| xcb_out.minKeyCode = minKeyCode; |
| xcb_out.maxKeyCode = maxKeyCode; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKeySym = firstKeySym; |
| xcb_out.nKeySyms = nKeySyms; |
| xcb_out.totalSyms = totalSyms; |
| xcb_out.firstKeyAction = firstKeyAction; |
| xcb_out.nKeyActions = nKeyActions; |
| xcb_out.totalActions = totalActions; |
| xcb_out.firstKeyBehavior = firstKeyBehavior; |
| xcb_out.nKeyBehaviors = nKeyBehaviors; |
| xcb_out.totalKeyBehaviors = totalKeyBehaviors; |
| xcb_out.firstKeyExplicit = firstKeyExplicit; |
| xcb_out.nKeyExplicit = nKeyExplicit; |
| xcb_out.totalKeyExplicit = totalKeyExplicit; |
| xcb_out.firstModMapKey = firstModMapKey; |
| xcb_out.nModMapKeys = nModMapKeys; |
| xcb_out.totalModMapKeys = totalModMapKeys; |
| xcb_out.firstVModMapKey = firstVModMapKey; |
| xcb_out.nVModMapKeys = nVModMapKeys; |
| xcb_out.totalVModMapKeys = totalVModMapKeys; |
| xcb_out.virtualMods = virtualMods; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_map_values_t values */ |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_map_values_serialize (&xcb_aux0, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, values); |
| xcb_parts[4].iov_base = xcb_aux0; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| free(xcb_aux0); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_map_aux |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t present |
| ** @param uint16_t flags |
| ** @param xcb_keycode_t minKeyCode |
| ** @param xcb_keycode_t maxKeyCode |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param xcb_keycode_t firstKeySym |
| ** @param uint8_t nKeySyms |
| ** @param uint16_t totalSyms |
| ** @param xcb_keycode_t firstKeyAction |
| ** @param uint8_t nKeyActions |
| ** @param uint16_t totalActions |
| ** @param xcb_keycode_t firstKeyBehavior |
| ** @param uint8_t nKeyBehaviors |
| ** @param uint8_t totalKeyBehaviors |
| ** @param xcb_keycode_t firstKeyExplicit |
| ** @param uint8_t nKeyExplicit |
| ** @param uint8_t totalKeyExplicit |
| ** @param xcb_keycode_t firstModMapKey |
| ** @param uint8_t nModMapKeys |
| ** @param uint8_t totalModMapKeys |
| ** @param xcb_keycode_t firstVModMapKey |
| ** @param uint8_t nVModMapKeys |
| ** @param uint8_t totalVModMapKeys |
| ** @param uint16_t virtualMods |
| ** @param const xcb_xkb_set_map_values_t *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_map_aux (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t present /**< */, |
| uint16_t flags /**< */, |
| xcb_keycode_t minKeyCode /**< */, |
| xcb_keycode_t maxKeyCode /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| xcb_keycode_t firstKeySym /**< */, |
| uint8_t nKeySyms /**< */, |
| uint16_t totalSyms /**< */, |
| xcb_keycode_t firstKeyAction /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| xcb_keycode_t firstKeyBehavior /**< */, |
| uint8_t nKeyBehaviors /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| xcb_keycode_t firstKeyExplicit /**< */, |
| uint8_t nKeyExplicit /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| xcb_keycode_t firstModMapKey /**< */, |
| uint8_t nModMapKeys /**< */, |
| uint8_t totalModMapKeys /**< */, |
| xcb_keycode_t firstVModMapKey /**< */, |
| uint8_t nVModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t virtualMods /**< */, |
| const xcb_xkb_set_map_values_t *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_map_request_t xcb_out; |
| void *xcb_aux0 = 0; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.present = present; |
| xcb_out.flags = flags; |
| xcb_out.minKeyCode = minKeyCode; |
| xcb_out.maxKeyCode = maxKeyCode; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKeySym = firstKeySym; |
| xcb_out.nKeySyms = nKeySyms; |
| xcb_out.totalSyms = totalSyms; |
| xcb_out.firstKeyAction = firstKeyAction; |
| xcb_out.nKeyActions = nKeyActions; |
| xcb_out.totalActions = totalActions; |
| xcb_out.firstKeyBehavior = firstKeyBehavior; |
| xcb_out.nKeyBehaviors = nKeyBehaviors; |
| xcb_out.totalKeyBehaviors = totalKeyBehaviors; |
| xcb_out.firstKeyExplicit = firstKeyExplicit; |
| xcb_out.nKeyExplicit = nKeyExplicit; |
| xcb_out.totalKeyExplicit = totalKeyExplicit; |
| xcb_out.firstModMapKey = firstModMapKey; |
| xcb_out.nModMapKeys = nModMapKeys; |
| xcb_out.totalModMapKeys = totalModMapKeys; |
| xcb_out.firstVModMapKey = firstVModMapKey; |
| xcb_out.nVModMapKeys = nVModMapKeys; |
| xcb_out.totalVModMapKeys = totalVModMapKeys; |
| xcb_out.virtualMods = virtualMods; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_map_values_t values */ |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_map_values_serialize (&xcb_aux0, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, values); |
| xcb_parts[4].iov_base = xcb_aux0; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| free(xcb_aux0); |
| return xcb_ret; |
| } |
| |
| int |
| xcb_xkb_get_compat_map_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_get_compat_map_reply_t *_aux = (xcb_xkb_get_compat_map_reply_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_get_compat_map_reply_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* si_rtrn */ |
| xcb_block_len += _aux->nSIRtrn * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* group_rtrn */ |
| xcb_block_len += xcb_popcount(_aux->groupsRtrn) * sizeof(xcb_xkb_mod_def_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t groups |
| ** @param uint8_t getAllSI |
| ** @param uint16_t firstSI |
| ** @param uint16_t nSI |
| ** @returns xcb_xkb_get_compat_map_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_compat_map_cookie_t |
| xcb_xkb_get_compat_map (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t groups /**< */, |
| uint8_t getAllSI /**< */, |
| uint16_t firstSI /**< */, |
| uint16_t nSI /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_COMPAT_MAP, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_compat_map_cookie_t xcb_ret; |
| xcb_xkb_get_compat_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.groups = groups; |
| xcb_out.getAllSI = getAllSI; |
| xcb_out.firstSI = firstSI; |
| xcb_out.nSI = nSI; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t groups |
| ** @param uint8_t getAllSI |
| ** @param uint16_t firstSI |
| ** @param uint16_t nSI |
| ** @returns xcb_xkb_get_compat_map_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_compat_map_cookie_t |
| xcb_xkb_get_compat_map_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t groups /**< */, |
| uint8_t getAllSI /**< */, |
| uint16_t firstSI /**< */, |
| uint16_t nSI /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_COMPAT_MAP, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_compat_map_cookie_t xcb_ret; |
| xcb_xkb_get_compat_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.groups = groups; |
| xcb_out.getAllSI = getAllSI; |
| xcb_out.firstSI = firstSI; |
| xcb_out.nSI = nSI; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_sym_interpret_t * xcb_xkb_get_compat_map_si_rtrn |
| ** |
| ** @param const xcb_xkb_get_compat_map_reply_t *R |
| ** @returns xcb_xkb_sym_interpret_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_sym_interpret_t * |
| xcb_xkb_get_compat_map_si_rtrn (const xcb_xkb_get_compat_map_reply_t *R /**< */) |
| { |
| return (xcb_xkb_sym_interpret_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_compat_map_si_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_compat_map_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_compat_map_si_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R /**< */) |
| { |
| return R->nSIRtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_compat_map_si_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_compat_map_reply_t *R |
| ** @returns xcb_xkb_sym_interpret_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_sym_interpret_iterator_t |
| xcb_xkb_get_compat_map_si_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R /**< */) |
| { |
| xcb_xkb_sym_interpret_iterator_t i; |
| i.data = (xcb_xkb_sym_interpret_t *) (R + 1); |
| i.rem = R->nSIRtrn; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_mod_def_t * xcb_xkb_get_compat_map_group_rtrn |
| ** |
| ** @param const xcb_xkb_get_compat_map_reply_t *R |
| ** @returns xcb_xkb_mod_def_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_mod_def_t * |
| xcb_xkb_get_compat_map_group_rtrn (const xcb_xkb_get_compat_map_reply_t *R /**< */) |
| { |
| xcb_generic_iterator_t prev = xcb_xkb_sym_interpret_end(xcb_xkb_get_compat_map_si_rtrn_iterator(R)); |
| return (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index) + 0); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_compat_map_group_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_compat_map_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_compat_map_group_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R /**< */) |
| { |
| return xcb_popcount(R->groupsRtrn); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_compat_map_group_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_compat_map_reply_t *R |
| ** @returns xcb_xkb_mod_def_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_mod_def_iterator_t |
| xcb_xkb_get_compat_map_group_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R /**< */) |
| { |
| xcb_xkb_mod_def_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_sym_interpret_end(xcb_xkb_get_compat_map_si_rtrn_iterator(R)); |
| i.data = (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index)); |
| i.rem = xcb_popcount(R->groupsRtrn); |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_compat_map_reply_t * xcb_xkb_get_compat_map_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_compat_map_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_compat_map_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_compat_map_reply_t * |
| xcb_xkb_get_compat_map_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_compat_map_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_compat_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_set_compat_map_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_set_compat_map_request_t *_aux = (xcb_xkb_set_compat_map_request_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_set_compat_map_request_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* si */ |
| xcb_block_len += _aux->nSI * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groupMaps */ |
| xcb_block_len += xcb_popcount(_aux->groups) * sizeof(xcb_xkb_mod_def_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_compat_map_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t recomputeActions |
| ** @param uint8_t truncateSI |
| ** @param uint8_t groups |
| ** @param uint16_t firstSI |
| ** @param uint16_t nSI |
| ** @param const xcb_xkb_sym_interpret_t *si |
| ** @param const xcb_xkb_mod_def_t *groupMaps |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_compat_map_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t recomputeActions /**< */, |
| uint8_t truncateSI /**< */, |
| uint8_t groups /**< */, |
| uint16_t firstSI /**< */, |
| uint16_t nSI /**< */, |
| const xcb_xkb_sym_interpret_t *si /**< */, |
| const xcb_xkb_mod_def_t *groupMaps /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 6, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_COMPAT_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[8]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_compat_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.pad0 = 0; |
| xcb_out.recomputeActions = recomputeActions; |
| xcb_out.truncateSI = truncateSI; |
| xcb_out.groups = groups; |
| xcb_out.firstSI = firstSI; |
| xcb_out.nSI = nSI; |
| memset(xcb_out.pad1, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_sym_interpret_t si */ |
| xcb_parts[4].iov_base = (char *) si; |
| xcb_parts[4].iov_len = nSI * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| /* xcb_xkb_mod_def_t groupMaps */ |
| xcb_parts[6].iov_base = (char *) groupMaps; |
| xcb_parts[6].iov_len = xcb_popcount(groups) * sizeof(xcb_xkb_mod_def_t); |
| xcb_parts[7].iov_base = 0; |
| xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_compat_map |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t recomputeActions |
| ** @param uint8_t truncateSI |
| ** @param uint8_t groups |
| ** @param uint16_t firstSI |
| ** @param uint16_t nSI |
| ** @param const xcb_xkb_sym_interpret_t *si |
| ** @param const xcb_xkb_mod_def_t *groupMaps |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_compat_map (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t recomputeActions /**< */, |
| uint8_t truncateSI /**< */, |
| uint8_t groups /**< */, |
| uint16_t firstSI /**< */, |
| uint16_t nSI /**< */, |
| const xcb_xkb_sym_interpret_t *si /**< */, |
| const xcb_xkb_mod_def_t *groupMaps /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 6, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_COMPAT_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[8]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_compat_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.pad0 = 0; |
| xcb_out.recomputeActions = recomputeActions; |
| xcb_out.truncateSI = truncateSI; |
| xcb_out.groups = groups; |
| xcb_out.firstSI = firstSI; |
| xcb_out.nSI = nSI; |
| memset(xcb_out.pad1, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_sym_interpret_t si */ |
| xcb_parts[4].iov_base = (char *) si; |
| xcb_parts[4].iov_len = nSI * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| /* xcb_xkb_mod_def_t groupMaps */ |
| xcb_parts[6].iov_base = (char *) groupMaps; |
| xcb_parts[6].iov_len = xcb_popcount(groups) * sizeof(xcb_xkb_mod_def_t); |
| xcb_parts[7].iov_base = 0; |
| xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @returns xcb_xkb_get_indicator_state_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_indicator_state_cookie_t |
| xcb_xkb_get_indicator_state (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_INDICATOR_STATE, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_indicator_state_cookie_t xcb_ret; |
| xcb_xkb_get_indicator_state_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @returns xcb_xkb_get_indicator_state_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_indicator_state_cookie_t |
| xcb_xkb_get_indicator_state_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_INDICATOR_STATE, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_indicator_state_cookie_t xcb_ret; |
| xcb_xkb_get_indicator_state_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_indicator_state_reply_t * xcb_xkb_get_indicator_state_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_indicator_state_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_indicator_state_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_indicator_state_reply_t * |
| xcb_xkb_get_indicator_state_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_indicator_state_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_indicator_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_get_indicator_map_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_get_indicator_map_reply_t *_aux = (xcb_xkb_get_indicator_map_reply_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_get_indicator_map_reply_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* maps */ |
| xcb_block_len += xcb_popcount(_aux->which) * sizeof(xcb_xkb_indicator_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t which |
| ** @returns xcb_xkb_get_indicator_map_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_indicator_map_cookie_t |
| xcb_xkb_get_indicator_map (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t which /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_INDICATOR_MAP, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_indicator_map_cookie_t xcb_ret; |
| xcb_xkb_get_indicator_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.which = which; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t which |
| ** @returns xcb_xkb_get_indicator_map_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_indicator_map_cookie_t |
| xcb_xkb_get_indicator_map_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t which /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_INDICATOR_MAP, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_indicator_map_cookie_t xcb_ret; |
| xcb_xkb_get_indicator_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.which = which; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_indicator_map_t * xcb_xkb_get_indicator_map_maps |
| ** |
| ** @param const xcb_xkb_get_indicator_map_reply_t *R |
| ** @returns xcb_xkb_indicator_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_indicator_map_t * |
| xcb_xkb_get_indicator_map_maps (const xcb_xkb_get_indicator_map_reply_t *R /**< */) |
| { |
| return (xcb_xkb_indicator_map_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_indicator_map_maps_length |
| ** |
| ** @param const xcb_xkb_get_indicator_map_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_indicator_map_maps_length (const xcb_xkb_get_indicator_map_reply_t *R /**< */) |
| { |
| return xcb_popcount(R->which); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_indicator_map_maps_iterator |
| ** |
| ** @param const xcb_xkb_get_indicator_map_reply_t *R |
| ** @returns xcb_xkb_indicator_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_indicator_map_iterator_t |
| xcb_xkb_get_indicator_map_maps_iterator (const xcb_xkb_get_indicator_map_reply_t *R /**< */) |
| { |
| xcb_xkb_indicator_map_iterator_t i; |
| i.data = (xcb_xkb_indicator_map_t *) (R + 1); |
| i.rem = xcb_popcount(R->which); |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_indicator_map_reply_t * xcb_xkb_get_indicator_map_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_indicator_map_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_indicator_map_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_indicator_map_reply_t * |
| xcb_xkb_get_indicator_map_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_indicator_map_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_indicator_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_set_indicator_map_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_set_indicator_map_request_t *_aux = (xcb_xkb_set_indicator_map_request_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_set_indicator_map_request_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* maps */ |
| xcb_block_len += xcb_popcount(_aux->which) * sizeof(xcb_xkb_indicator_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_indicator_map_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t which |
| ** @param const xcb_xkb_indicator_map_t *maps |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_indicator_map_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t which /**< */, |
| const xcb_xkb_indicator_map_t *maps /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 4, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_INDICATOR_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[6]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_indicator_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.which = which; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_indicator_map_t maps */ |
| xcb_parts[4].iov_base = (char *) maps; |
| xcb_parts[4].iov_len = xcb_popcount(which) * sizeof(xcb_xkb_indicator_map_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_indicator_map |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t which |
| ** @param const xcb_xkb_indicator_map_t *maps |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_indicator_map (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t which /**< */, |
| const xcb_xkb_indicator_map_t *maps /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 4, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_INDICATOR_MAP, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[6]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_indicator_map_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.which = which; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_indicator_map_t maps */ |
| xcb_parts[4].iov_base = (char *) maps; |
| xcb_parts[4].iov_len = xcb_popcount(which) * sizeof(xcb_xkb_indicator_map_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param xcb_xkb_led_class_spec_t ledClass |
| ** @param xcb_xkb_id_spec_t ledID |
| ** @param xcb_atom_t indicator |
| ** @returns xcb_xkb_get_named_indicator_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_named_indicator_cookie_t |
| xcb_xkb_get_named_indicator (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| xcb_xkb_led_class_spec_t ledClass /**< */, |
| xcb_xkb_id_spec_t ledID /**< */, |
| xcb_atom_t indicator /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_NAMED_INDICATOR, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_named_indicator_cookie_t xcb_ret; |
| xcb_xkb_get_named_indicator_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.ledClass = ledClass; |
| xcb_out.ledID = ledID; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.indicator = indicator; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param xcb_xkb_led_class_spec_t ledClass |
| ** @param xcb_xkb_id_spec_t ledID |
| ** @param xcb_atom_t indicator |
| ** @returns xcb_xkb_get_named_indicator_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_named_indicator_cookie_t |
| xcb_xkb_get_named_indicator_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| xcb_xkb_led_class_spec_t ledClass /**< */, |
| xcb_xkb_id_spec_t ledID /**< */, |
| xcb_atom_t indicator /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_NAMED_INDICATOR, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_named_indicator_cookie_t xcb_ret; |
| xcb_xkb_get_named_indicator_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.ledClass = ledClass; |
| xcb_out.ledID = ledID; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.indicator = indicator; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_named_indicator_reply_t * xcb_xkb_get_named_indicator_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_named_indicator_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_named_indicator_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_named_indicator_reply_t * |
| xcb_xkb_get_named_indicator_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_named_indicator_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_named_indicator_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_named_indicator_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param xcb_xkb_led_class_spec_t ledClass |
| ** @param xcb_xkb_id_spec_t ledID |
| ** @param xcb_atom_t indicator |
| ** @param uint8_t setState |
| ** @param uint8_t on |
| ** @param uint8_t setMap |
| ** @param uint8_t createMap |
| ** @param uint8_t map_flags |
| ** @param uint8_t map_whichGroups |
| ** @param uint8_t map_groups |
| ** @param uint8_t map_whichMods |
| ** @param uint8_t map_realMods |
| ** @param uint16_t map_vmods |
| ** @param uint32_t map_ctrls |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_named_indicator_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| xcb_xkb_led_class_spec_t ledClass /**< */, |
| xcb_xkb_id_spec_t ledID /**< */, |
| xcb_atom_t indicator /**< */, |
| uint8_t setState /**< */, |
| uint8_t on /**< */, |
| uint8_t setMap /**< */, |
| uint8_t createMap /**< */, |
| uint8_t map_flags /**< */, |
| uint8_t map_whichGroups /**< */, |
| uint8_t map_groups /**< */, |
| uint8_t map_whichMods /**< */, |
| uint8_t map_realMods /**< */, |
| uint16_t map_vmods /**< */, |
| uint32_t map_ctrls /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_NAMED_INDICATOR, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_named_indicator_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.ledClass = ledClass; |
| xcb_out.ledID = ledID; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.indicator = indicator; |
| xcb_out.setState = setState; |
| xcb_out.on = on; |
| xcb_out.setMap = setMap; |
| xcb_out.createMap = createMap; |
| xcb_out.pad1 = 0; |
| xcb_out.map_flags = map_flags; |
| xcb_out.map_whichGroups = map_whichGroups; |
| xcb_out.map_groups = map_groups; |
| xcb_out.map_whichMods = map_whichMods; |
| xcb_out.map_realMods = map_realMods; |
| xcb_out.map_vmods = map_vmods; |
| xcb_out.map_ctrls = map_ctrls; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_named_indicator |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param xcb_xkb_led_class_spec_t ledClass |
| ** @param xcb_xkb_id_spec_t ledID |
| ** @param xcb_atom_t indicator |
| ** @param uint8_t setState |
| ** @param uint8_t on |
| ** @param uint8_t setMap |
| ** @param uint8_t createMap |
| ** @param uint8_t map_flags |
| ** @param uint8_t map_whichGroups |
| ** @param uint8_t map_groups |
| ** @param uint8_t map_whichMods |
| ** @param uint8_t map_realMods |
| ** @param uint16_t map_vmods |
| ** @param uint32_t map_ctrls |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_named_indicator (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| xcb_xkb_led_class_spec_t ledClass /**< */, |
| xcb_xkb_id_spec_t ledID /**< */, |
| xcb_atom_t indicator /**< */, |
| uint8_t setState /**< */, |
| uint8_t on /**< */, |
| uint8_t setMap /**< */, |
| uint8_t createMap /**< */, |
| uint8_t map_flags /**< */, |
| uint8_t map_whichGroups /**< */, |
| uint8_t map_groups /**< */, |
| uint8_t map_whichMods /**< */, |
| uint8_t map_realMods /**< */, |
| uint16_t map_vmods /**< */, |
| uint32_t map_ctrls /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_NAMED_INDICATOR, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_named_indicator_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.ledClass = ledClass; |
| xcb_out.ledID = ledID; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.indicator = indicator; |
| xcb_out.setState = setState; |
| xcb_out.on = on; |
| xcb_out.setMap = setMap; |
| xcb_out.createMap = createMap; |
| xcb_out.pad1 = 0; |
| xcb_out.map_flags = map_flags; |
| xcb_out.map_whichGroups = map_whichGroups; |
| xcb_out.map_groups = map_groups; |
| xcb_out.map_whichMods = map_whichMods; |
| xcb_out.map_realMods = map_realMods; |
| xcb_out.map_vmods = map_vmods; |
| xcb_out.map_ctrls = map_ctrls; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_names_value_list_type_names |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_names_value_list_type_names (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->typeNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_type_names_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_type_names_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return R->nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_type_names_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_type_names_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->typeNames + R->nTypes; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_names_value_list_n_levels_per_type |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_names_value_list_n_levels_per_type (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->nLevelsPerType; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_n_levels_per_type_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_n_levels_per_type_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return R->nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_n_levels_per_type_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_n_levels_per_type_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->nLevelsPerType + R->nTypes; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_names_value_list_alignment_pad |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_names_value_list_alignment_pad (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->alignment_pad; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_alignment_pad_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_alignment_pad_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return (((R->nTypes + 3) & (~3)) - R->nTypes); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_alignment_pad_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_alignment_pad_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->alignment_pad + (((R->nTypes + 3) & (~3)) - R->nTypes); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_names_value_list_kt_level_names |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_names_value_list_kt_level_names (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->ktLevelNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_kt_level_names_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_kt_level_names_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return xcb_sumof(/* valueList */ S->nLevelsPerType, R->nTypes); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_kt_level_names_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_kt_level_names_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->ktLevelNames + xcb_sumof(/* valueList */ S->nLevelsPerType, R->nTypes); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_names_value_list_indicator_names |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_names_value_list_indicator_names (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->indicatorNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_indicator_names_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_indicator_names_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return xcb_popcount(R->indicators); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_indicator_names_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_indicator_names_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->indicatorNames + xcb_popcount(R->indicators); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_names_value_list_virtual_mod_names |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_names_value_list_virtual_mod_names (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->virtualModNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_virtual_mod_names_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_virtual_mod_names_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return xcb_popcount(R->virtualMods); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_virtual_mod_names_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_virtual_mod_names_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->virtualModNames + xcb_popcount(R->virtualMods); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_names_value_list_groups |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_names_value_list_groups (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->groups; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_groups_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_groups_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return xcb_popcount(R->groupNames); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_groups_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_groups_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->groups + xcb_popcount(R->groupNames); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_name_t * xcb_xkb_get_names_value_list_key_names |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_xkb_key_name_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_name_t * |
| xcb_xkb_get_names_value_list_key_names (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->keyNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_key_names_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_key_names_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return R->nKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_name_iterator_t xcb_xkb_get_names_value_list_key_names_iterator |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_xkb_key_name_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_name_iterator_t |
| xcb_xkb_get_names_value_list_key_names_iterator (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_xkb_key_name_iterator_t i; |
| i.data = /* valueList */ S->keyNames; |
| i.rem = R->nKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_alias_t * xcb_xkb_get_names_value_list_key_aliases |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_xkb_key_alias_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_alias_t * |
| xcb_xkb_get_names_value_list_key_aliases (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->keyAliases; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_key_aliases_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_key_aliases_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return R->nKeyAliases; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_names_value_list_key_aliases_iterator |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_xkb_key_alias_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_alias_iterator_t |
| xcb_xkb_get_names_value_list_key_aliases_iterator (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_xkb_key_alias_iterator_t i; |
| i.data = /* valueList */ S->keyAliases; |
| i.rem = R->nKeyAliases; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_names_value_list_radio_group_names |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_names_value_list_radio_group_names (const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return /* valueList */ S->radioGroupNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_names_value_list_radio_group_names_length |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_names_value_list_radio_group_names_length (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| return R->nRadioGroups; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_radio_group_names_end |
| ** |
| ** @param const xcb_xkb_get_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_names_value_list_radio_group_names_end (const xcb_xkb_get_names_reply_t *R /**< */, |
| const xcb_xkb_get_names_value_list_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* valueList */ S->radioGroupNames + R->nRadioGroups; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| int |
| xcb_xkb_get_names_value_list_serialize (void **_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */, |
| const xcb_xkb_get_names_value_list_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[27]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if(which & XCB_XKB_NAME_DETAIL_KEYCODES) { |
| /* xcb_xkb_get_names_value_list_t.keycodesName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) { |
| /* xcb_xkb_get_names_value_list_t.geometryName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) { |
| /* xcb_xkb_get_names_value_list_t.symbolsName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) { |
| /* xcb_xkb_get_names_value_list_t.physSymbolsName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_TYPES) { |
| /* xcb_xkb_get_names_value_list_t.typesName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_COMPAT) { |
| /* xcb_xkb_get_names_value_list_t.compatName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* typeNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames; |
| xcb_block_len += nTypes * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* nLevelsPerType */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType; |
| xcb_block_len += nTypes * sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad; |
| xcb_block_len += (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* ktLevelNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames; |
| xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* indicatorNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames; |
| xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* virtualModNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groups */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups; |
| xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames; |
| xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_name_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyAliases */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases; |
| xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* radioGroupNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames; |
| xcb_block_len += nRadioGroups * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_names_value_list_unpack (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */, |
| xcb_xkb_get_names_value_list_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| if(which & XCB_XKB_NAME_DETAIL_KEYCODES) { |
| /* xcb_xkb_get_names_value_list_t.keycodesName */ |
| _aux->keycodesName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) { |
| /* xcb_xkb_get_names_value_list_t.geometryName */ |
| _aux->geometryName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) { |
| /* xcb_xkb_get_names_value_list_t.symbolsName */ |
| _aux->symbolsName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) { |
| /* xcb_xkb_get_names_value_list_t.physSymbolsName */ |
| _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_TYPES) { |
| /* xcb_xkb_get_names_value_list_t.typesName */ |
| _aux->typesName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_COMPAT) { |
| /* xcb_xkb_get_names_value_list_t.compatName */ |
| _aux->compatName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* typeNames */ |
| _aux->typeNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += nTypes * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* nLevelsPerType */ |
| _aux->nLevelsPerType = (uint8_t *)xcb_tmp; |
| xcb_block_len += nTypes * sizeof(uint8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* alignment_pad */ |
| _aux->alignment_pad = (uint8_t *)xcb_tmp; |
| xcb_block_len += (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* ktLevelNames */ |
| _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* indicatorNames */ |
| _aux->indicatorNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* virtualModNames */ |
| _aux->virtualModNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groups */ |
| _aux->groups = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyNames */ |
| _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp; |
| xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_name_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyAliases */ |
| _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp; |
| xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* radioGroupNames */ |
| _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += nRadioGroups * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_names_value_list_sizeof (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */) |
| { |
| xcb_xkb_get_names_value_list_t _aux; |
| return xcb_xkb_get_names_value_list_unpack(_buffer, nTypes, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t which |
| ** @returns xcb_xkb_get_names_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_names_cookie_t |
| xcb_xkb_get_names (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t which /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_NAMES, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_names_cookie_t xcb_ret; |
| xcb_xkb_get_names_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.which = which; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t which |
| ** @returns xcb_xkb_get_names_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_names_cookie_t |
| xcb_xkb_get_names_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t which /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_NAMES, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_names_cookie_t xcb_ret; |
| xcb_xkb_get_names_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.which = which; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_names_value_list_t * xcb_xkb_get_names_value_list |
| ** |
| ** @param const xcb_xkb_get_names_reply_t *R |
| ** @returns xcb_xkb_get_names_value_list_t * |
| ** |
| *****************************************************************************/ |
| |
| void * |
| xcb_xkb_get_names_value_list (const xcb_xkb_get_names_reply_t *R /**< */) |
| { |
| return (void *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_names_reply_t * xcb_xkb_get_names_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_names_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_names_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_names_reply_t * |
| xcb_xkb_get_names_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_names_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_names_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_set_names_values_type_names |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_set_names_values_type_names (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->typeNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_type_names_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_type_names_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return R->nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_type_names_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_type_names_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->typeNames + R->nTypes; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_set_names_values_n_levels_per_type |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_set_names_values_n_levels_per_type (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->nLevelsPerType; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_n_levels_per_type_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_n_levels_per_type_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return R->nKTLevels; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_n_levels_per_type_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_n_levels_per_type_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->nLevelsPerType + R->nKTLevels; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_set_names_values_kt_level_names |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_set_names_values_kt_level_names (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->ktLevelNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_kt_level_names_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_kt_level_names_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return xcb_sumof(/* values */ S->nLevelsPerType, R->nKTLevels); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_kt_level_names_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_kt_level_names_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->ktLevelNames + xcb_sumof(/* values */ S->nLevelsPerType, R->nKTLevels); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_set_names_values_indicator_names |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_set_names_values_indicator_names (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->indicatorNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_indicator_names_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_indicator_names_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return xcb_popcount(R->indicators); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_indicator_names_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_indicator_names_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->indicatorNames + xcb_popcount(R->indicators); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_set_names_values_virtual_mod_names |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_set_names_values_virtual_mod_names (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->virtualModNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_virtual_mod_names_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_virtual_mod_names_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return xcb_popcount(R->virtualMods); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_virtual_mod_names_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_virtual_mod_names_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->virtualModNames + xcb_popcount(R->virtualMods); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_set_names_values_groups |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_set_names_values_groups (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->groups; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_groups_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_groups_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return xcb_popcount(R->groupNames); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_groups_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_groups_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->groups + xcb_popcount(R->groupNames); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_name_t * xcb_xkb_set_names_values_key_names |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_xkb_key_name_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_name_t * |
| xcb_xkb_set_names_values_key_names (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->keyNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_key_names_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_key_names_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return R->nKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_name_iterator_t xcb_xkb_set_names_values_key_names_iterator |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_xkb_key_name_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_name_iterator_t |
| xcb_xkb_set_names_values_key_names_iterator (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_xkb_key_name_iterator_t i; |
| i.data = /* values */ S->keyNames; |
| i.rem = R->nKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_alias_t * xcb_xkb_set_names_values_key_aliases |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_xkb_key_alias_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_alias_t * |
| xcb_xkb_set_names_values_key_aliases (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->keyAliases; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_key_aliases_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_key_aliases_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return R->nKeyAliases; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_alias_iterator_t xcb_xkb_set_names_values_key_aliases_iterator |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_xkb_key_alias_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_alias_iterator_t |
| xcb_xkb_set_names_values_key_aliases_iterator (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_xkb_key_alias_iterator_t i; |
| i.data = /* values */ S->keyAliases; |
| i.rem = R->nKeyAliases; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_set_names_values_radio_group_names |
| ** |
| ** @param const xcb_xkb_set_names_values_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_set_names_values_radio_group_names (const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return /* values */ S->radioGroupNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_set_names_values_radio_group_names_length |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_set_names_values_radio_group_names_length (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| return R->nRadioGroups; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_set_names_values_radio_group_names_end |
| ** |
| ** @param const xcb_xkb_set_names_values_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_set_names_values_radio_group_names_end (const xcb_xkb_set_names_request_t *R /**< */, |
| const xcb_xkb_set_names_values_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* values */ S->radioGroupNames + R->nRadioGroups; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| int |
| xcb_xkb_set_names_values_serialize (void **_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */, |
| const xcb_xkb_set_names_values_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[25]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if(which & XCB_XKB_NAME_DETAIL_KEYCODES) { |
| /* xcb_xkb_set_names_values_t.keycodesName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) { |
| /* xcb_xkb_set_names_values_t.geometryName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) { |
| /* xcb_xkb_set_names_values_t.symbolsName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) { |
| /* xcb_xkb_set_names_values_t.physSymbolsName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_TYPES) { |
| /* xcb_xkb_set_names_values_t.typesName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_COMPAT) { |
| /* xcb_xkb_set_names_values_t.compatName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* typeNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames; |
| xcb_block_len += nTypes * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* nLevelsPerType */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType; |
| xcb_block_len += nKTLevels * sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKTLevels * sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* ktLevelNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames; |
| xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* indicatorNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames; |
| xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* virtualModNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groups */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups; |
| xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames; |
| xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_name_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyAliases */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases; |
| xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* radioGroupNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames; |
| xcb_block_len += nRadioGroups * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_set_names_values_unpack (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */, |
| xcb_xkb_set_names_values_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| if(which & XCB_XKB_NAME_DETAIL_KEYCODES) { |
| /* xcb_xkb_set_names_values_t.keycodesName */ |
| _aux->keycodesName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) { |
| /* xcb_xkb_set_names_values_t.geometryName */ |
| _aux->geometryName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) { |
| /* xcb_xkb_set_names_values_t.symbolsName */ |
| _aux->symbolsName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) { |
| /* xcb_xkb_set_names_values_t.physSymbolsName */ |
| _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_TYPES) { |
| /* xcb_xkb_set_names_values_t.typesName */ |
| _aux->typesName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_COMPAT) { |
| /* xcb_xkb_set_names_values_t.compatName */ |
| _aux->compatName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* typeNames */ |
| _aux->typeNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += nTypes * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* nLevelsPerType */ |
| _aux->nLevelsPerType = (uint8_t *)xcb_tmp; |
| xcb_block_len += nKTLevels * sizeof(uint8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* ktLevelNames */ |
| _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* indicatorNames */ |
| _aux->indicatorNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* virtualModNames */ |
| _aux->virtualModNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groups */ |
| _aux->groups = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyNames */ |
| _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp; |
| xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_name_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyAliases */ |
| _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp; |
| xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* radioGroupNames */ |
| _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += nRadioGroups * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_set_names_values_sizeof (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */) |
| { |
| xcb_xkb_set_names_values_t _aux; |
| return xcb_xkb_set_names_values_unpack(_buffer, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_names_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t virtualMods |
| ** @param uint32_t which |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param uint8_t firstKTLevelt |
| ** @param uint8_t nKTLevels |
| ** @param uint32_t indicators |
| ** @param uint8_t groupNames |
| ** @param uint8_t nRadioGroups |
| ** @param xcb_keycode_t firstKey |
| ** @param uint8_t nKeys |
| ** @param uint8_t nKeyAliases |
| ** @param uint16_t totalKTLevelNames |
| ** @param const void *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_names_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t virtualMods /**< */, |
| uint32_t which /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t firstKTLevelt /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nRadioGroups /**< */, |
| xcb_keycode_t firstKey /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint16_t totalKTLevelNames /**< */, |
| const void *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_NAMES, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_names_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.virtualMods = virtualMods; |
| xcb_out.which = which; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKTLevelt = firstKTLevelt; |
| xcb_out.nKTLevels = nKTLevels; |
| xcb_out.indicators = indicators; |
| xcb_out.groupNames = groupNames; |
| xcb_out.nRadioGroups = nRadioGroups; |
| xcb_out.firstKey = firstKey; |
| xcb_out.nKeys = nKeys; |
| xcb_out.nKeyAliases = nKeyAliases; |
| xcb_out.pad0 = 0; |
| xcb_out.totalKTLevelNames = totalKTLevelNames; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_names_values_t values */ |
| xcb_parts[4].iov_base = (char *) values; |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_names_values_sizeof (values, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which); |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_names |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t virtualMods |
| ** @param uint32_t which |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param uint8_t firstKTLevelt |
| ** @param uint8_t nKTLevels |
| ** @param uint32_t indicators |
| ** @param uint8_t groupNames |
| ** @param uint8_t nRadioGroups |
| ** @param xcb_keycode_t firstKey |
| ** @param uint8_t nKeys |
| ** @param uint8_t nKeyAliases |
| ** @param uint16_t totalKTLevelNames |
| ** @param const void *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_names (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t virtualMods /**< */, |
| uint32_t which /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t firstKTLevelt /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nRadioGroups /**< */, |
| xcb_keycode_t firstKey /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint16_t totalKTLevelNames /**< */, |
| const void *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_NAMES, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_names_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.virtualMods = virtualMods; |
| xcb_out.which = which; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKTLevelt = firstKTLevelt; |
| xcb_out.nKTLevels = nKTLevels; |
| xcb_out.indicators = indicators; |
| xcb_out.groupNames = groupNames; |
| xcb_out.nRadioGroups = nRadioGroups; |
| xcb_out.firstKey = firstKey; |
| xcb_out.nKeys = nKeys; |
| xcb_out.nKeyAliases = nKeyAliases; |
| xcb_out.pad0 = 0; |
| xcb_out.totalKTLevelNames = totalKTLevelNames; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_names_values_t values */ |
| xcb_parts[4].iov_base = (char *) values; |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_names_values_sizeof (values, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which); |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_names_aux_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t virtualMods |
| ** @param uint32_t which |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param uint8_t firstKTLevelt |
| ** @param uint8_t nKTLevels |
| ** @param uint32_t indicators |
| ** @param uint8_t groupNames |
| ** @param uint8_t nRadioGroups |
| ** @param xcb_keycode_t firstKey |
| ** @param uint8_t nKeys |
| ** @param uint8_t nKeyAliases |
| ** @param uint16_t totalKTLevelNames |
| ** @param const xcb_xkb_set_names_values_t *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_names_aux_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t virtualMods /**< */, |
| uint32_t which /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t firstKTLevelt /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nRadioGroups /**< */, |
| xcb_keycode_t firstKey /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint16_t totalKTLevelNames /**< */, |
| const xcb_xkb_set_names_values_t *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_NAMES, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_names_request_t xcb_out; |
| void *xcb_aux0 = 0; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.virtualMods = virtualMods; |
| xcb_out.which = which; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKTLevelt = firstKTLevelt; |
| xcb_out.nKTLevels = nKTLevels; |
| xcb_out.indicators = indicators; |
| xcb_out.groupNames = groupNames; |
| xcb_out.nRadioGroups = nRadioGroups; |
| xcb_out.firstKey = firstKey; |
| xcb_out.nKeys = nKeys; |
| xcb_out.nKeyAliases = nKeyAliases; |
| xcb_out.pad0 = 0; |
| xcb_out.totalKTLevelNames = totalKTLevelNames; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_names_values_t values */ |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_names_values_serialize (&xcb_aux0, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, values); |
| xcb_parts[4].iov_base = xcb_aux0; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| free(xcb_aux0); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_names_aux |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t virtualMods |
| ** @param uint32_t which |
| ** @param uint8_t firstType |
| ** @param uint8_t nTypes |
| ** @param uint8_t firstKTLevelt |
| ** @param uint8_t nKTLevels |
| ** @param uint32_t indicators |
| ** @param uint8_t groupNames |
| ** @param uint8_t nRadioGroups |
| ** @param xcb_keycode_t firstKey |
| ** @param uint8_t nKeys |
| ** @param uint8_t nKeyAliases |
| ** @param uint16_t totalKTLevelNames |
| ** @param const xcb_xkb_set_names_values_t *values |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_names_aux (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t virtualMods /**< */, |
| uint32_t which /**< */, |
| uint8_t firstType /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t firstKTLevelt /**< */, |
| uint8_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nRadioGroups /**< */, |
| xcb_keycode_t firstKey /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint16_t totalKTLevelNames /**< */, |
| const xcb_xkb_set_names_values_t *values /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 3, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_NAMES, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[5]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_names_request_t xcb_out; |
| void *xcb_aux0 = 0; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.virtualMods = virtualMods; |
| xcb_out.which = which; |
| xcb_out.firstType = firstType; |
| xcb_out.nTypes = nTypes; |
| xcb_out.firstKTLevelt = firstKTLevelt; |
| xcb_out.nKTLevels = nKTLevels; |
| xcb_out.indicators = indicators; |
| xcb_out.groupNames = groupNames; |
| xcb_out.nRadioGroups = nRadioGroups; |
| xcb_out.firstKey = firstKey; |
| xcb_out.nKeys = nKeys; |
| xcb_out.nKeyAliases = nKeyAliases; |
| xcb_out.pad0 = 0; |
| xcb_out.totalKTLevelNames = totalKTLevelNames; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_set_names_values_t values */ |
| xcb_parts[4].iov_len = |
| xcb_xkb_set_names_values_serialize (&xcb_aux0, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, values); |
| xcb_parts[4].iov_base = xcb_aux0; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| free(xcb_aux0); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t change |
| ** @param uint32_t value |
| ** @param uint32_t ctrlsToChange |
| ** @param uint32_t autoCtrls |
| ** @param uint32_t autoCtrlsValues |
| ** @returns xcb_xkb_per_client_flags_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_per_client_flags_cookie_t |
| xcb_xkb_per_client_flags (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t change /**< */, |
| uint32_t value /**< */, |
| uint32_t ctrlsToChange /**< */, |
| uint32_t autoCtrls /**< */, |
| uint32_t autoCtrlsValues /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_PER_CLIENT_FLAGS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_per_client_flags_cookie_t xcb_ret; |
| xcb_xkb_per_client_flags_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.change = change; |
| xcb_out.value = value; |
| xcb_out.ctrlsToChange = ctrlsToChange; |
| xcb_out.autoCtrls = autoCtrls; |
| xcb_out.autoCtrlsValues = autoCtrlsValues; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint32_t change |
| ** @param uint32_t value |
| ** @param uint32_t ctrlsToChange |
| ** @param uint32_t autoCtrls |
| ** @param uint32_t autoCtrlsValues |
| ** @returns xcb_xkb_per_client_flags_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_per_client_flags_cookie_t |
| xcb_xkb_per_client_flags_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint32_t change /**< */, |
| uint32_t value /**< */, |
| uint32_t ctrlsToChange /**< */, |
| uint32_t autoCtrls /**< */, |
| uint32_t autoCtrlsValues /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_PER_CLIENT_FLAGS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_per_client_flags_cookie_t xcb_ret; |
| xcb_xkb_per_client_flags_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.change = change; |
| xcb_out.value = value; |
| xcb_out.ctrlsToChange = ctrlsToChange; |
| xcb_out.autoCtrls = autoCtrls; |
| xcb_out.autoCtrlsValues = autoCtrlsValues; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_per_client_flags_reply_t * xcb_xkb_per_client_flags_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_per_client_flags_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_per_client_flags_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_per_client_flags_reply_t * |
| xcb_xkb_per_client_flags_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_per_client_flags_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_per_client_flags_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_list_components_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_list_components_reply_t *_aux = (xcb_xkb_list_components_reply_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| xcb_block_len += sizeof(xcb_xkb_list_components_reply_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* keymaps */ |
| for(i=0; i<_aux->nKeymaps; i++) { |
| xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_listing_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keycodes */ |
| for(i=0; i<_aux->nKeycodes; i++) { |
| xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_listing_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types */ |
| for(i=0; i<_aux->nTypes; i++) { |
| xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_listing_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* compatMaps */ |
| for(i=0; i<_aux->nCompatMaps; i++) { |
| xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_listing_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* symbols */ |
| for(i=0; i<_aux->nSymbols; i++) { |
| xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_listing_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* geometries */ |
| for(i=0; i<_aux->nGeometries; i++) { |
| xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_listing_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t maxNames |
| ** @returns xcb_xkb_list_components_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_list_components_cookie_t |
| xcb_xkb_list_components (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t maxNames /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_LIST_COMPONENTS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_list_components_cookie_t xcb_ret; |
| xcb_xkb_list_components_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.maxNames = maxNames; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t maxNames |
| ** @returns xcb_xkb_list_components_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_list_components_cookie_t |
| xcb_xkb_list_components_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t maxNames /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_LIST_COMPONENTS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_list_components_cookie_t xcb_ret; |
| xcb_xkb_list_components_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.maxNames = maxNames; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_list_components_keymaps_length |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_list_components_keymaps_length (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| return R->nKeymaps; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keymaps_iterator |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns xcb_xkb_listing_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_listing_iterator_t |
| xcb_xkb_list_components_keymaps_iterator (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| xcb_xkb_listing_iterator_t i; |
| i.data = (xcb_xkb_listing_t *) (R + 1); |
| i.rem = R->nKeymaps; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_list_components_keycodes_length |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_list_components_keycodes_length (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| return R->nKeycodes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keycodes_iterator |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns xcb_xkb_listing_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_listing_iterator_t |
| xcb_xkb_list_components_keycodes_iterator (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| xcb_xkb_listing_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_keymaps_iterator(R)); |
| i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index)); |
| i.rem = R->nKeycodes; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_list_components_types_length |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_list_components_types_length (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| return R->nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_types_iterator |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns xcb_xkb_listing_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_listing_iterator_t |
| xcb_xkb_list_components_types_iterator (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| xcb_xkb_listing_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_keycodes_iterator(R)); |
| i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index)); |
| i.rem = R->nTypes; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_list_components_compat_maps_length |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_list_components_compat_maps_length (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| return R->nCompatMaps; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_compat_maps_iterator |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns xcb_xkb_listing_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_listing_iterator_t |
| xcb_xkb_list_components_compat_maps_iterator (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| xcb_xkb_listing_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_types_iterator(R)); |
| i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index)); |
| i.rem = R->nCompatMaps; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_list_components_symbols_length |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_list_components_symbols_length (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| return R->nSymbols; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_symbols_iterator |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns xcb_xkb_listing_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_listing_iterator_t |
| xcb_xkb_list_components_symbols_iterator (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| xcb_xkb_listing_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_compat_maps_iterator(R)); |
| i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index)); |
| i.rem = R->nSymbols; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_list_components_geometries_length |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_list_components_geometries_length (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| return R->nGeometries; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_geometries_iterator |
| ** |
| ** @param const xcb_xkb_list_components_reply_t *R |
| ** @returns xcb_xkb_listing_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_listing_iterator_t |
| xcb_xkb_list_components_geometries_iterator (const xcb_xkb_list_components_reply_t *R /**< */) |
| { |
| xcb_xkb_listing_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_symbols_iterator(R)); |
| i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index)); |
| i.rem = R->nGeometries; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_list_components_reply_t * xcb_xkb_list_components_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_list_components_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_list_components_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_list_components_reply_t * |
| xcb_xkb_list_components_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_list_components_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_list_components_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_type_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_key_type_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_type_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_key_type_iterator_t i; |
| i.data = /* replies */ S->types.map.types_rtrn; |
| i.rem = /* replies */ S->types.nTypes; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.nKeySyms; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_key_sym_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_sym_map_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_key_sym_map_iterator_t i; |
| i.data = /* replies */ S->types.map.syms_rtrn; |
| i.rem = /* replies */ S->types.nKeySyms; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.acts_rtrn_count; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.nKeyActions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->types.map.acts_rtrn_count + /* replies */ S->types.nKeyActions; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_action_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.acts_rtrn_acts; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.totalActions; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_action_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_action_iterator_t i; |
| i.data = /* replies */ S->types.map.acts_rtrn_acts; |
| i.rem = /* replies */ S->types.totalActions; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_behavior_t * xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_set_behavior_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_behavior_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.behaviors_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.totalKeyBehaviors; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_set_behavior_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_behavior_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_set_behavior_iterator_t i; |
| i.data = /* replies */ S->types.map.behaviors_rtrn; |
| i.rem = /* replies */ S->types.totalKeyBehaviors; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.vmods_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return xcb_popcount(/* replies */ S->types.virtualMods); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->types.map.vmods_rtrn + xcb_popcount(/* replies */ S->types.virtualMods); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_explicit_t * xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_set_explicit_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_explicit_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.explicit_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.totalKeyExplicit; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_set_explicit_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_explicit_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_set_explicit_iterator_t i; |
| i.data = /* replies */ S->types.map.explicit_rtrn; |
| i.rem = /* replies */ S->types.totalKeyExplicit; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_key_mod_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_mod_map_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.modmap_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.totalModMapKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_key_mod_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_mod_map_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_key_mod_map_iterator_t i; |
| i.data = /* replies */ S->types.map.modmap_rtrn; |
| i.rem = /* replies */ S->types.totalModMapKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_key_v_mod_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_v_mod_map_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.map.vmodmap_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->types.totalVModMapKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R |
| ** @returns xcb_xkb_key_v_mod_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_v_mod_map_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_key_v_mod_map_iterator_t i; |
| i.data = /* replies */ S->types.map.vmodmap_rtrn; |
| i.rem = /* replies */ S->types.totalVModMapKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_serialize (void **_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_types_map_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[19]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if(present & XCB_XKB_MAP_PART_KEY_TYPES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types_rtrn; |
| xcb_parts[xcb_parts_idx].iov_len = 0; |
| xcb_tmp = (char *) _aux->types_rtrn; |
| for(i=0; i<nTypes; i++) { |
| xcb_block_len = xcb_xkb_key_type_sizeof(xcb_tmp); |
| xcb_parts[xcb_parts_idx].iov_len += xcb_block_len; |
| } |
| xcb_block_len = xcb_parts[xcb_parts_idx].iov_len; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_type_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_SYMS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* syms_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms_rtrn; |
| xcb_parts[xcb_parts_idx].iov_len = 0; |
| xcb_tmp = (char *) _aux->syms_rtrn; |
| for(i=0; i<nKeySyms; i++) { |
| xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp); |
| xcb_parts[xcb_parts_idx].iov_len += xcb_block_len; |
| } |
| xcb_block_len = xcb_parts[xcb_parts_idx].iov_len; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_count */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_count; |
| xcb_block_len += nKeyActions * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_acts */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_acts; |
| xcb_block_len += totalActions * sizeof(xcb_xkb_action_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* behaviors_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors_rtrn; |
| xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmods_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods_rtrn; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* explicit_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit_rtrn; |
| xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t); |
| } |
| if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* modmap_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap_rtrn; |
| xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmodmap_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap_rtrn; |
| xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_unpack (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */, |
| xcb_xkb_get_kbd_by_name_replies_types_map_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| if(present & XCB_XKB_MAP_PART_KEY_TYPES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* types_rtrn */ |
| _aux->types_rtrn = (xcb_xkb_key_type_t *)xcb_tmp; |
| for(i=0; i<nTypes; i++) { |
| xcb_tmp_len = xcb_xkb_key_type_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_key_type_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_SYMS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* syms_rtrn */ |
| _aux->syms_rtrn = (xcb_xkb_key_sym_map_t *)xcb_tmp; |
| for(i=0; i<nKeySyms; i++) { |
| xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_count */ |
| _aux->acts_rtrn_count = (uint8_t *)xcb_tmp; |
| xcb_block_len += nKeyActions * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* acts_rtrn_acts */ |
| _aux->acts_rtrn_acts = (xcb_xkb_action_t *)xcb_tmp; |
| xcb_block_len += totalActions * sizeof(xcb_xkb_action_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| } |
| if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* behaviors_rtrn */ |
| _aux->behaviors_rtrn = (xcb_xkb_set_behavior_t *)xcb_tmp; |
| xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmods_rtrn */ |
| _aux->vmods_rtrn = (uint8_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| } |
| if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* explicit_rtrn */ |
| _aux->explicit_rtrn = (xcb_xkb_set_explicit_t *)xcb_tmp; |
| xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t); |
| } |
| if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* modmap_rtrn */ |
| _aux->modmap_rtrn = (xcb_xkb_key_mod_map_t *)xcb_tmp; |
| xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t); |
| } |
| if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* vmodmap_rtrn */ |
| _aux->vmodmap_rtrn = (xcb_xkb_key_v_mod_map_t *)xcb_tmp; |
| xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_types_map_sizeof (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint8_t nKeySyms /**< */, |
| uint8_t nKeyActions /**< */, |
| uint16_t totalActions /**< */, |
| uint8_t totalKeyBehaviors /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t totalKeyExplicit /**< */, |
| uint8_t totalModMapKeys /**< */, |
| uint8_t totalVModMapKeys /**< */, |
| uint16_t present /**< */) |
| { |
| xcb_xkb_get_kbd_by_name_replies_types_map_t _aux; |
| return xcb_xkb_get_kbd_by_name_replies_types_map_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.typeNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.nTypes; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.typeNames + /* replies */ S->key_names.nTypes; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** uint8_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns uint8_t * |
| ** |
| *****************************************************************************/ |
| |
| uint8_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.nLevelsPerType; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.nKTLevels; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.nLevelsPerType + /* replies */ S->key_names.nKTLevels; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.ktLevelNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return xcb_sumof(/* replies */ S->key_names.valueList.nLevelsPerType, /* replies */ S->key_names.nKTLevels); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.ktLevelNames + xcb_sumof(/* replies */ S->key_names.valueList.nLevelsPerType, /* replies */ S->key_names.nKTLevels); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.indicatorNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return xcb_popcount(/* replies */ S->key_names.indicators); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.indicatorNames + xcb_popcount(/* replies */ S->key_names.indicators); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.virtualModNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return xcb_popcount(/* replies */ S->key_names.virtualMods); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.virtualModNames + xcb_popcount(/* replies */ S->key_names.virtualMods); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.groups; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return xcb_popcount(/* replies */ S->key_names.groupNames); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.groups + xcb_popcount(/* replies */ S->key_names.groupNames); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_name_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_key_name_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_name_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.keyNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.nKeys; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_name_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_xkb_key_name_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_name_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_key_name_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.keyNames; |
| i.rem = /* replies */ S->key_names.nKeys; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_alias_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_key_alias_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_alias_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.keyAliases; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.nKeyAliases; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_xkb_key_alias_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_key_alias_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_key_alias_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.keyAliases; |
| i.rem = /* replies */ S->key_names.nKeyAliases; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_atom_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_atom_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.valueList.radioGroupNames; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->key_names.nRadioGroups; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = /* replies */ S->key_names.valueList.radioGroupNames + /* replies */ S->key_names.nRadioGroups; |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize (void **_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint16_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[25]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if(which & XCB_XKB_NAME_DETAIL_KEYCODES) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.keycodesName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.geometryName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.symbolsName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.physSymbolsName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_TYPES) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.typesName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_COMPAT) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.compatName */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* typeNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames; |
| xcb_block_len += nTypes * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* nLevelsPerType */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType; |
| xcb_block_len += nKTLevels * sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKTLevels * sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* ktLevelNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames; |
| xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* indicatorNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames; |
| xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* virtualModNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groups */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups; |
| xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames; |
| xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_name_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyAliases */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases; |
| xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* radioGroupNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames; |
| xcb_block_len += nRadioGroups * sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint16_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */, |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| if(which & XCB_XKB_NAME_DETAIL_KEYCODES) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.keycodesName */ |
| _aux->keycodesName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.geometryName */ |
| _aux->geometryName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.symbolsName */ |
| _aux->symbolsName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.physSymbolsName */ |
| _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_TYPES) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.typesName */ |
| _aux->typesName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_COMPAT) { |
| /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.compatName */ |
| _aux->compatName = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* typeNames */ |
| _aux->typeNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += nTypes * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* nLevelsPerType */ |
| _aux->nLevelsPerType = (uint8_t *)xcb_tmp; |
| xcb_block_len += nKTLevels * sizeof(uint8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* ktLevelNames */ |
| _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* indicatorNames */ |
| _aux->indicatorNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* virtualModNames */ |
| _aux->virtualModNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* groups */ |
| _aux->groups = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyNames */ |
| _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp; |
| xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_name_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* keyAliases */ |
| _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp; |
| xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t); |
| } |
| if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) { |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* radioGroupNames */ |
| _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp; |
| xcb_block_len += nRadioGroups * sizeof(xcb_atom_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof (const void *_buffer /**< */, |
| uint8_t nTypes /**< */, |
| uint16_t nKTLevels /**< */, |
| uint32_t indicators /**< */, |
| uint16_t virtualMods /**< */, |
| uint8_t groupNames /**< */, |
| uint8_t nKeys /**< */, |
| uint8_t nKeyAliases /**< */, |
| uint8_t nRadioGroups /**< */, |
| uint32_t which /**< */) |
| { |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t _aux; |
| return xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(_buffer, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_kbd_by_name_replies_types_map_t * xcb_xkb_get_kbd_by_name_replies_types_map |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns xcb_xkb_get_kbd_by_name_replies_types_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_kbd_by_name_replies_types_map_t * |
| xcb_xkb_get_kbd_by_name_replies_types_map (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */) |
| { |
| return (xcb_xkb_get_kbd_by_name_replies_types_map_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_sym_interpret_t * xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_sym_interpret_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_sym_interpret_t * |
| xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->compat_map.si_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->compat_map.nSIRtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns xcb_xkb_sym_interpret_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_sym_interpret_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_sym_interpret_iterator_t i; |
| i.data = /* replies */ S->compat_map.si_rtrn; |
| i.rem = /* replies */ S->compat_map.nSIRtrn; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_mod_def_t * xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_mod_def_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_mod_def_t * |
| xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->compat_map.group_rtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return xcb_popcount(/* replies */ S->compat_map.groupsRtrn); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns xcb_xkb_mod_def_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_mod_def_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_mod_def_iterator_t i; |
| i.data = /* replies */ S->compat_map.group_rtrn; |
| i.rem = xcb_popcount(/* replies */ S->compat_map.groupsRtrn); |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_indicator_map_t * xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *S |
| ** @returns xcb_xkb_indicator_map_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_indicator_map_t * |
| xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps (const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->indicator_maps.maps; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| return /* replies */ S->indicator_maps.nIndicators; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns xcb_xkb_indicator_map_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_indicator_map_iterator_t |
| xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *S /**< */) |
| { |
| xcb_xkb_indicator_map_iterator_t i; |
| i.data = /* replies */ S->indicator_maps.maps; |
| i.rem = /* replies */ S->indicator_maps.nIndicators; |
| i.index = (char *) i.data - (char *) S; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t * |
| xcb_xkb_get_kbd_by_name_replies_key_names_value_list (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */) |
| { |
| return (xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_counted_string_16_t * xcb_xkb_get_kbd_by_name_replies_geometry_label_font |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_replies_t *R |
| ** @returns xcb_xkb_counted_string_16_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_counted_string_16_t * |
| xcb_xkb_get_kbd_by_name_replies_geometry_label_font (const xcb_xkb_get_kbd_by_name_replies_t *R /**< */) |
| { |
| return (xcb_xkb_counted_string_16_t *) (R + 1); |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_serialize (void **_buffer /**< */, |
| uint16_t reported /**< */, |
| const xcb_xkb_get_kbd_by_name_replies_t *_aux /**< */) |
| { |
| char *xcb_out = *_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int xcb_pad = 0; |
| char xcb_pad0[3] = {0, 0, 0}; |
| struct iovec xcb_parts[96]; |
| unsigned int xcb_parts_idx = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int i; |
| char *xcb_tmp; |
| |
| if((reported & XCB_XKB_GBN_DETAIL_TYPES) || |
| (reported & XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS) || |
| (reported & XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_type */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_type; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.typeDeviceID */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeDeviceID; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_sequence */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_sequence; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_length */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_length; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.pad0 */ |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_block_len += sizeof(uint8_t)*2; |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*2; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMinKeyCode */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeMinKeyCode; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMaxKeyCode */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeMaxKeyCode; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.present */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.present; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstType */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstType; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nTypes */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nTypes; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalTypes */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalTypes; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeySym */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeySym; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalSyms */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalSyms; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeySyms */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeySyms; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyAction */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyAction; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalActions */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalActions; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyActions */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyActions; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyBehavior */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyBehavior; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyBehaviors */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyBehaviors; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyBehaviors */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalKeyBehaviors; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyExplicit */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyExplicit; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyExplicit */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyExplicit; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyExplicit */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalKeyExplicit; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstModMapKey */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstModMapKey; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nModMapKeys */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nModMapKeys; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalModMapKeys */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalModMapKeys; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstVModMapKey */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstVModMapKey; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nVModMapKeys */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nVModMapKeys; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalVModMapKeys */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalVModMapKeys; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.pad1 */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.virtualMods */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.virtualMods; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* map */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *)0; |
| xcb_block_len += xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_types_map_t); |
| } |
| if(reported & XCB_XKB_GBN_DETAIL_COMPAT_MAP) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_type */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_type; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatDeviceID */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatDeviceID; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_sequence */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_sequence; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_length */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_length; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.groupsRtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.groupsRtrn; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad0 */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.firstSIRtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.firstSIRtrn; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nSIRtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.nSIRtrn; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nTotalSI */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.nTotalSI; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad1 */ |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_block_len += sizeof(uint8_t)*16; |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*16; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* si_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->compat_map.si_rtrn; |
| xcb_block_len += _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_parts[xcb_parts_idx].iov_len = _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* group_rtrn */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->compat_map.group_rtrn; |
| xcb_block_len += xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t); |
| } |
| if(reported & XCB_XKB_GBN_DETAIL_INDICATOR_MAPS) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_type */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_type; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatorDeviceID */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatorDeviceID; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_sequence */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_sequence; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_length */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_length; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.which */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.which; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.realIndicators */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.realIndicators; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.nIndicators */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.nIndicators; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.pad0 */ |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_block_len += sizeof(uint8_t)*15; |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*15; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* maps */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicator_maps.maps; |
| xcb_block_len += _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t); |
| xcb_parts[xcb_parts_idx].iov_len = _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t); |
| } |
| if((reported & XCB_XKB_GBN_DETAIL_KEY_NAMES) || |
| (reported & XCB_XKB_GBN_DETAIL_OTHER_NAMES)) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_type */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_type; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyDeviceID */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyDeviceID; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_sequence */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_sequence; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_length */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_length; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.which */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.which; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMinKeyCode */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyMinKeyCode; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMaxKeyCode */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyMaxKeyCode; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nTypes */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nTypes; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.groupNames */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.groupNames; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.virtualMods */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.virtualMods; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.firstKey */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.firstKey; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeys */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKeys; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.indicators */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.indicators; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nRadioGroups */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nRadioGroups; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeyAliases */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKeyAliases; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKTLevels */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKTLevels; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.pad0 */ |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_block_len += sizeof(uint8_t)*4; |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*4; |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* valueList */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *)0; |
| xcb_block_len += xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t); |
| } |
| if(reported & XCB_XKB_GBN_DETAIL_GEOMETRY) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_type */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_type; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryDeviceID */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometryDeviceID; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_sequence */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_sequence; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_length */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_length; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.name */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.name; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryFound */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometryFound; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.pad0 */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.widthMM */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.widthMM; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.heightMM */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.heightMM; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nProperties */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nProperties; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nColors */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nColors; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nShapes */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nShapes; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nSections */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nSections; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nDoodads */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nDoodads; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nKeyAliases */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nKeyAliases; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.baseColorNdx */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.baseColorNdx; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.labelColorNdx */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.labelColorNdx; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* labelFont */ |
| xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->geometry.labelFont; |
| xcb_block_len += xcb_xkb_counted_string_16_sizeof(_aux->geometry.labelFont); |
| xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_counted_string_16_sizeof(_aux->geometry.labelFont); |
| xcb_parts_idx++; |
| xcb_align_to = ALIGNOF(xcb_xkb_counted_string_16_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_parts[xcb_parts_idx].iov_base = xcb_pad0; |
| xcb_parts[xcb_parts_idx].iov_len = xcb_pad; |
| xcb_parts_idx++; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| if (NULL == xcb_out) { |
| /* allocate memory */ |
| xcb_out = malloc(xcb_buffer_len); |
| *_buffer = xcb_out; |
| } |
| |
| xcb_tmp = xcb_out; |
| for(i=0; i<xcb_parts_idx; i++) { |
| if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len) |
| memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len); |
| if (0 != xcb_parts[i].iov_len) |
| xcb_tmp += xcb_parts[i].iov_len; |
| } |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_unpack (const void *_buffer /**< */, |
| uint16_t reported /**< */, |
| xcb_xkb_get_kbd_by_name_replies_t *_aux /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| if((reported & XCB_XKB_GBN_DETAIL_TYPES) || |
| (reported & XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS) || |
| (reported & XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_type */ |
| _aux->types.getmap_type = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.typeDeviceID */ |
| _aux->types.typeDeviceID = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_sequence */ |
| _aux->types.getmap_sequence = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_length */ |
| _aux->types.getmap_length = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.pad0 */ |
| _aux->types.pad0[0] = *(uint8_t *)xcb_tmp; |
| _aux->types.pad0[1] = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t) * 2; |
| xcb_tmp += sizeof(uint8_t) * 2; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMinKeyCode */ |
| _aux->types.typeMinKeyCode = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMaxKeyCode */ |
| _aux->types.typeMaxKeyCode = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.present */ |
| _aux->types.present = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstType */ |
| _aux->types.firstType = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nTypes */ |
| _aux->types.nTypes = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalTypes */ |
| _aux->types.totalTypes = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeySym */ |
| _aux->types.firstKeySym = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalSyms */ |
| _aux->types.totalSyms = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeySyms */ |
| _aux->types.nKeySyms = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyAction */ |
| _aux->types.firstKeyAction = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalActions */ |
| _aux->types.totalActions = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyActions */ |
| _aux->types.nKeyActions = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyBehavior */ |
| _aux->types.firstKeyBehavior = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyBehaviors */ |
| _aux->types.nKeyBehaviors = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyBehaviors */ |
| _aux->types.totalKeyBehaviors = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyExplicit */ |
| _aux->types.firstKeyExplicit = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyExplicit */ |
| _aux->types.nKeyExplicit = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyExplicit */ |
| _aux->types.totalKeyExplicit = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstModMapKey */ |
| _aux->types.firstModMapKey = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nModMapKeys */ |
| _aux->types.nModMapKeys = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalModMapKeys */ |
| _aux->types.totalModMapKeys = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.firstVModMapKey */ |
| _aux->types.firstVModMapKey = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.nVModMapKeys */ |
| _aux->types.nVModMapKeys = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.totalVModMapKeys */ |
| _aux->types.totalVModMapKeys = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.pad1 */ |
| _aux->types.pad1 = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.types.virtualMods */ |
| _aux->types.virtualMods = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* map */ |
| xcb_block_len += xcb_xkb_get_kbd_by_name_replies_types_map_unpack(xcb_tmp, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_types_map_t); |
| } |
| if(reported & XCB_XKB_GBN_DETAIL_COMPAT_MAP) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_type */ |
| _aux->compat_map.compatmap_type = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatDeviceID */ |
| _aux->compat_map.compatDeviceID = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_sequence */ |
| _aux->compat_map.compatmap_sequence = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_length */ |
| _aux->compat_map.compatmap_length = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.groupsRtrn */ |
| _aux->compat_map.groupsRtrn = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad0 */ |
| _aux->compat_map.pad0 = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.firstSIRtrn */ |
| _aux->compat_map.firstSIRtrn = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nSIRtrn */ |
| _aux->compat_map.nSIRtrn = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nTotalSI */ |
| _aux->compat_map.nTotalSI = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad1 */ |
| _aux->compat_map.pad1[0] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[1] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[2] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[3] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[4] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[5] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[6] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[7] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[8] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[9] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[10] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[11] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[12] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[13] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[14] = *(uint8_t *)xcb_tmp; |
| _aux->compat_map.pad1[15] = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t) * 16; |
| xcb_tmp += sizeof(uint8_t) * 16; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* si_rtrn */ |
| _aux->compat_map.si_rtrn = (xcb_xkb_sym_interpret_t *)xcb_tmp; |
| xcb_block_len += _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* group_rtrn */ |
| _aux->compat_map.group_rtrn = (xcb_xkb_mod_def_t *)xcb_tmp; |
| xcb_block_len += xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t); |
| } |
| if(reported & XCB_XKB_GBN_DETAIL_INDICATOR_MAPS) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_type */ |
| _aux->indicator_maps.indicatormap_type = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatorDeviceID */ |
| _aux->indicator_maps.indicatorDeviceID = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_sequence */ |
| _aux->indicator_maps.indicatormap_sequence = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_length */ |
| _aux->indicator_maps.indicatormap_length = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.which */ |
| _aux->indicator_maps.which = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.realIndicators */ |
| _aux->indicator_maps.realIndicators = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.nIndicators */ |
| _aux->indicator_maps.nIndicators = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.pad0 */ |
| _aux->indicator_maps.pad0[0] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[1] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[2] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[3] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[4] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[5] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[6] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[7] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[8] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[9] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[10] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[11] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[12] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[13] = *(uint8_t *)xcb_tmp; |
| _aux->indicator_maps.pad0[14] = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t) * 15; |
| xcb_tmp += sizeof(uint8_t) * 15; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* maps */ |
| _aux->indicator_maps.maps = (xcb_xkb_indicator_map_t *)xcb_tmp; |
| xcb_block_len += _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t); |
| } |
| if((reported & XCB_XKB_GBN_DETAIL_KEY_NAMES) || |
| (reported & XCB_XKB_GBN_DETAIL_OTHER_NAMES)) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_type */ |
| _aux->key_names.keyname_type = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyDeviceID */ |
| _aux->key_names.keyDeviceID = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_sequence */ |
| _aux->key_names.keyname_sequence = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_length */ |
| _aux->key_names.keyname_length = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.which */ |
| _aux->key_names.which = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMinKeyCode */ |
| _aux->key_names.keyMinKeyCode = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMaxKeyCode */ |
| _aux->key_names.keyMaxKeyCode = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nTypes */ |
| _aux->key_names.nTypes = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.groupNames */ |
| _aux->key_names.groupNames = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.virtualMods */ |
| _aux->key_names.virtualMods = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.firstKey */ |
| _aux->key_names.firstKey = *(xcb_keycode_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_keycode_t); |
| xcb_tmp += sizeof(xcb_keycode_t); |
| xcb_align_to = ALIGNOF(xcb_keycode_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeys */ |
| _aux->key_names.nKeys = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.indicators */ |
| _aux->key_names.indicators = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nRadioGroups */ |
| _aux->key_names.nRadioGroups = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeyAliases */ |
| _aux->key_names.nKeyAliases = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKTLevels */ |
| _aux->key_names.nKTLevels = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.key_names.pad0 */ |
| _aux->key_names.pad0[0] = *(uint8_t *)xcb_tmp; |
| _aux->key_names.pad0[1] = *(uint8_t *)xcb_tmp; |
| _aux->key_names.pad0[2] = *(uint8_t *)xcb_tmp; |
| _aux->key_names.pad0[3] = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t) * 4; |
| xcb_tmp += sizeof(uint8_t) * 4; |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* valueList */ |
| xcb_block_len += xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(xcb_tmp, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t); |
| } |
| if(reported & XCB_XKB_GBN_DETAIL_GEOMETRY) { |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_type */ |
| _aux->geometry.geometry_type = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryDeviceID */ |
| _aux->geometry.geometryDeviceID = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_sequence */ |
| _aux->geometry.geometry_sequence = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_length */ |
| _aux->geometry.geometry_length = *(uint32_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint32_t); |
| xcb_tmp += sizeof(uint32_t); |
| xcb_align_to = ALIGNOF(uint32_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.name */ |
| _aux->geometry.name = *(xcb_atom_t *)xcb_tmp; |
| xcb_block_len += sizeof(xcb_atom_t); |
| xcb_tmp += sizeof(xcb_atom_t); |
| xcb_align_to = ALIGNOF(xcb_atom_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryFound */ |
| _aux->geometry.geometryFound = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.pad0 */ |
| _aux->geometry.pad0 = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.widthMM */ |
| _aux->geometry.widthMM = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.heightMM */ |
| _aux->geometry.heightMM = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nProperties */ |
| _aux->geometry.nProperties = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nColors */ |
| _aux->geometry.nColors = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nShapes */ |
| _aux->geometry.nShapes = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nSections */ |
| _aux->geometry.nSections = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nDoodads */ |
| _aux->geometry.nDoodads = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nKeyAliases */ |
| _aux->geometry.nKeyAliases = *(uint16_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint16_t); |
| xcb_tmp += sizeof(uint16_t); |
| xcb_align_to = ALIGNOF(uint16_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.baseColorNdx */ |
| _aux->geometry.baseColorNdx = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* xcb_xkb_get_kbd_by_name_replies_t.geometry.labelColorNdx */ |
| _aux->geometry.labelColorNdx = *(uint8_t *)xcb_tmp; |
| xcb_block_len += sizeof(uint8_t); |
| xcb_tmp += sizeof(uint8_t); |
| xcb_align_to = ALIGNOF(uint8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* labelFont */ |
| _aux->geometry.labelFont = (xcb_xkb_counted_string_16_t *)xcb_tmp; |
| xcb_block_len += xcb_xkb_counted_string_16_sizeof(xcb_tmp); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_counted_string_16_t); |
| } |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| int |
| xcb_xkb_get_kbd_by_name_replies_sizeof (const void *_buffer /**< */, |
| uint16_t reported /**< */) |
| { |
| xcb_xkb_get_kbd_by_name_replies_t _aux; |
| return xcb_xkb_get_kbd_by_name_replies_unpack(_buffer, reported, &_aux); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t need |
| ** @param uint16_t want |
| ** @param uint8_t load |
| ** @returns xcb_xkb_get_kbd_by_name_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_kbd_by_name_cookie_t |
| xcb_xkb_get_kbd_by_name (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t need /**< */, |
| uint16_t want /**< */, |
| uint8_t load /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_KBD_BY_NAME, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_kbd_by_name_cookie_t xcb_ret; |
| xcb_xkb_get_kbd_by_name_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.need = need; |
| xcb_out.want = want; |
| xcb_out.load = load; |
| xcb_out.pad0 = 0; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t need |
| ** @param uint16_t want |
| ** @param uint8_t load |
| ** @returns xcb_xkb_get_kbd_by_name_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_kbd_by_name_cookie_t |
| xcb_xkb_get_kbd_by_name_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t need /**< */, |
| uint16_t want /**< */, |
| uint8_t load /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_KBD_BY_NAME, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_kbd_by_name_cookie_t xcb_ret; |
| xcb_xkb_get_kbd_by_name_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.need = need; |
| xcb_out.want = want; |
| xcb_out.load = load; |
| xcb_out.pad0 = 0; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_kbd_by_name_replies_t * xcb_xkb_get_kbd_by_name_replies |
| ** |
| ** @param const xcb_xkb_get_kbd_by_name_reply_t *R |
| ** @returns xcb_xkb_get_kbd_by_name_replies_t * |
| ** |
| *****************************************************************************/ |
| |
| void * |
| xcb_xkb_get_kbd_by_name_replies (const xcb_xkb_get_kbd_by_name_reply_t *R /**< */) |
| { |
| return (void *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_kbd_by_name_reply_t * xcb_xkb_get_kbd_by_name_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_kbd_by_name_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_kbd_by_name_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_kbd_by_name_reply_t * |
| xcb_xkb_get_kbd_by_name_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_kbd_by_name_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_kbd_by_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_get_device_info_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_get_device_info_reply_t *_aux = (xcb_xkb_get_device_info_reply_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| xcb_block_len += sizeof(xcb_xkb_get_device_info_reply_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* name */ |
| xcb_block_len += _aux->nameLen * sizeof(xcb_xkb_string8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_string8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* btnActions */ |
| xcb_block_len += _aux->nBtnsRtrn * sizeof(xcb_xkb_action_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* leds */ |
| for(i=0; i<_aux->nDeviceLedFBs; i++) { |
| xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_device_led_info_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t wanted |
| ** @param uint8_t allButtons |
| ** @param uint8_t firstButton |
| ** @param uint8_t nButtons |
| ** @param xcb_xkb_led_class_spec_t ledClass |
| ** @param xcb_xkb_id_spec_t ledID |
| ** @returns xcb_xkb_get_device_info_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_device_info_cookie_t |
| xcb_xkb_get_device_info (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t wanted /**< */, |
| uint8_t allButtons /**< */, |
| uint8_t firstButton /**< */, |
| uint8_t nButtons /**< */, |
| xcb_xkb_led_class_spec_t ledClass /**< */, |
| xcb_xkb_id_spec_t ledID /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_DEVICE_INFO, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_device_info_cookie_t xcb_ret; |
| xcb_xkb_get_device_info_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.wanted = wanted; |
| xcb_out.allButtons = allButtons; |
| xcb_out.firstButton = firstButton; |
| xcb_out.nButtons = nButtons; |
| xcb_out.pad0 = 0; |
| xcb_out.ledClass = ledClass; |
| xcb_out.ledID = ledID; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint16_t wanted |
| ** @param uint8_t allButtons |
| ** @param uint8_t firstButton |
| ** @param uint8_t nButtons |
| ** @param xcb_xkb_led_class_spec_t ledClass |
| ** @param xcb_xkb_id_spec_t ledID |
| ** @returns xcb_xkb_get_device_info_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_device_info_cookie_t |
| xcb_xkb_get_device_info_unchecked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint16_t wanted /**< */, |
| uint8_t allButtons /**< */, |
| uint8_t firstButton /**< */, |
| uint8_t nButtons /**< */, |
| xcb_xkb_led_class_spec_t ledClass /**< */, |
| xcb_xkb_id_spec_t ledID /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 2, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_GET_DEVICE_INFO, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[4]; |
| xcb_xkb_get_device_info_cookie_t xcb_ret; |
| xcb_xkb_get_device_info_request_t xcb_out; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.wanted = wanted; |
| xcb_out.allButtons = allButtons; |
| xcb_out.firstButton = firstButton; |
| xcb_out.nButtons = nButtons; |
| xcb_out.pad0 = 0; |
| xcb_out.ledClass = ledClass; |
| xcb_out.ledID = ledID; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_string8_t * xcb_xkb_get_device_info_name |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns xcb_xkb_string8_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_string8_t * |
| xcb_xkb_get_device_info_name (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| return (xcb_xkb_string8_t *) (R + 1); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_device_info_name_length |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_device_info_name_length (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| return R->nameLen; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_generic_iterator_t xcb_xkb_get_device_info_name_end |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns xcb_generic_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_generic_iterator_t |
| xcb_xkb_get_device_info_name_end (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| xcb_generic_iterator_t i; |
| i.data = ((xcb_xkb_string8_t *) (R + 1)) + (R->nameLen); |
| i.rem = 0; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_t * xcb_xkb_get_device_info_btn_actions |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns xcb_xkb_action_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_t * |
| xcb_xkb_get_device_info_btn_actions (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| xcb_generic_iterator_t prev = xcb_xkb_get_device_info_name_end(R); |
| return (xcb_xkb_action_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_action_t, prev.index) + 0); |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_device_info_btn_actions_length |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_device_info_btn_actions_length (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| return R->nBtnsRtrn; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_action_iterator_t xcb_xkb_get_device_info_btn_actions_iterator |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns xcb_xkb_action_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_action_iterator_t |
| xcb_xkb_get_device_info_btn_actions_iterator (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| xcb_xkb_action_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_get_device_info_name_end(R); |
| i.data = (xcb_xkb_action_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_action_t, prev.index)); |
| i.rem = R->nBtnsRtrn; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** int xcb_xkb_get_device_info_leds_length |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns int |
| ** |
| *****************************************************************************/ |
| |
| int |
| xcb_xkb_get_device_info_leds_length (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| return R->nDeviceLedFBs; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_device_led_info_iterator_t xcb_xkb_get_device_info_leds_iterator |
| ** |
| ** @param const xcb_xkb_get_device_info_reply_t *R |
| ** @returns xcb_xkb_device_led_info_iterator_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_device_led_info_iterator_t |
| xcb_xkb_get_device_info_leds_iterator (const xcb_xkb_get_device_info_reply_t *R /**< */) |
| { |
| xcb_xkb_device_led_info_iterator_t i; |
| xcb_generic_iterator_t prev = xcb_xkb_action_end(xcb_xkb_get_device_info_btn_actions_iterator(R)); |
| i.data = (xcb_xkb_device_led_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_device_led_info_t, prev.index)); |
| i.rem = R->nDeviceLedFBs; |
| i.index = (char *) i.data - (char *) R; |
| return i; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_get_device_info_reply_t * xcb_xkb_get_device_info_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_get_device_info_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_get_device_info_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_get_device_info_reply_t * |
| xcb_xkb_get_device_info_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_get_device_info_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_get_device_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |
| int |
| xcb_xkb_set_device_info_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_set_device_info_request_t *_aux = (xcb_xkb_set_device_info_request_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| |
| xcb_block_len += sizeof(xcb_xkb_set_device_info_request_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* btnActions */ |
| xcb_block_len += _aux->nBtns * sizeof(xcb_xkb_action_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_action_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| /* leds */ |
| for(i=0; i<_aux->nDeviceLedFBs; i++) { |
| xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp); |
| xcb_block_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_align_to = ALIGNOF(xcb_xkb_device_led_info_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_device_info_checked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t firstBtn |
| ** @param uint8_t nBtns |
| ** @param uint16_t change |
| ** @param uint16_t nDeviceLedFBs |
| ** @param const xcb_xkb_action_t *btnActions |
| ** @param const xcb_xkb_device_led_info_t *leds |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_device_info_checked (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t firstBtn /**< */, |
| uint8_t nBtns /**< */, |
| uint16_t change /**< */, |
| uint16_t nDeviceLedFBs /**< */, |
| const xcb_xkb_action_t *btnActions /**< */, |
| const xcb_xkb_device_led_info_t *leds /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 6, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_DEVICE_INFO, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[8]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_device_info_request_t xcb_out; |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| char *xcb_tmp; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.firstBtn = firstBtn; |
| xcb_out.nBtns = nBtns; |
| xcb_out.change = change; |
| xcb_out.nDeviceLedFBs = nDeviceLedFBs; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_action_t btnActions */ |
| xcb_parts[4].iov_base = (char *) btnActions; |
| xcb_parts[4].iov_len = nBtns * sizeof(xcb_xkb_action_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| /* xcb_xkb_device_led_info_t leds */ |
| xcb_parts[6].iov_base = (char *) leds; |
| xcb_parts[6].iov_len = 0; |
| xcb_tmp = (char *)leds; |
| for(i=0; i<nDeviceLedFBs; i++) { |
| xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp); |
| xcb_parts[6].iov_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_parts[7].iov_base = 0; |
| xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_void_cookie_t xcb_xkb_set_device_info |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_device_spec_t deviceSpec |
| ** @param uint8_t firstBtn |
| ** @param uint8_t nBtns |
| ** @param uint16_t change |
| ** @param uint16_t nDeviceLedFBs |
| ** @param const xcb_xkb_action_t *btnActions |
| ** @param const xcb_xkb_device_led_info_t *leds |
| ** @returns xcb_void_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_void_cookie_t |
| xcb_xkb_set_device_info (xcb_connection_t *c /**< */, |
| xcb_xkb_device_spec_t deviceSpec /**< */, |
| uint8_t firstBtn /**< */, |
| uint8_t nBtns /**< */, |
| uint16_t change /**< */, |
| uint16_t nDeviceLedFBs /**< */, |
| const xcb_xkb_action_t *btnActions /**< */, |
| const xcb_xkb_device_led_info_t *leds /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 6, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_DEVICE_INFO, |
| /* isvoid */ 1 |
| }; |
| |
| struct iovec xcb_parts[8]; |
| xcb_void_cookie_t xcb_ret; |
| xcb_xkb_set_device_info_request_t xcb_out; |
| unsigned int i; |
| unsigned int xcb_tmp_len; |
| char *xcb_tmp; |
| |
| xcb_out.deviceSpec = deviceSpec; |
| xcb_out.firstBtn = firstBtn; |
| xcb_out.nBtns = nBtns; |
| xcb_out.change = change; |
| xcb_out.nDeviceLedFBs = nDeviceLedFBs; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_action_t btnActions */ |
| xcb_parts[4].iov_base = (char *) btnActions; |
| xcb_parts[4].iov_len = nBtns * sizeof(xcb_xkb_action_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| /* xcb_xkb_device_led_info_t leds */ |
| xcb_parts[6].iov_base = (char *) leds; |
| xcb_parts[6].iov_len = 0; |
| xcb_tmp = (char *)leds; |
| for(i=0; i<nDeviceLedFBs; i++) { |
| xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp); |
| xcb_parts[6].iov_len += xcb_tmp_len; |
| xcb_tmp += xcb_tmp_len; |
| } |
| xcb_parts[7].iov_base = 0; |
| xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| int |
| xcb_xkb_set_debugging_flags_sizeof (const void *_buffer /**< */) |
| { |
| char *xcb_tmp = (char *)_buffer; |
| const xcb_xkb_set_debugging_flags_request_t *_aux = (xcb_xkb_set_debugging_flags_request_t *)_buffer; |
| unsigned int xcb_buffer_len = 0; |
| unsigned int xcb_block_len = 0; |
| unsigned int xcb_pad = 0; |
| unsigned int xcb_align_to = 0; |
| |
| |
| xcb_block_len += sizeof(xcb_xkb_set_debugging_flags_request_t); |
| xcb_tmp += xcb_block_len; |
| xcb_buffer_len += xcb_block_len; |
| xcb_block_len = 0; |
| /* message */ |
| xcb_block_len += _aux->msgLength * sizeof(xcb_xkb_string8_t); |
| xcb_tmp += xcb_block_len; |
| xcb_align_to = ALIGNOF(xcb_xkb_string8_t); |
| /* insert padding */ |
| xcb_pad = -xcb_block_len & (xcb_align_to - 1); |
| xcb_buffer_len += xcb_block_len + xcb_pad; |
| if (0 != xcb_pad) { |
| xcb_tmp += xcb_pad; |
| xcb_pad = 0; |
| } |
| xcb_block_len = 0; |
| |
| return xcb_buffer_len; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags |
| ** |
| ** @param xcb_connection_t *c |
| ** @param uint16_t msgLength |
| ** @param uint32_t affectFlags |
| ** @param uint32_t flags |
| ** @param uint32_t affectCtrls |
| ** @param uint32_t ctrls |
| ** @param const xcb_xkb_string8_t *message |
| ** @returns xcb_xkb_set_debugging_flags_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_debugging_flags_cookie_t |
| xcb_xkb_set_debugging_flags (xcb_connection_t *c /**< */, |
| uint16_t msgLength /**< */, |
| uint32_t affectFlags /**< */, |
| uint32_t flags /**< */, |
| uint32_t affectCtrls /**< */, |
| uint32_t ctrls /**< */, |
| const xcb_xkb_string8_t *message /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 4, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_DEBUGGING_FLAGS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[6]; |
| xcb_xkb_set_debugging_flags_cookie_t xcb_ret; |
| xcb_xkb_set_debugging_flags_request_t xcb_out; |
| |
| xcb_out.msgLength = msgLength; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.affectFlags = affectFlags; |
| xcb_out.flags = flags; |
| xcb_out.affectCtrls = affectCtrls; |
| xcb_out.ctrls = ctrls; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_string8_t message */ |
| xcb_parts[4].iov_base = (char *) message; |
| xcb_parts[4].iov_len = msgLength * sizeof(xcb_xkb_string8_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags_unchecked |
| ** |
| ** @param xcb_connection_t *c |
| ** @param uint16_t msgLength |
| ** @param uint32_t affectFlags |
| ** @param uint32_t flags |
| ** @param uint32_t affectCtrls |
| ** @param uint32_t ctrls |
| ** @param const xcb_xkb_string8_t *message |
| ** @returns xcb_xkb_set_debugging_flags_cookie_t |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_debugging_flags_cookie_t |
| xcb_xkb_set_debugging_flags_unchecked (xcb_connection_t *c /**< */, |
| uint16_t msgLength /**< */, |
| uint32_t affectFlags /**< */, |
| uint32_t flags /**< */, |
| uint32_t affectCtrls /**< */, |
| uint32_t ctrls /**< */, |
| const xcb_xkb_string8_t *message /**< */) |
| { |
| static const xcb_protocol_request_t xcb_req = { |
| /* count */ 4, |
| /* ext */ &xcb_xkb_id, |
| /* opcode */ XCB_XKB_SET_DEBUGGING_FLAGS, |
| /* isvoid */ 0 |
| }; |
| |
| struct iovec xcb_parts[6]; |
| xcb_xkb_set_debugging_flags_cookie_t xcb_ret; |
| xcb_xkb_set_debugging_flags_request_t xcb_out; |
| |
| xcb_out.msgLength = msgLength; |
| memset(xcb_out.pad0, 0, 2); |
| xcb_out.affectFlags = affectFlags; |
| xcb_out.flags = flags; |
| xcb_out.affectCtrls = affectCtrls; |
| xcb_out.ctrls = ctrls; |
| |
| xcb_parts[2].iov_base = (char *) &xcb_out; |
| xcb_parts[2].iov_len = sizeof(xcb_out); |
| xcb_parts[3].iov_base = 0; |
| xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; |
| /* xcb_xkb_string8_t message */ |
| xcb_parts[4].iov_base = (char *) message; |
| xcb_parts[4].iov_len = msgLength * sizeof(xcb_xkb_string8_t); |
| xcb_parts[5].iov_base = 0; |
| xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; |
| |
| xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); |
| return xcb_ret; |
| } |
| |
| |
| /***************************************************************************** |
| ** |
| ** xcb_xkb_set_debugging_flags_reply_t * xcb_xkb_set_debugging_flags_reply |
| ** |
| ** @param xcb_connection_t *c |
| ** @param xcb_xkb_set_debugging_flags_cookie_t cookie |
| ** @param xcb_generic_error_t **e |
| ** @returns xcb_xkb_set_debugging_flags_reply_t * |
| ** |
| *****************************************************************************/ |
| |
| xcb_xkb_set_debugging_flags_reply_t * |
| xcb_xkb_set_debugging_flags_reply (xcb_connection_t *c /**< */, |
| xcb_xkb_set_debugging_flags_cookie_t cookie /**< */, |
| xcb_generic_error_t **e /**< */) |
| { |
| return (xcb_xkb_set_debugging_flags_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); |
| } |
| |