/*
* This file generated automatically from xkb.xml by c_client.py.
* Edit at your peril.
*/
#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 };
int qt_xcb_sumof(uint8_t *list, int len)
{
int i, s = 0;
for(i=0; i<len; i++) {
s += *list;
list++;
}
return s;
}
/*****************************************************************************
**
** void xcb_xkb_ax_option_next
**
** @param xcb_xkb_ax_option_iterator_t *i
** @returns void
**
*****************************************************************************/
void
xcb_xkb_ax_option_next (xcb_xkb_ax_option_iterator_t *i /**< */)
{
--i->rem;
++i->data;
i->index += sizeof(xcb_xkb_ax_option_t);
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_ax_option_end
**
** @param xcb_xkb_ax_option_iterator_t i
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_ax_option_end (xcb_xkb_ax_option_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_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_8_sizeof (const void *_buffer /**< */)
{
char *xcb_tmp = (char *)_buffer;
const xcb_xkb_counted_string_8_t *_aux = (xcb_xkb_counted_string_8_t *)_buffer;
unsigned int xcb_buffer_len = 0;
unsigned int xcb_block_len = 0;
unsigned int xcb_pad = 0;
unsigned int xcb_align_to;
xcb_block_len += sizeof(xcb_xkb_counted_string_8_t);
xcb_tmp += xcb_block_len;
/* string */
xcb_block_len += _aux->length * 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;
return xcb_buffer_len;
}
/*****************************************************************************
**
** uint8_t * xcb_xkb_counted_string_8_string
**
** @param const xcb_xkb_counted_string_8_t *R
** @returns uint8_t *
**
*****************************************************************************/
uint8_t *
xcb_xkb_counted_string_8_string (const xcb_xkb_counted_string_8_t *R /**< */)
{
return (uint8_t *) (R + 1);
}
/*****************************************************************************
**
** int xcb_xkb_counted_string_8_string_length
**
** @param const xcb_xkb_counted_string_8_t *R
** @returns int
**
*****************************************************************************/
int
xcb_xkb_counted_string_8_string_length (const xcb_xkb_counted_string_8_t *R /**< */)
{
return R->length;
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_counted_string_8_string_end
**
** @param const xcb_xkb_counted_string_8_t *R
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_counted_string_8_string_end (const xcb_xkb_counted_string_8_t *R /**< */)
{
xcb_generic_iterator_t i;
i.data = ((uint8_t *) (R + 1)) + (R->length);
i.rem = 0;
i.index = (char *) i.data - (char *) R;
return i;
}
/*****************************************************************************
**
** void xcb_xkb_counted_string_8_next
**
** @param xcb_xkb_counted_string_8_iterator_t *i
** @returns void
**
*****************************************************************************/
void
xcb_xkb_counted_string_8_next (xcb_xkb_counted_string_8_iterator_t *i /**< */)
{
xcb_xkb_counted_string_8_t *R = i->data;
xcb_generic_iterator_t child;
child.data = (xcb_xkb_counted_string_8_t *)(((char *)R) + xcb_xkb_counted_string_8_sizeof(R));
i->index = (char *) child.data - (char *) i->data;
--i->rem;
i->data = (xcb_xkb_counted_string_8_t *) child.data;
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_counted_string_8_end
**
** @param xcb_xkb_counted_string_8_iterator_t i
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_counted_string_8_end (xcb_xkb_counted_string_8_iterator_t i /**< */)
{
xcb_generic_iterator_t ret;
while(i.rem > 0)
xcb_xkb_counted_string_8_next(&i);
ret.data = i.data;
ret.rem = i.rem;
ret.index = i.index;
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;
xcb_block_len += sizeof(xcb_xkb_counted_string_16_t);
xcb_tmp += xcb_block_len;
/* string */
xcb_block_len += _aux->length * 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;
return xcb_buffer_len;
}
/*****************************************************************************
**
** uint8_t * xcb_xkb_counted_string_16_string
**
** @param const xcb_xkb_counted_string_16_t *R
** @returns uint8_t *
**
*****************************************************************************/
uint8_t *
xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R /**< */)
{
return (uint8_t *) (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 = ((uint8_t *) (R + 1)) + (R->length);
i.rem = 0;
i.index = (char *) i.data - (char *) R;
return i;
}
/*****************************************************************************
**
** uint8_t * xcb_xkb_counted_string_16_pad_0
**
** @param const xcb_xkb_counted_string_16_t *R
** @returns uint8_t *
**
*****************************************************************************/
uint8_t *
xcb_xkb_counted_string_16_pad_0 (const xcb_xkb_counted_string_16_t *R /**< */)
{
xcb_generic_iterator_t prev = xcb_xkb_counted_string_16_string_end(R);
return (uint8_t *) ((char *) prev.data + XCB_TYPE_PAD(uint8_t, prev.index) + 0);
}
/*****************************************************************************
**
** 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;
xcb_block_len += sizeof(xcb_xkb_key_type_t);
xcb_tmp += xcb_block_len;
/* 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;
xcb_block_len += sizeof(xcb_xkb_key_sym_map_t);
xcb_tmp += xcb_block_len;
/* 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_1_behavior_next
**
** @param xcb_xkb_overlay_1_behavior_iterator_t *i
** @returns void
**
*****************************************************************************/
void
xcb_xkb_overlay_1_behavior_next (xcb_xkb_overlay_1_behavior_iterator_t *i /**< */)
{
--i->rem;
++i->data;
i->index += sizeof(xcb_xkb_overlay_1_behavior_t);
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_overlay_1_behavior_end
**
** @param xcb_xkb_overlay_1_behavior_iterator_t i
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_overlay_1_behavior_end (xcb_xkb_overlay_1_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_2_behavior_next
**
** @param xcb_xkb_overlay_2_behavior_iterator_t *i
** @returns void
**
*****************************************************************************/
void
xcb_xkb_overlay_2_behavior_next (xcb_xkb_overlay_2_behavior_iterator_t *i /**< */)
{
--i->rem;
++i->data;
i->index += sizeof(xcb_xkb_overlay_2_behavior_t);
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_overlay_2_behavior_end
**
** @param xcb_xkb_overlay_2_behavior_iterator_t i
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_overlay_2_behavior_end (xcb_xkb_overlay_2_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_1_behavior_next
**
** @param xcb_xkb_permament_overlay_1_behavior_iterator_t *i
** @returns void
**
*****************************************************************************/
void
xcb_xkb_permament_overlay_1_behavior_next (xcb_xkb_permament_overlay_1_behavior_iterator_t *i /**< */)
{
--i->rem;
++i->data;
i->index += sizeof(xcb_xkb_permament_overlay_1_behavior_t);
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_permament_overlay_1_behavior_end
**
** @param xcb_xkb_permament_overlay_1_behavior_iterator_t i
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_permament_overlay_1_behavior_end (xcb_xkb_permament_overlay_1_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_2_behavior_next
**
** @param xcb_xkb_permament_overlay_2_behavior_iterator_t *i
** @returns void
**
*****************************************************************************/
void
xcb_xkb_permament_overlay_2_behavior_next (xcb_xkb_permament_overlay_2_behavior_iterator_t *i /**< */)
{
--i->rem;
++i->data;
i->index += sizeof(xcb_xkb_permament_overlay_2_behavior_t);
}
/*****************************************************************************
**
** xcb_generic_iterator_t xcb_xkb_permament_overlay_2_behavior_end
**
** @param xcb_xkb_permament_overlay_2_behavior_iterator_t i
** @returns xcb_generic_iterator_t
**
*****************************************************************************/
xcb_generic_iterator_t
xcb_xkb_permament_overlay_2_behavior_end (xcb_xkb_permament_overlay_2_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;
xcb_block_len += sizeof(xcb_xkb_set_key_type_t);
xcb_tmp += xcb_block_len;
/* 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_property_serialize (void **_buffer /**< */,
const xcb_xkb_property_t *_aux /**< */,
const xcb_xkb_string8_t *name /**< */,
const xcb_xkb_string8_t *value /**< */)
{
char *xcb_out = *_buffer;
unsigned int xcb_buffer_len = 0;
unsigned int xcb_align_to;
unsigned int xcb_pad = 0;
char xcb_pad0[3] = {0, 0, 0};
struct iovec xcb_parts[5];
unsigned int xcb_parts_idx = 0;
unsigned int xcb_block_len = 0;
unsigned int i;
char *xcb_tmp;
/* xcb_xkb_property_t.nameLength */
xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->nameLength;
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);
/* name */
xcb_parts[xcb_parts_idx].iov_base = (char *) name;
xcb_block_len += _aux->nameLength * sizeof(xcb_xkb_string8_t);
xcb_parts[xcb_parts_idx].iov_len = _aux->nameLength * sizeof(xcb_xkb_string8_t);
xcb_parts_idx++;
xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
/* xcb_xkb_property_t.valueLength */
xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->valueLength;
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);
/* value */
xcb_parts[xcb_parts_idx].iov_base = (char *) value
|