Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:46

0001 /*
0002  * This file generated automatically from xkb.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_xkb_API XCB xkb API
0008  * @brief xkb XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __XKB_H
0013 #define __XKB_H
0014 
0015 #include "xcb.h"
0016 #include "xproto.h"
0017 
0018 #ifdef __cplusplus
0019 extern "C" {
0020 #endif
0021 
0022 #define XCB_XKB_MAJOR_VERSION 1
0023 #define XCB_XKB_MINOR_VERSION 0
0024 
0025 extern xcb_extension_t xcb_xkb_id;
0026 
0027 typedef enum xcb_xkb_const_t {
0028     XCB_XKB_CONST_MAX_LEGAL_KEY_CODE = 255,
0029     XCB_XKB_CONST_PER_KEY_BIT_ARRAY_SIZE = 32,
0030     XCB_XKB_CONST_KEY_NAME_LENGTH = 4
0031 } xcb_xkb_const_t;
0032 
0033 typedef enum xcb_xkb_event_type_t {
0034     XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY = 1,
0035     XCB_XKB_EVENT_TYPE_MAP_NOTIFY = 2,
0036     XCB_XKB_EVENT_TYPE_STATE_NOTIFY = 4,
0037     XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY = 8,
0038     XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY = 16,
0039     XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY = 32,
0040     XCB_XKB_EVENT_TYPE_NAMES_NOTIFY = 64,
0041     XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY = 128,
0042     XCB_XKB_EVENT_TYPE_BELL_NOTIFY = 256,
0043     XCB_XKB_EVENT_TYPE_ACTION_MESSAGE = 512,
0044     XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY = 1024,
0045     XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY = 2048
0046 } xcb_xkb_event_type_t;
0047 
0048 typedef enum xcb_xkb_nkn_detail_t {
0049     XCB_XKB_NKN_DETAIL_KEYCODES = 1,
0050     XCB_XKB_NKN_DETAIL_GEOMETRY = 2,
0051     XCB_XKB_NKN_DETAIL_DEVICE_ID = 4
0052 } xcb_xkb_nkn_detail_t;
0053 
0054 typedef enum xcb_xkb_axn_detail_t {
0055     XCB_XKB_AXN_DETAIL_SK_PRESS = 1,
0056     XCB_XKB_AXN_DETAIL_SK_ACCEPT = 2,
0057     XCB_XKB_AXN_DETAIL_SK_REJECT = 4,
0058     XCB_XKB_AXN_DETAIL_SK_RELEASE = 8,
0059     XCB_XKB_AXN_DETAIL_BK_ACCEPT = 16,
0060     XCB_XKB_AXN_DETAIL_BK_REJECT = 32,
0061     XCB_XKB_AXN_DETAIL_AXK_WARNING = 64
0062 } xcb_xkb_axn_detail_t;
0063 
0064 typedef enum xcb_xkb_map_part_t {
0065     XCB_XKB_MAP_PART_KEY_TYPES = 1,
0066     XCB_XKB_MAP_PART_KEY_SYMS = 2,
0067     XCB_XKB_MAP_PART_MODIFIER_MAP = 4,
0068     XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS = 8,
0069     XCB_XKB_MAP_PART_KEY_ACTIONS = 16,
0070     XCB_XKB_MAP_PART_KEY_BEHAVIORS = 32,
0071     XCB_XKB_MAP_PART_VIRTUAL_MODS = 64,
0072     XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP = 128
0073 } xcb_xkb_map_part_t;
0074 
0075 typedef enum xcb_xkb_set_map_flags_t {
0076     XCB_XKB_SET_MAP_FLAGS_RESIZE_TYPES = 1,
0077     XCB_XKB_SET_MAP_FLAGS_RECOMPUTE_ACTIONS = 2
0078 } xcb_xkb_set_map_flags_t;
0079 
0080 typedef enum xcb_xkb_state_part_t {
0081     XCB_XKB_STATE_PART_MODIFIER_STATE = 1,
0082     XCB_XKB_STATE_PART_MODIFIER_BASE = 2,
0083     XCB_XKB_STATE_PART_MODIFIER_LATCH = 4,
0084     XCB_XKB_STATE_PART_MODIFIER_LOCK = 8,
0085     XCB_XKB_STATE_PART_GROUP_STATE = 16,
0086     XCB_XKB_STATE_PART_GROUP_BASE = 32,
0087     XCB_XKB_STATE_PART_GROUP_LATCH = 64,
0088     XCB_XKB_STATE_PART_GROUP_LOCK = 128,
0089     XCB_XKB_STATE_PART_COMPAT_STATE = 256,
0090     XCB_XKB_STATE_PART_GRAB_MODS = 512,
0091     XCB_XKB_STATE_PART_COMPAT_GRAB_MODS = 1024,
0092     XCB_XKB_STATE_PART_LOOKUP_MODS = 2048,
0093     XCB_XKB_STATE_PART_COMPAT_LOOKUP_MODS = 4096,
0094     XCB_XKB_STATE_PART_POINTER_BUTTONS = 8192
0095 } xcb_xkb_state_part_t;
0096 
0097 typedef enum xcb_xkb_bool_ctrl_t {
0098     XCB_XKB_BOOL_CTRL_REPEAT_KEYS = 1,
0099     XCB_XKB_BOOL_CTRL_SLOW_KEYS = 2,
0100     XCB_XKB_BOOL_CTRL_BOUNCE_KEYS = 4,
0101     XCB_XKB_BOOL_CTRL_STICKY_KEYS = 8,
0102     XCB_XKB_BOOL_CTRL_MOUSE_KEYS = 16,
0103     XCB_XKB_BOOL_CTRL_MOUSE_KEYS_ACCEL = 32,
0104     XCB_XKB_BOOL_CTRL_ACCESS_X_KEYS = 64,
0105     XCB_XKB_BOOL_CTRL_ACCESS_X_TIMEOUT_MASK = 128,
0106     XCB_XKB_BOOL_CTRL_ACCESS_X_FEEDBACK_MASK = 256,
0107     XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK = 512,
0108     XCB_XKB_BOOL_CTRL_OVERLAY_1_MASK = 1024,
0109     XCB_XKB_BOOL_CTRL_OVERLAY_2_MASK = 2048,
0110     XCB_XKB_BOOL_CTRL_IGNORE_GROUP_LOCK_MASK = 4096
0111 } xcb_xkb_bool_ctrl_t;
0112 
0113 typedef enum xcb_xkb_control_t {
0114     XCB_XKB_CONTROL_GROUPS_WRAP = 134217728,
0115     XCB_XKB_CONTROL_INTERNAL_MODS = 268435456,
0116     XCB_XKB_CONTROL_IGNORE_LOCK_MODS = 536870912,
0117     XCB_XKB_CONTROL_PER_KEY_REPEAT = 1073741824,
0118     XCB_XKB_CONTROL_CONTROLS_ENABLED = 2147483648
0119 } xcb_xkb_control_t;
0120 
0121 typedef enum xcb_xkb_ax_option_t {
0122     XCB_XKB_AX_OPTION_SK_PRESS_FB = 1,
0123     XCB_XKB_AX_OPTION_SK_ACCEPT_FB = 2,
0124     XCB_XKB_AX_OPTION_FEATURE_FB = 4,
0125     XCB_XKB_AX_OPTION_SLOW_WARN_FB = 8,
0126     XCB_XKB_AX_OPTION_INDICATOR_FB = 16,
0127     XCB_XKB_AX_OPTION_STICKY_KEYS_FB = 32,
0128     XCB_XKB_AX_OPTION_TWO_KEYS = 64,
0129     XCB_XKB_AX_OPTION_LATCH_TO_LOCK = 128,
0130     XCB_XKB_AX_OPTION_SK_RELEASE_FB = 256,
0131     XCB_XKB_AX_OPTION_SK_REJECT_FB = 512,
0132     XCB_XKB_AX_OPTION_BK_REJECT_FB = 1024,
0133     XCB_XKB_AX_OPTION_DUMB_BELL = 2048
0134 } xcb_xkb_ax_option_t;
0135 
0136 typedef uint16_t xcb_xkb_device_spec_t;
0137 
0138 /**
0139  * @brief xcb_xkb_device_spec_iterator_t
0140  **/
0141 typedef struct xcb_xkb_device_spec_iterator_t {
0142     xcb_xkb_device_spec_t *data;
0143     int                    rem;
0144     int                    index;
0145 } xcb_xkb_device_spec_iterator_t;
0146 
0147 typedef enum xcb_xkb_led_class_result_t {
0148     XCB_XKB_LED_CLASS_RESULT_KBD_FEEDBACK_CLASS = 0,
0149     XCB_XKB_LED_CLASS_RESULT_LED_FEEDBACK_CLASS = 4
0150 } xcb_xkb_led_class_result_t;
0151 
0152 typedef enum xcb_xkb_led_class_t {
0153     XCB_XKB_LED_CLASS_KBD_FEEDBACK_CLASS = 0,
0154     XCB_XKB_LED_CLASS_LED_FEEDBACK_CLASS = 4,
0155     XCB_XKB_LED_CLASS_DFLT_XI_CLASS = 768,
0156     XCB_XKB_LED_CLASS_ALL_XI_CLASSES = 1280
0157 } xcb_xkb_led_class_t;
0158 
0159 typedef uint16_t xcb_xkb_led_class_spec_t;
0160 
0161 /**
0162  * @brief xcb_xkb_led_class_spec_iterator_t
0163  **/
0164 typedef struct xcb_xkb_led_class_spec_iterator_t {
0165     xcb_xkb_led_class_spec_t *data;
0166     int                       rem;
0167     int                       index;
0168 } xcb_xkb_led_class_spec_iterator_t;
0169 
0170 typedef enum xcb_xkb_bell_class_result_t {
0171     XCB_XKB_BELL_CLASS_RESULT_KBD_FEEDBACK_CLASS = 0,
0172     XCB_XKB_BELL_CLASS_RESULT_BELL_FEEDBACK_CLASS = 5
0173 } xcb_xkb_bell_class_result_t;
0174 
0175 typedef enum xcb_xkb_bell_class_t {
0176     XCB_XKB_BELL_CLASS_KBD_FEEDBACK_CLASS = 0,
0177     XCB_XKB_BELL_CLASS_BELL_FEEDBACK_CLASS = 5,
0178     XCB_XKB_BELL_CLASS_DFLT_XI_CLASS = 768
0179 } xcb_xkb_bell_class_t;
0180 
0181 typedef uint16_t xcb_xkb_bell_class_spec_t;
0182 
0183 /**
0184  * @brief xcb_xkb_bell_class_spec_iterator_t
0185  **/
0186 typedef struct xcb_xkb_bell_class_spec_iterator_t {
0187     xcb_xkb_bell_class_spec_t *data;
0188     int                        rem;
0189     int                        index;
0190 } xcb_xkb_bell_class_spec_iterator_t;
0191 
0192 typedef enum xcb_xkb_id_t {
0193     XCB_XKB_ID_USE_CORE_KBD = 256,
0194     XCB_XKB_ID_USE_CORE_PTR = 512,
0195     XCB_XKB_ID_DFLT_XI_CLASS = 768,
0196     XCB_XKB_ID_DFLT_XI_ID = 1024,
0197     XCB_XKB_ID_ALL_XI_CLASS = 1280,
0198     XCB_XKB_ID_ALL_XI_ID = 1536,
0199     XCB_XKB_ID_XI_NONE = 65280
0200 } xcb_xkb_id_t;
0201 
0202 typedef uint16_t xcb_xkb_id_spec_t;
0203 
0204 /**
0205  * @brief xcb_xkb_id_spec_iterator_t
0206  **/
0207 typedef struct xcb_xkb_id_spec_iterator_t {
0208     xcb_xkb_id_spec_t *data;
0209     int                rem;
0210     int                index;
0211 } xcb_xkb_id_spec_iterator_t;
0212 
0213 typedef enum xcb_xkb_group_t {
0214     XCB_XKB_GROUP_1 = 0,
0215     XCB_XKB_GROUP_2 = 1,
0216     XCB_XKB_GROUP_3 = 2,
0217     XCB_XKB_GROUP_4 = 3
0218 } xcb_xkb_group_t;
0219 
0220 typedef enum xcb_xkb_groups_t {
0221     XCB_XKB_GROUPS_ANY = 254,
0222     XCB_XKB_GROUPS_ALL = 255
0223 } xcb_xkb_groups_t;
0224 
0225 typedef enum xcb_xkb_set_of_group_t {
0226     XCB_XKB_SET_OF_GROUP_GROUP_1 = 1,
0227     XCB_XKB_SET_OF_GROUP_GROUP_2 = 2,
0228     XCB_XKB_SET_OF_GROUP_GROUP_3 = 4,
0229     XCB_XKB_SET_OF_GROUP_GROUP_4 = 8
0230 } xcb_xkb_set_of_group_t;
0231 
0232 typedef enum xcb_xkb_set_of_groups_t {
0233     XCB_XKB_SET_OF_GROUPS_ANY = 128
0234 } xcb_xkb_set_of_groups_t;
0235 
0236 typedef enum xcb_xkb_groups_wrap_t {
0237     XCB_XKB_GROUPS_WRAP_WRAP_INTO_RANGE = 0,
0238     XCB_XKB_GROUPS_WRAP_CLAMP_INTO_RANGE = 64,
0239     XCB_XKB_GROUPS_WRAP_REDIRECT_INTO_RANGE = 128
0240 } xcb_xkb_groups_wrap_t;
0241 
0242 typedef enum xcb_xkb_v_mods_high_t {
0243     XCB_XKB_V_MODS_HIGH_15 = 128,
0244     XCB_XKB_V_MODS_HIGH_14 = 64,
0245     XCB_XKB_V_MODS_HIGH_13 = 32,
0246     XCB_XKB_V_MODS_HIGH_12 = 16,
0247     XCB_XKB_V_MODS_HIGH_11 = 8,
0248     XCB_XKB_V_MODS_HIGH_10 = 4,
0249     XCB_XKB_V_MODS_HIGH_9 = 2,
0250     XCB_XKB_V_MODS_HIGH_8 = 1
0251 } xcb_xkb_v_mods_high_t;
0252 
0253 typedef enum xcb_xkb_v_mods_low_t {
0254     XCB_XKB_V_MODS_LOW_7 = 128,
0255     XCB_XKB_V_MODS_LOW_6 = 64,
0256     XCB_XKB_V_MODS_LOW_5 = 32,
0257     XCB_XKB_V_MODS_LOW_4 = 16,
0258     XCB_XKB_V_MODS_LOW_3 = 8,
0259     XCB_XKB_V_MODS_LOW_2 = 4,
0260     XCB_XKB_V_MODS_LOW_1 = 2,
0261     XCB_XKB_V_MODS_LOW_0 = 1
0262 } xcb_xkb_v_mods_low_t;
0263 
0264 typedef enum xcb_xkb_v_mod_t {
0265     XCB_XKB_V_MOD_15 = 32768,
0266     XCB_XKB_V_MOD_14 = 16384,
0267     XCB_XKB_V_MOD_13 = 8192,
0268     XCB_XKB_V_MOD_12 = 4096,
0269     XCB_XKB_V_MOD_11 = 2048,
0270     XCB_XKB_V_MOD_10 = 1024,
0271     XCB_XKB_V_MOD_9 = 512,
0272     XCB_XKB_V_MOD_8 = 256,
0273     XCB_XKB_V_MOD_7 = 128,
0274     XCB_XKB_V_MOD_6 = 64,
0275     XCB_XKB_V_MOD_5 = 32,
0276     XCB_XKB_V_MOD_4 = 16,
0277     XCB_XKB_V_MOD_3 = 8,
0278     XCB_XKB_V_MOD_2 = 4,
0279     XCB_XKB_V_MOD_1 = 2,
0280     XCB_XKB_V_MOD_0 = 1
0281 } xcb_xkb_v_mod_t;
0282 
0283 typedef enum xcb_xkb_explicit_t {
0284     XCB_XKB_EXPLICIT_V_MOD_MAP = 128,
0285     XCB_XKB_EXPLICIT_BEHAVIOR = 64,
0286     XCB_XKB_EXPLICIT_AUTO_REPEAT = 32,
0287     XCB_XKB_EXPLICIT_INTERPRET = 16,
0288     XCB_XKB_EXPLICIT_KEY_TYPE_4 = 8,
0289     XCB_XKB_EXPLICIT_KEY_TYPE_3 = 4,
0290     XCB_XKB_EXPLICIT_KEY_TYPE_2 = 2,
0291     XCB_XKB_EXPLICIT_KEY_TYPE_1 = 1
0292 } xcb_xkb_explicit_t;
0293 
0294 typedef enum xcb_xkb_sym_interpret_match_t {
0295     XCB_XKB_SYM_INTERPRET_MATCH_NONE_OF = 0,
0296     XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF_OR_NONE = 1,
0297     XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF = 2,
0298     XCB_XKB_SYM_INTERPRET_MATCH_ALL_OF = 3,
0299     XCB_XKB_SYM_INTERPRET_MATCH_EXACTLY = 4
0300 } xcb_xkb_sym_interpret_match_t;
0301 
0302 typedef enum xcb_xkb_sym_interp_match_t {
0303     XCB_XKB_SYM_INTERP_MATCH_LEVEL_ONE_ONLY = 128,
0304     XCB_XKB_SYM_INTERP_MATCH_OP_MASK = 127
0305 } xcb_xkb_sym_interp_match_t;
0306 
0307 typedef enum xcb_xkb_im_flag_t {
0308     XCB_XKB_IM_FLAG_NO_EXPLICIT = 128,
0309     XCB_XKB_IM_FLAG_NO_AUTOMATIC = 64,
0310     XCB_XKB_IM_FLAG_LED_DRIVES_KB = 32
0311 } xcb_xkb_im_flag_t;
0312 
0313 typedef enum xcb_xkb_im_mods_which_t {
0314     XCB_XKB_IM_MODS_WHICH_USE_COMPAT = 16,
0315     XCB_XKB_IM_MODS_WHICH_USE_EFFECTIVE = 8,
0316     XCB_XKB_IM_MODS_WHICH_USE_LOCKED = 4,
0317     XCB_XKB_IM_MODS_WHICH_USE_LATCHED = 2,
0318     XCB_XKB_IM_MODS_WHICH_USE_BASE = 1
0319 } xcb_xkb_im_mods_which_t;
0320 
0321 typedef enum xcb_xkb_im_groups_which_t {
0322     XCB_XKB_IM_GROUPS_WHICH_USE_COMPAT = 16,
0323     XCB_XKB_IM_GROUPS_WHICH_USE_EFFECTIVE = 8,
0324     XCB_XKB_IM_GROUPS_WHICH_USE_LOCKED = 4,
0325     XCB_XKB_IM_GROUPS_WHICH_USE_LATCHED = 2,
0326     XCB_XKB_IM_GROUPS_WHICH_USE_BASE = 1
0327 } xcb_xkb_im_groups_which_t;
0328 
0329 /**
0330  * @brief xcb_xkb_indicator_map_t
0331  **/
0332 typedef struct xcb_xkb_indicator_map_t {
0333     uint8_t  flags;
0334     uint8_t  whichGroups;
0335     uint8_t  groups;
0336     uint8_t  whichMods;
0337     uint8_t  mods;
0338     uint8_t  realMods;
0339     uint16_t vmods;
0340     uint32_t ctrls;
0341 } xcb_xkb_indicator_map_t;
0342 
0343 /**
0344  * @brief xcb_xkb_indicator_map_iterator_t
0345  **/
0346 typedef struct xcb_xkb_indicator_map_iterator_t {
0347     xcb_xkb_indicator_map_t *data;
0348     int                      rem;
0349     int                      index;
0350 } xcb_xkb_indicator_map_iterator_t;
0351 
0352 typedef enum xcb_xkb_cm_detail_t {
0353     XCB_XKB_CM_DETAIL_SYM_INTERP = 1,
0354     XCB_XKB_CM_DETAIL_GROUP_COMPAT = 2
0355 } xcb_xkb_cm_detail_t;
0356 
0357 typedef enum xcb_xkb_name_detail_t {
0358     XCB_XKB_NAME_DETAIL_KEYCODES = 1,
0359     XCB_XKB_NAME_DETAIL_GEOMETRY = 2,
0360     XCB_XKB_NAME_DETAIL_SYMBOLS = 4,
0361     XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS = 8,
0362     XCB_XKB_NAME_DETAIL_TYPES = 16,
0363     XCB_XKB_NAME_DETAIL_COMPAT = 32,
0364     XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES = 64,
0365     XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES = 128,
0366     XCB_XKB_NAME_DETAIL_INDICATOR_NAMES = 256,
0367     XCB_XKB_NAME_DETAIL_KEY_NAMES = 512,
0368     XCB_XKB_NAME_DETAIL_KEY_ALIASES = 1024,
0369     XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES = 2048,
0370     XCB_XKB_NAME_DETAIL_GROUP_NAMES = 4096,
0371     XCB_XKB_NAME_DETAIL_RG_NAMES = 8192
0372 } xcb_xkb_name_detail_t;
0373 
0374 typedef enum xcb_xkb_gbn_detail_t {
0375     XCB_XKB_GBN_DETAIL_TYPES = 1,
0376     XCB_XKB_GBN_DETAIL_COMPAT_MAP = 2,
0377     XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS = 4,
0378     XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS = 8,
0379     XCB_XKB_GBN_DETAIL_INDICATOR_MAPS = 16,
0380     XCB_XKB_GBN_DETAIL_KEY_NAMES = 32,
0381     XCB_XKB_GBN_DETAIL_GEOMETRY = 64,
0382     XCB_XKB_GBN_DETAIL_OTHER_NAMES = 128
0383 } xcb_xkb_gbn_detail_t;
0384 
0385 typedef enum xcb_xkb_xi_feature_t {
0386     XCB_XKB_XI_FEATURE_KEYBOARDS = 1,
0387     XCB_XKB_XI_FEATURE_BUTTON_ACTIONS = 2,
0388     XCB_XKB_XI_FEATURE_INDICATOR_NAMES = 4,
0389     XCB_XKB_XI_FEATURE_INDICATOR_MAPS = 8,
0390     XCB_XKB_XI_FEATURE_INDICATOR_STATE = 16
0391 } xcb_xkb_xi_feature_t;
0392 
0393 typedef enum xcb_xkb_per_client_flag_t {
0394     XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT = 1,
0395     XCB_XKB_PER_CLIENT_FLAG_GRABS_USE_XKB_STATE = 2,
0396     XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS = 4,
0397     XCB_XKB_PER_CLIENT_FLAG_LOOKUP_STATE_WHEN_GRABBED = 8,
0398     XCB_XKB_PER_CLIENT_FLAG_SEND_EVENT_USES_XKB_STATE = 16
0399 } xcb_xkb_per_client_flag_t;
0400 
0401 /**
0402  * @brief xcb_xkb_mod_def_t
0403  **/
0404 typedef struct xcb_xkb_mod_def_t {
0405     uint8_t  mask;
0406     uint8_t  realMods;
0407     uint16_t vmods;
0408 } xcb_xkb_mod_def_t;
0409 
0410 /**
0411  * @brief xcb_xkb_mod_def_iterator_t
0412  **/
0413 typedef struct xcb_xkb_mod_def_iterator_t {
0414     xcb_xkb_mod_def_t *data;
0415     int                rem;
0416     int                index;
0417 } xcb_xkb_mod_def_iterator_t;
0418 
0419 /**
0420  * @brief xcb_xkb_key_name_t
0421  **/
0422 typedef struct xcb_xkb_key_name_t {
0423     char name[4];
0424 } xcb_xkb_key_name_t;
0425 
0426 /**
0427  * @brief xcb_xkb_key_name_iterator_t
0428  **/
0429 typedef struct xcb_xkb_key_name_iterator_t {
0430     xcb_xkb_key_name_t *data;
0431     int                 rem;
0432     int                 index;
0433 } xcb_xkb_key_name_iterator_t;
0434 
0435 /**
0436  * @brief xcb_xkb_key_alias_t
0437  **/
0438 typedef struct xcb_xkb_key_alias_t {
0439     char real[4];
0440     char alias[4];
0441 } xcb_xkb_key_alias_t;
0442 
0443 /**
0444  * @brief xcb_xkb_key_alias_iterator_t
0445  **/
0446 typedef struct xcb_xkb_key_alias_iterator_t {
0447     xcb_xkb_key_alias_t *data;
0448     int                  rem;
0449     int                  index;
0450 } xcb_xkb_key_alias_iterator_t;
0451 
0452 /**
0453  * @brief xcb_xkb_counted_string_16_t
0454  **/
0455 typedef struct xcb_xkb_counted_string_16_t {
0456     uint16_t length;
0457 } xcb_xkb_counted_string_16_t;
0458 
0459 /**
0460  * @brief xcb_xkb_counted_string_16_iterator_t
0461  **/
0462 typedef struct xcb_xkb_counted_string_16_iterator_t {
0463     xcb_xkb_counted_string_16_t *data;
0464     int                          rem;
0465     int                          index;
0466 } xcb_xkb_counted_string_16_iterator_t;
0467 
0468 /**
0469  * @brief xcb_xkb_kt_map_entry_t
0470  **/
0471 typedef struct xcb_xkb_kt_map_entry_t {
0472     uint8_t  active;
0473     uint8_t  mods_mask;
0474     uint8_t  level;
0475     uint8_t  mods_mods;
0476     uint16_t mods_vmods;
0477     uint8_t  pad0[2];
0478 } xcb_xkb_kt_map_entry_t;
0479 
0480 /**
0481  * @brief xcb_xkb_kt_map_entry_iterator_t
0482  **/
0483 typedef struct xcb_xkb_kt_map_entry_iterator_t {
0484     xcb_xkb_kt_map_entry_t *data;
0485     int                     rem;
0486     int                     index;
0487 } xcb_xkb_kt_map_entry_iterator_t;
0488 
0489 /**
0490  * @brief xcb_xkb_key_type_t
0491  **/
0492 typedef struct xcb_xkb_key_type_t {
0493     uint8_t  mods_mask;
0494     uint8_t  mods_mods;
0495     uint16_t mods_vmods;
0496     uint8_t  numLevels;
0497     uint8_t  nMapEntries;
0498     uint8_t  hasPreserve;
0499     uint8_t  pad0;
0500 } xcb_xkb_key_type_t;
0501 
0502 /**
0503  * @brief xcb_xkb_key_type_iterator_t
0504  **/
0505 typedef struct xcb_xkb_key_type_iterator_t {
0506     xcb_xkb_key_type_t *data;
0507     int                 rem;
0508     int                 index;
0509 } xcb_xkb_key_type_iterator_t;
0510 
0511 /**
0512  * @brief xcb_xkb_key_sym_map_t
0513  **/
0514 typedef struct xcb_xkb_key_sym_map_t {
0515     uint8_t  kt_index[4];
0516     uint8_t  groupInfo;
0517     uint8_t  width;
0518     uint16_t nSyms;
0519 } xcb_xkb_key_sym_map_t;
0520 
0521 /**
0522  * @brief xcb_xkb_key_sym_map_iterator_t
0523  **/
0524 typedef struct xcb_xkb_key_sym_map_iterator_t {
0525     xcb_xkb_key_sym_map_t *data;
0526     int                    rem;
0527     int                    index;
0528 } xcb_xkb_key_sym_map_iterator_t;
0529 
0530 /**
0531  * @brief xcb_xkb_common_behavior_t
0532  **/
0533 typedef struct xcb_xkb_common_behavior_t {
0534     uint8_t type;
0535     uint8_t data;
0536 } xcb_xkb_common_behavior_t;
0537 
0538 /**
0539  * @brief xcb_xkb_common_behavior_iterator_t
0540  **/
0541 typedef struct xcb_xkb_common_behavior_iterator_t {
0542     xcb_xkb_common_behavior_t *data;
0543     int                        rem;
0544     int                        index;
0545 } xcb_xkb_common_behavior_iterator_t;
0546 
0547 /**
0548  * @brief xcb_xkb_default_behavior_t
0549  **/
0550 typedef struct xcb_xkb_default_behavior_t {
0551     uint8_t type;
0552     uint8_t pad0;
0553 } xcb_xkb_default_behavior_t;
0554 
0555 /**
0556  * @brief xcb_xkb_default_behavior_iterator_t
0557  **/
0558 typedef struct xcb_xkb_default_behavior_iterator_t {
0559     xcb_xkb_default_behavior_t *data;
0560     int                         rem;
0561     int                         index;
0562 } xcb_xkb_default_behavior_iterator_t;
0563 
0564 /**
0565  * @brief xcb_xkb_lock_behavior_t
0566  **/
0567 typedef struct xcb_xkb_lock_behavior_t {
0568     uint8_t type;
0569     uint8_t pad0;
0570 } xcb_xkb_lock_behavior_t;
0571 
0572 /**
0573  * @brief xcb_xkb_lock_behavior_iterator_t
0574  **/
0575 typedef struct xcb_xkb_lock_behavior_iterator_t {
0576     xcb_xkb_lock_behavior_t *data;
0577     int                      rem;
0578     int                      index;
0579 } xcb_xkb_lock_behavior_iterator_t;
0580 
0581 /**
0582  * @brief xcb_xkb_radio_group_behavior_t
0583  **/
0584 typedef struct xcb_xkb_radio_group_behavior_t {
0585     uint8_t type;
0586     uint8_t group;
0587 } xcb_xkb_radio_group_behavior_t;
0588 
0589 /**
0590  * @brief xcb_xkb_radio_group_behavior_iterator_t
0591  **/
0592 typedef struct xcb_xkb_radio_group_behavior_iterator_t {
0593     xcb_xkb_radio_group_behavior_t *data;
0594     int                             rem;
0595     int                             index;
0596 } xcb_xkb_radio_group_behavior_iterator_t;
0597 
0598 /**
0599  * @brief xcb_xkb_overlay_behavior_t
0600  **/
0601 typedef struct xcb_xkb_overlay_behavior_t {
0602     uint8_t       type;
0603     xcb_keycode_t key;
0604 } xcb_xkb_overlay_behavior_t;
0605 
0606 /**
0607  * @brief xcb_xkb_overlay_behavior_iterator_t
0608  **/
0609 typedef struct xcb_xkb_overlay_behavior_iterator_t {
0610     xcb_xkb_overlay_behavior_t *data;
0611     int                         rem;
0612     int                         index;
0613 } xcb_xkb_overlay_behavior_iterator_t;
0614 
0615 /**
0616  * @brief xcb_xkb_permament_lock_behavior_t
0617  **/
0618 typedef struct xcb_xkb_permament_lock_behavior_t {
0619     uint8_t type;
0620     uint8_t pad0;
0621 } xcb_xkb_permament_lock_behavior_t;
0622 
0623 /**
0624  * @brief xcb_xkb_permament_lock_behavior_iterator_t
0625  **/
0626 typedef struct xcb_xkb_permament_lock_behavior_iterator_t {
0627     xcb_xkb_permament_lock_behavior_t *data;
0628     int                                rem;
0629     int                                index;
0630 } xcb_xkb_permament_lock_behavior_iterator_t;
0631 
0632 /**
0633  * @brief xcb_xkb_permament_radio_group_behavior_t
0634  **/
0635 typedef struct xcb_xkb_permament_radio_group_behavior_t {
0636     uint8_t type;
0637     uint8_t group;
0638 } xcb_xkb_permament_radio_group_behavior_t;
0639 
0640 /**
0641  * @brief xcb_xkb_permament_radio_group_behavior_iterator_t
0642  **/
0643 typedef struct xcb_xkb_permament_radio_group_behavior_iterator_t {
0644     xcb_xkb_permament_radio_group_behavior_t *data;
0645     int                                       rem;
0646     int                                       index;
0647 } xcb_xkb_permament_radio_group_behavior_iterator_t;
0648 
0649 /**
0650  * @brief xcb_xkb_permament_overlay_behavior_t
0651  **/
0652 typedef struct xcb_xkb_permament_overlay_behavior_t {
0653     uint8_t       type;
0654     xcb_keycode_t key;
0655 } xcb_xkb_permament_overlay_behavior_t;
0656 
0657 /**
0658  * @brief xcb_xkb_permament_overlay_behavior_iterator_t
0659  **/
0660 typedef struct xcb_xkb_permament_overlay_behavior_iterator_t {
0661     xcb_xkb_permament_overlay_behavior_t *data;
0662     int                                   rem;
0663     int                                   index;
0664 } xcb_xkb_permament_overlay_behavior_iterator_t;
0665 
0666 /**
0667  * @brief xcb_xkb_behavior_t
0668  **/
0669 typedef union xcb_xkb_behavior_t {
0670     xcb_xkb_common_behavior_t                common;
0671     xcb_xkb_default_behavior_t               _default;
0672     xcb_xkb_lock_behavior_t                  lock;
0673     xcb_xkb_radio_group_behavior_t           radioGroup;
0674     xcb_xkb_overlay_behavior_t               overlay1;
0675     xcb_xkb_overlay_behavior_t               overlay2;
0676     xcb_xkb_permament_lock_behavior_t        permamentLock;
0677     xcb_xkb_permament_radio_group_behavior_t permamentRadioGroup;
0678     xcb_xkb_permament_overlay_behavior_t     permamentOverlay1;
0679     xcb_xkb_permament_overlay_behavior_t     permamentOverlay2;
0680     uint8_t                                  type;
0681 } xcb_xkb_behavior_t;
0682 
0683 /**
0684  * @brief xcb_xkb_behavior_iterator_t
0685  **/
0686 typedef struct xcb_xkb_behavior_iterator_t {
0687     xcb_xkb_behavior_t *data;
0688     int                 rem;
0689     int                 index;
0690 } xcb_xkb_behavior_iterator_t;
0691 
0692 typedef enum xcb_xkb_behavior_type_t {
0693     XCB_XKB_BEHAVIOR_TYPE_DEFAULT = 0,
0694     XCB_XKB_BEHAVIOR_TYPE_LOCK = 1,
0695     XCB_XKB_BEHAVIOR_TYPE_RADIO_GROUP = 2,
0696     XCB_XKB_BEHAVIOR_TYPE_OVERLAY_1 = 3,
0697     XCB_XKB_BEHAVIOR_TYPE_OVERLAY_2 = 4,
0698     XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_LOCK = 129,
0699     XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_RADIO_GROUP = 130,
0700     XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_1 = 131,
0701     XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_2 = 132
0702 } xcb_xkb_behavior_type_t;
0703 
0704 /**
0705  * @brief xcb_xkb_set_behavior_t
0706  **/
0707 typedef struct xcb_xkb_set_behavior_t {
0708     xcb_keycode_t      keycode;
0709     xcb_xkb_behavior_t behavior;
0710     uint8_t            pad0;
0711 } xcb_xkb_set_behavior_t;
0712 
0713 /**
0714  * @brief xcb_xkb_set_behavior_iterator_t
0715  **/
0716 typedef struct xcb_xkb_set_behavior_iterator_t {
0717     xcb_xkb_set_behavior_t *data;
0718     int                     rem;
0719     int                     index;
0720 } xcb_xkb_set_behavior_iterator_t;
0721 
0722 /**
0723  * @brief xcb_xkb_set_explicit_t
0724  **/
0725 typedef struct xcb_xkb_set_explicit_t {
0726     xcb_keycode_t keycode;
0727     uint8_t       explicit;
0728 } xcb_xkb_set_explicit_t;
0729 
0730 /**
0731  * @brief xcb_xkb_set_explicit_iterator_t
0732  **/
0733 typedef struct xcb_xkb_set_explicit_iterator_t {
0734     xcb_xkb_set_explicit_t *data;
0735     int                     rem;
0736     int                     index;
0737 } xcb_xkb_set_explicit_iterator_t;
0738 
0739 /**
0740  * @brief xcb_xkb_key_mod_map_t
0741  **/
0742 typedef struct xcb_xkb_key_mod_map_t {
0743     xcb_keycode_t keycode;
0744     uint8_t       mods;
0745 } xcb_xkb_key_mod_map_t;
0746 
0747 /**
0748  * @brief xcb_xkb_key_mod_map_iterator_t
0749  **/
0750 typedef struct xcb_xkb_key_mod_map_iterator_t {
0751     xcb_xkb_key_mod_map_t *data;
0752     int                    rem;
0753     int                    index;
0754 } xcb_xkb_key_mod_map_iterator_t;
0755 
0756 /**
0757  * @brief xcb_xkb_key_v_mod_map_t
0758  **/
0759 typedef struct xcb_xkb_key_v_mod_map_t {
0760     xcb_keycode_t keycode;
0761     uint8_t       pad0;
0762     uint16_t      vmods;
0763 } xcb_xkb_key_v_mod_map_t;
0764 
0765 /**
0766  * @brief xcb_xkb_key_v_mod_map_iterator_t
0767  **/
0768 typedef struct xcb_xkb_key_v_mod_map_iterator_t {
0769     xcb_xkb_key_v_mod_map_t *data;
0770     int                      rem;
0771     int                      index;
0772 } xcb_xkb_key_v_mod_map_iterator_t;
0773 
0774 /**
0775  * @brief xcb_xkb_kt_set_map_entry_t
0776  **/
0777 typedef struct xcb_xkb_kt_set_map_entry_t {
0778     uint8_t  level;
0779     uint8_t  realMods;
0780     uint16_t virtualMods;
0781 } xcb_xkb_kt_set_map_entry_t;
0782 
0783 /**
0784  * @brief xcb_xkb_kt_set_map_entry_iterator_t
0785  **/
0786 typedef struct xcb_xkb_kt_set_map_entry_iterator_t {
0787     xcb_xkb_kt_set_map_entry_t *data;
0788     int                         rem;
0789     int                         index;
0790 } xcb_xkb_kt_set_map_entry_iterator_t;
0791 
0792 /**
0793  * @brief xcb_xkb_set_key_type_t
0794  **/
0795 typedef struct xcb_xkb_set_key_type_t {
0796     uint8_t  mask;
0797     uint8_t  realMods;
0798     uint16_t virtualMods;
0799     uint8_t  numLevels;
0800     uint8_t  nMapEntries;
0801     uint8_t  preserve;
0802     uint8_t  pad0;
0803 } xcb_xkb_set_key_type_t;
0804 
0805 /**
0806  * @brief xcb_xkb_set_key_type_iterator_t
0807  **/
0808 typedef struct xcb_xkb_set_key_type_iterator_t {
0809     xcb_xkb_set_key_type_t *data;
0810     int                     rem;
0811     int                     index;
0812 } xcb_xkb_set_key_type_iterator_t;
0813 
0814 typedef char xcb_xkb_string8_t;
0815 
0816 /**
0817  * @brief xcb_xkb_string8_iterator_t
0818  **/
0819 typedef struct xcb_xkb_string8_iterator_t {
0820     xcb_xkb_string8_t *data;
0821     int                rem;
0822     int                index;
0823 } xcb_xkb_string8_iterator_t;
0824 
0825 /**
0826  * @brief xcb_xkb_outline_t
0827  **/
0828 typedef struct xcb_xkb_outline_t {
0829     uint8_t nPoints;
0830     uint8_t cornerRadius;
0831     uint8_t pad0[2];
0832 } xcb_xkb_outline_t;
0833 
0834 /**
0835  * @brief xcb_xkb_outline_iterator_t
0836  **/
0837 typedef struct xcb_xkb_outline_iterator_t {
0838     xcb_xkb_outline_t *data;
0839     int                rem;
0840     int                index;
0841 } xcb_xkb_outline_iterator_t;
0842 
0843 /**
0844  * @brief xcb_xkb_shape_t
0845  **/
0846 typedef struct xcb_xkb_shape_t {
0847     xcb_atom_t name;
0848     uint8_t    nOutlines;
0849     uint8_t    primaryNdx;
0850     uint8_t    approxNdx;
0851     uint8_t    pad0;
0852 } xcb_xkb_shape_t;
0853 
0854 /**
0855  * @brief xcb_xkb_shape_iterator_t
0856  **/
0857 typedef struct xcb_xkb_shape_iterator_t {
0858     xcb_xkb_shape_t *data;
0859     int              rem;
0860     int              index;
0861 } xcb_xkb_shape_iterator_t;
0862 
0863 /**
0864  * @brief xcb_xkb_key_t
0865  **/
0866 typedef struct xcb_xkb_key_t {
0867     xcb_xkb_string8_t name[4];
0868     int16_t           gap;
0869     uint8_t           shapeNdx;
0870     uint8_t           colorNdx;
0871 } xcb_xkb_key_t;
0872 
0873 /**
0874  * @brief xcb_xkb_key_iterator_t
0875  **/
0876 typedef struct xcb_xkb_key_iterator_t {
0877     xcb_xkb_key_t *data;
0878     int            rem;
0879     int            index;
0880 } xcb_xkb_key_iterator_t;
0881 
0882 /**
0883  * @brief xcb_xkb_overlay_key_t
0884  **/
0885 typedef struct xcb_xkb_overlay_key_t {
0886     xcb_xkb_string8_t over[4];
0887     xcb_xkb_string8_t under[4];
0888 } xcb_xkb_overlay_key_t;
0889 
0890 /**
0891  * @brief xcb_xkb_overlay_key_iterator_t
0892  **/
0893 typedef struct xcb_xkb_overlay_key_iterator_t {
0894     xcb_xkb_overlay_key_t *data;
0895     int                    rem;
0896     int                    index;
0897 } xcb_xkb_overlay_key_iterator_t;
0898 
0899 /**
0900  * @brief xcb_xkb_overlay_row_t
0901  **/
0902 typedef struct xcb_xkb_overlay_row_t {
0903     uint8_t rowUnder;
0904     uint8_t nKeys;
0905     uint8_t pad0[2];
0906 } xcb_xkb_overlay_row_t;
0907 
0908 /**
0909  * @brief xcb_xkb_overlay_row_iterator_t
0910  **/
0911 typedef struct xcb_xkb_overlay_row_iterator_t {
0912     xcb_xkb_overlay_row_t *data;
0913     int                    rem;
0914     int                    index;
0915 } xcb_xkb_overlay_row_iterator_t;
0916 
0917 /**
0918  * @brief xcb_xkb_overlay_t
0919  **/
0920 typedef struct xcb_xkb_overlay_t {
0921     xcb_atom_t name;
0922     uint8_t    nRows;
0923     uint8_t    pad0[3];
0924 } xcb_xkb_overlay_t;
0925 
0926 /**
0927  * @brief xcb_xkb_overlay_iterator_t
0928  **/
0929 typedef struct xcb_xkb_overlay_iterator_t {
0930     xcb_xkb_overlay_t *data;
0931     int                rem;
0932     int                index;
0933 } xcb_xkb_overlay_iterator_t;
0934 
0935 /**
0936  * @brief xcb_xkb_row_t
0937  **/
0938 typedef struct xcb_xkb_row_t {
0939     int16_t top;
0940     int16_t left;
0941     uint8_t nKeys;
0942     uint8_t vertical;
0943     uint8_t pad0[2];
0944 } xcb_xkb_row_t;
0945 
0946 /**
0947  * @brief xcb_xkb_row_iterator_t
0948  **/
0949 typedef struct xcb_xkb_row_iterator_t {
0950     xcb_xkb_row_t *data;
0951     int            rem;
0952     int            index;
0953 } xcb_xkb_row_iterator_t;
0954 
0955 typedef enum xcb_xkb_doodad_type_t {
0956     XCB_XKB_DOODAD_TYPE_OUTLINE = 1,
0957     XCB_XKB_DOODAD_TYPE_SOLID = 2,
0958     XCB_XKB_DOODAD_TYPE_TEXT = 3,
0959     XCB_XKB_DOODAD_TYPE_INDICATOR = 4,
0960     XCB_XKB_DOODAD_TYPE_LOGO = 5
0961 } xcb_xkb_doodad_type_t;
0962 
0963 /**
0964  * @brief xcb_xkb_listing_t
0965  **/
0966 typedef struct xcb_xkb_listing_t {
0967     uint16_t flags;
0968     uint16_t length;
0969 } xcb_xkb_listing_t;
0970 
0971 /**
0972  * @brief xcb_xkb_listing_iterator_t
0973  **/
0974 typedef struct xcb_xkb_listing_iterator_t {
0975     xcb_xkb_listing_t *data;
0976     int                rem;
0977     int                index;
0978 } xcb_xkb_listing_iterator_t;
0979 
0980 /**
0981  * @brief xcb_xkb_device_led_info_t
0982  **/
0983 typedef struct xcb_xkb_device_led_info_t {
0984     xcb_xkb_led_class_spec_t ledClass;
0985     xcb_xkb_id_spec_t        ledID;
0986     uint32_t                 namesPresent;
0987     uint32_t                 mapsPresent;
0988     uint32_t                 physIndicators;
0989     uint32_t                 state;
0990 } xcb_xkb_device_led_info_t;
0991 
0992 /**
0993  * @brief xcb_xkb_device_led_info_iterator_t
0994  **/
0995 typedef struct xcb_xkb_device_led_info_iterator_t {
0996     xcb_xkb_device_led_info_t *data;
0997     int                        rem;
0998     int                        index;
0999 } xcb_xkb_device_led_info_iterator_t;
1000 
1001 typedef enum xcb_xkb_error_t {
1002     XCB_XKB_ERROR_BAD_DEVICE = 255,
1003     XCB_XKB_ERROR_BAD_CLASS = 254,
1004     XCB_XKB_ERROR_BAD_ID = 253
1005 } xcb_xkb_error_t;
1006 
1007 /** Opcode for xcb_xkb_keyboard. */
1008 #define XCB_XKB_KEYBOARD 0
1009 
1010 /**
1011  * @brief xcb_xkb_keyboard_error_t
1012  **/
1013 typedef struct xcb_xkb_keyboard_error_t {
1014     uint8_t  response_type;
1015     uint8_t  error_code;
1016     uint16_t sequence;
1017     uint32_t value;
1018     uint16_t minorOpcode;
1019     uint8_t  majorOpcode;
1020     uint8_t  pad0[21];
1021 } xcb_xkb_keyboard_error_t;
1022 
1023 typedef enum xcb_xkb_sa_t {
1024     XCB_XKB_SA_CLEAR_LOCKS = 1,
1025     XCB_XKB_SA_LATCH_TO_LOCK = 2,
1026     XCB_XKB_SA_USE_MOD_MAP_MODS = 4,
1027     XCB_XKB_SA_GROUP_ABSOLUTE = 4
1028 } xcb_xkb_sa_t;
1029 
1030 typedef enum xcb_xkb_sa_type_t {
1031     XCB_XKB_SA_TYPE_NO_ACTION = 0,
1032     XCB_XKB_SA_TYPE_SET_MODS = 1,
1033     XCB_XKB_SA_TYPE_LATCH_MODS = 2,
1034     XCB_XKB_SA_TYPE_LOCK_MODS = 3,
1035     XCB_XKB_SA_TYPE_SET_GROUP = 4,
1036     XCB_XKB_SA_TYPE_LATCH_GROUP = 5,
1037     XCB_XKB_SA_TYPE_LOCK_GROUP = 6,
1038     XCB_XKB_SA_TYPE_MOVE_PTR = 7,
1039     XCB_XKB_SA_TYPE_PTR_BTN = 8,
1040     XCB_XKB_SA_TYPE_LOCK_PTR_BTN = 9,
1041     XCB_XKB_SA_TYPE_SET_PTR_DFLT = 10,
1042     XCB_XKB_SA_TYPE_ISO_LOCK = 11,
1043     XCB_XKB_SA_TYPE_TERMINATE = 12,
1044     XCB_XKB_SA_TYPE_SWITCH_SCREEN = 13,
1045     XCB_XKB_SA_TYPE_SET_CONTROLS = 14,
1046     XCB_XKB_SA_TYPE_LOCK_CONTROLS = 15,
1047     XCB_XKB_SA_TYPE_ACTION_MESSAGE = 16,
1048     XCB_XKB_SA_TYPE_REDIRECT_KEY = 17,
1049     XCB_XKB_SA_TYPE_DEVICE_BTN = 18,
1050     XCB_XKB_SA_TYPE_LOCK_DEVICE_BTN = 19,
1051     XCB_XKB_SA_TYPE_DEVICE_VALUATOR = 20
1052 } xcb_xkb_sa_type_t;
1053 
1054 /**
1055  * @brief xcb_xkb_sa_no_action_t
1056  **/
1057 typedef struct xcb_xkb_sa_no_action_t {
1058     uint8_t type;
1059     uint8_t pad0[7];
1060 } xcb_xkb_sa_no_action_t;
1061 
1062 /**
1063  * @brief xcb_xkb_sa_no_action_iterator_t
1064  **/
1065 typedef struct xcb_xkb_sa_no_action_iterator_t {
1066     xcb_xkb_sa_no_action_t *data;
1067     int                     rem;
1068     int                     index;
1069 } xcb_xkb_sa_no_action_iterator_t;
1070 
1071 /**
1072  * @brief xcb_xkb_sa_set_mods_t
1073  **/
1074 typedef struct xcb_xkb_sa_set_mods_t {
1075     uint8_t type;
1076     uint8_t flags;
1077     uint8_t mask;
1078     uint8_t realMods;
1079     uint8_t vmodsHigh;
1080     uint8_t vmodsLow;
1081     uint8_t pad0[2];
1082 } xcb_xkb_sa_set_mods_t;
1083 
1084 /**
1085  * @brief xcb_xkb_sa_set_mods_iterator_t
1086  **/
1087 typedef struct xcb_xkb_sa_set_mods_iterator_t {
1088     xcb_xkb_sa_set_mods_t *data;
1089     int                    rem;
1090     int                    index;
1091 } xcb_xkb_sa_set_mods_iterator_t;
1092 
1093 /**
1094  * @brief xcb_xkb_sa_latch_mods_t
1095  **/
1096 typedef struct xcb_xkb_sa_latch_mods_t {
1097     uint8_t type;
1098     uint8_t flags;
1099     uint8_t mask;
1100     uint8_t realMods;
1101     uint8_t vmodsHigh;
1102     uint8_t vmodsLow;
1103     uint8_t pad0[2];
1104 } xcb_xkb_sa_latch_mods_t;
1105 
1106 /**
1107  * @brief xcb_xkb_sa_latch_mods_iterator_t
1108  **/
1109 typedef struct xcb_xkb_sa_latch_mods_iterator_t {
1110     xcb_xkb_sa_latch_mods_t *data;
1111     int                      rem;
1112     int                      index;
1113 } xcb_xkb_sa_latch_mods_iterator_t;
1114 
1115 /**
1116  * @brief xcb_xkb_sa_lock_mods_t
1117  **/
1118 typedef struct xcb_xkb_sa_lock_mods_t {
1119     uint8_t type;
1120     uint8_t flags;
1121     uint8_t mask;
1122     uint8_t realMods;
1123     uint8_t vmodsHigh;
1124     uint8_t vmodsLow;
1125     uint8_t pad0[2];
1126 } xcb_xkb_sa_lock_mods_t;
1127 
1128 /**
1129  * @brief xcb_xkb_sa_lock_mods_iterator_t
1130  **/
1131 typedef struct xcb_xkb_sa_lock_mods_iterator_t {
1132     xcb_xkb_sa_lock_mods_t *data;
1133     int                     rem;
1134     int                     index;
1135 } xcb_xkb_sa_lock_mods_iterator_t;
1136 
1137 /**
1138  * @brief xcb_xkb_sa_set_group_t
1139  **/
1140 typedef struct xcb_xkb_sa_set_group_t {
1141     uint8_t type;
1142     uint8_t flags;
1143     int8_t  group;
1144     uint8_t pad0[5];
1145 } xcb_xkb_sa_set_group_t;
1146 
1147 /**
1148  * @brief xcb_xkb_sa_set_group_iterator_t
1149  **/
1150 typedef struct xcb_xkb_sa_set_group_iterator_t {
1151     xcb_xkb_sa_set_group_t *data;
1152     int                     rem;
1153     int                     index;
1154 } xcb_xkb_sa_set_group_iterator_t;
1155 
1156 /**
1157  * @brief xcb_xkb_sa_latch_group_t
1158  **/
1159 typedef struct xcb_xkb_sa_latch_group_t {
1160     uint8_t type;
1161     uint8_t flags;
1162     int8_t  group;
1163     uint8_t pad0[5];
1164 } xcb_xkb_sa_latch_group_t;
1165 
1166 /**
1167  * @brief xcb_xkb_sa_latch_group_iterator_t
1168  **/
1169 typedef struct xcb_xkb_sa_latch_group_iterator_t {
1170     xcb_xkb_sa_latch_group_t *data;
1171     int                       rem;
1172     int                       index;
1173 } xcb_xkb_sa_latch_group_iterator_t;
1174 
1175 /**
1176  * @brief xcb_xkb_sa_lock_group_t
1177  **/
1178 typedef struct xcb_xkb_sa_lock_group_t {
1179     uint8_t type;
1180     uint8_t flags;
1181     int8_t  group;
1182     uint8_t pad0[5];
1183 } xcb_xkb_sa_lock_group_t;
1184 
1185 /**
1186  * @brief xcb_xkb_sa_lock_group_iterator_t
1187  **/
1188 typedef struct xcb_xkb_sa_lock_group_iterator_t {
1189     xcb_xkb_sa_lock_group_t *data;
1190     int                      rem;
1191     int                      index;
1192 } xcb_xkb_sa_lock_group_iterator_t;
1193 
1194 typedef enum xcb_xkb_sa_move_ptr_flag_t {
1195     XCB_XKB_SA_MOVE_PTR_FLAG_NO_ACCELERATION = 1,
1196     XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_X = 2,
1197     XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_Y = 4
1198 } xcb_xkb_sa_move_ptr_flag_t;
1199 
1200 /**
1201  * @brief xcb_xkb_sa_move_ptr_t
1202  **/
1203 typedef struct xcb_xkb_sa_move_ptr_t {
1204     uint8_t type;
1205     uint8_t flags;
1206     int8_t  xHigh;
1207     uint8_t xLow;
1208     int8_t  yHigh;
1209     uint8_t yLow;
1210     uint8_t pad0[2];
1211 } xcb_xkb_sa_move_ptr_t;
1212 
1213 /**
1214  * @brief xcb_xkb_sa_move_ptr_iterator_t
1215  **/
1216 typedef struct xcb_xkb_sa_move_ptr_iterator_t {
1217     xcb_xkb_sa_move_ptr_t *data;
1218     int                    rem;
1219     int                    index;
1220 } xcb_xkb_sa_move_ptr_iterator_t;
1221 
1222 /**
1223  * @brief xcb_xkb_sa_ptr_btn_t
1224  **/
1225 typedef struct xcb_xkb_sa_ptr_btn_t {
1226     uint8_t type;
1227     uint8_t flags;
1228     uint8_t count;
1229     uint8_t button;
1230     uint8_t pad0[4];
1231 } xcb_xkb_sa_ptr_btn_t;
1232 
1233 /**
1234  * @brief xcb_xkb_sa_ptr_btn_iterator_t
1235  **/
1236 typedef struct xcb_xkb_sa_ptr_btn_iterator_t {
1237     xcb_xkb_sa_ptr_btn_t *data;
1238     int                   rem;
1239     int                   index;
1240 } xcb_xkb_sa_ptr_btn_iterator_t;
1241 
1242 /**
1243  * @brief xcb_xkb_sa_lock_ptr_btn_t
1244  **/
1245 typedef struct xcb_xkb_sa_lock_ptr_btn_t {
1246     uint8_t type;
1247     uint8_t flags;
1248     uint8_t pad0;
1249     uint8_t button;
1250     uint8_t pad1[4];
1251 } xcb_xkb_sa_lock_ptr_btn_t;
1252 
1253 /**
1254  * @brief xcb_xkb_sa_lock_ptr_btn_iterator_t
1255  **/
1256 typedef struct xcb_xkb_sa_lock_ptr_btn_iterator_t {
1257     xcb_xkb_sa_lock_ptr_btn_t *data;
1258     int                        rem;
1259     int                        index;
1260 } xcb_xkb_sa_lock_ptr_btn_iterator_t;
1261 
1262 typedef enum xcb_xkb_sa_set_ptr_dflt_flag_t {
1263     XCB_XKB_SA_SET_PTR_DFLT_FLAG_DFLT_BTN_ABSOLUTE = 4,
1264     XCB_XKB_SA_SET_PTR_DFLT_FLAG_AFFECT_DFLT_BUTTON = 1
1265 } xcb_xkb_sa_set_ptr_dflt_flag_t;
1266 
1267 /**
1268  * @brief xcb_xkb_sa_set_ptr_dflt_t
1269  **/
1270 typedef struct xcb_xkb_sa_set_ptr_dflt_t {
1271     uint8_t type;
1272     uint8_t flags;
1273     uint8_t affect;
1274     int8_t  value;
1275     uint8_t pad0[4];
1276 } xcb_xkb_sa_set_ptr_dflt_t;
1277 
1278 /**
1279  * @brief xcb_xkb_sa_set_ptr_dflt_iterator_t
1280  **/
1281 typedef struct xcb_xkb_sa_set_ptr_dflt_iterator_t {
1282     xcb_xkb_sa_set_ptr_dflt_t *data;
1283     int                        rem;
1284     int                        index;
1285 } xcb_xkb_sa_set_ptr_dflt_iterator_t;
1286 
1287 typedef enum xcb_xkb_sa_iso_lock_flag_t {
1288     XCB_XKB_SA_ISO_LOCK_FLAG_NO_LOCK = 1,
1289     XCB_XKB_SA_ISO_LOCK_FLAG_NO_UNLOCK = 2,
1290     XCB_XKB_SA_ISO_LOCK_FLAG_USE_MOD_MAP_MODS = 4,
1291     XCB_XKB_SA_ISO_LOCK_FLAG_GROUP_ABSOLUTE = 4,
1292     XCB_XKB_SA_ISO_LOCK_FLAG_ISO_DFLT_IS_GROUP = 8
1293 } xcb_xkb_sa_iso_lock_flag_t;
1294 
1295 typedef enum xcb_xkb_sa_iso_lock_no_affect_t {
1296     XCB_XKB_SA_ISO_LOCK_NO_AFFECT_CTRLS = 8,
1297     XCB_XKB_SA_ISO_LOCK_NO_AFFECT_PTR = 16,
1298     XCB_XKB_SA_ISO_LOCK_NO_AFFECT_GROUP = 32,
1299     XCB_XKB_SA_ISO_LOCK_NO_AFFECT_MODS = 64
1300 } xcb_xkb_sa_iso_lock_no_affect_t;
1301 
1302 /**
1303  * @brief xcb_xkb_sa_iso_lock_t
1304  **/
1305 typedef struct xcb_xkb_sa_iso_lock_t {
1306     uint8_t type;
1307     uint8_t flags;
1308     uint8_t mask;
1309     uint8_t realMods;
1310     int8_t  group;
1311     uint8_t affect;
1312     uint8_t vmodsHigh;
1313     uint8_t vmodsLow;
1314 } xcb_xkb_sa_iso_lock_t;
1315 
1316 /**
1317  * @brief xcb_xkb_sa_iso_lock_iterator_t
1318  **/
1319 typedef struct xcb_xkb_sa_iso_lock_iterator_t {
1320     xcb_xkb_sa_iso_lock_t *data;
1321     int                    rem;
1322     int                    index;
1323 } xcb_xkb_sa_iso_lock_iterator_t;
1324 
1325 /**
1326  * @brief xcb_xkb_sa_terminate_t
1327  **/
1328 typedef struct xcb_xkb_sa_terminate_t {
1329     uint8_t type;
1330     uint8_t pad0[7];
1331 } xcb_xkb_sa_terminate_t;
1332 
1333 /**
1334  * @brief xcb_xkb_sa_terminate_iterator_t
1335  **/
1336 typedef struct xcb_xkb_sa_terminate_iterator_t {
1337     xcb_xkb_sa_terminate_t *data;
1338     int                     rem;
1339     int                     index;
1340 } xcb_xkb_sa_terminate_iterator_t;
1341 
1342 typedef enum xcb_xkb_switch_screen_flag_t {
1343     XCB_XKB_SWITCH_SCREEN_FLAG_APPLICATION = 1,
1344     XCB_XKB_SWITCH_SCREEN_FLAG_ABSOLUTE = 4
1345 } xcb_xkb_switch_screen_flag_t;
1346 
1347 /**
1348  * @brief xcb_xkb_sa_switch_screen_t
1349  **/
1350 typedef struct xcb_xkb_sa_switch_screen_t {
1351     uint8_t type;
1352     uint8_t flags;
1353     int8_t  newScreen;
1354     uint8_t pad0[5];
1355 } xcb_xkb_sa_switch_screen_t;
1356 
1357 /**
1358  * @brief xcb_xkb_sa_switch_screen_iterator_t
1359  **/
1360 typedef struct xcb_xkb_sa_switch_screen_iterator_t {
1361     xcb_xkb_sa_switch_screen_t *data;
1362     int                         rem;
1363     int                         index;
1364 } xcb_xkb_sa_switch_screen_iterator_t;
1365 
1366 typedef enum xcb_xkb_bool_ctrls_high_t {
1367     XCB_XKB_BOOL_CTRLS_HIGH_ACCESS_X_FEEDBACK = 1,
1368     XCB_XKB_BOOL_CTRLS_HIGH_AUDIBLE_BELL = 2,
1369     XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_1 = 4,
1370     XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_2 = 8,
1371     XCB_XKB_BOOL_CTRLS_HIGH_IGNORE_GROUP_LOCK = 16
1372 } xcb_xkb_bool_ctrls_high_t;
1373 
1374 typedef enum xcb_xkb_bool_ctrls_low_t {
1375     XCB_XKB_BOOL_CTRLS_LOW_REPEAT_KEYS = 1,
1376     XCB_XKB_BOOL_CTRLS_LOW_SLOW_KEYS = 2,
1377     XCB_XKB_BOOL_CTRLS_LOW_BOUNCE_KEYS = 4,
1378     XCB_XKB_BOOL_CTRLS_LOW_STICKY_KEYS = 8,
1379     XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS = 16,
1380     XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS_ACCEL = 32,
1381     XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_KEYS = 64,
1382     XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_TIMEOUT = 128
1383 } xcb_xkb_bool_ctrls_low_t;
1384 
1385 /**
1386  * @brief xcb_xkb_sa_set_controls_t
1387  **/
1388 typedef struct xcb_xkb_sa_set_controls_t {
1389     uint8_t type;
1390     uint8_t pad0[3];
1391     uint8_t boolCtrlsHigh;
1392     uint8_t boolCtrlsLow;
1393     uint8_t pad1[2];
1394 } xcb_xkb_sa_set_controls_t;
1395 
1396 /**
1397  * @brief xcb_xkb_sa_set_controls_iterator_t
1398  **/
1399 typedef struct xcb_xkb_sa_set_controls_iterator_t {
1400     xcb_xkb_sa_set_controls_t *data;
1401     int                        rem;
1402     int                        index;
1403 } xcb_xkb_sa_set_controls_iterator_t;
1404 
1405 /**
1406  * @brief xcb_xkb_sa_lock_controls_t
1407  **/
1408 typedef struct xcb_xkb_sa_lock_controls_t {
1409     uint8_t type;
1410     uint8_t pad0[3];
1411     uint8_t boolCtrlsHigh;
1412     uint8_t boolCtrlsLow;
1413     uint8_t pad1[2];
1414 } xcb_xkb_sa_lock_controls_t;
1415 
1416 /**
1417  * @brief xcb_xkb_sa_lock_controls_iterator_t
1418  **/
1419 typedef struct xcb_xkb_sa_lock_controls_iterator_t {
1420     xcb_xkb_sa_lock_controls_t *data;
1421     int                         rem;
1422     int                         index;
1423 } xcb_xkb_sa_lock_controls_iterator_t;
1424 
1425 typedef enum xcb_xkb_action_message_flag_t {
1426     XCB_XKB_ACTION_MESSAGE_FLAG_ON_PRESS = 1,
1427     XCB_XKB_ACTION_MESSAGE_FLAG_ON_RELEASE = 2,
1428     XCB_XKB_ACTION_MESSAGE_FLAG_GEN_KEY_EVENT = 4
1429 } xcb_xkb_action_message_flag_t;
1430 
1431 /**
1432  * @brief xcb_xkb_sa_action_message_t
1433  **/
1434 typedef struct xcb_xkb_sa_action_message_t {
1435     uint8_t type;
1436     uint8_t flags;
1437     uint8_t message[6];
1438 } xcb_xkb_sa_action_message_t;
1439 
1440 /**
1441  * @brief xcb_xkb_sa_action_message_iterator_t
1442  **/
1443 typedef struct xcb_xkb_sa_action_message_iterator_t {
1444     xcb_xkb_sa_action_message_t *data;
1445     int                          rem;
1446     int                          index;
1447 } xcb_xkb_sa_action_message_iterator_t;
1448 
1449 /**
1450  * @brief xcb_xkb_sa_redirect_key_t
1451  **/
1452 typedef struct xcb_xkb_sa_redirect_key_t {
1453     uint8_t       type;
1454     xcb_keycode_t newkey;
1455     uint8_t       mask;
1456     uint8_t       realModifiers;
1457     uint8_t       vmodsMaskHigh;
1458     uint8_t       vmodsMaskLow;
1459     uint8_t       vmodsHigh;
1460     uint8_t       vmodsLow;
1461 } xcb_xkb_sa_redirect_key_t;
1462 
1463 /**
1464  * @brief xcb_xkb_sa_redirect_key_iterator_t
1465  **/
1466 typedef struct xcb_xkb_sa_redirect_key_iterator_t {
1467     xcb_xkb_sa_redirect_key_t *data;
1468     int                        rem;
1469     int                        index;
1470 } xcb_xkb_sa_redirect_key_iterator_t;
1471 
1472 /**
1473  * @brief xcb_xkb_sa_device_btn_t
1474  **/
1475 typedef struct xcb_xkb_sa_device_btn_t {
1476     uint8_t type;
1477     uint8_t flags;
1478     uint8_t count;
1479     uint8_t button;
1480     uint8_t device;
1481     uint8_t pad0[3];
1482 } xcb_xkb_sa_device_btn_t;
1483 
1484 /**
1485  * @brief xcb_xkb_sa_device_btn_iterator_t
1486  **/
1487 typedef struct xcb_xkb_sa_device_btn_iterator_t {
1488     xcb_xkb_sa_device_btn_t *data;
1489     int                      rem;
1490     int                      index;
1491 } xcb_xkb_sa_device_btn_iterator_t;
1492 
1493 typedef enum xcb_xkb_lock_device_flags_t {
1494     XCB_XKB_LOCK_DEVICE_FLAGS_NO_LOCK = 1,
1495     XCB_XKB_LOCK_DEVICE_FLAGS_NO_UNLOCK = 2
1496 } xcb_xkb_lock_device_flags_t;
1497 
1498 /**
1499  * @brief xcb_xkb_sa_lock_device_btn_t
1500  **/
1501 typedef struct xcb_xkb_sa_lock_device_btn_t {
1502     uint8_t type;
1503     uint8_t flags;
1504     uint8_t pad0;
1505     uint8_t button;
1506     uint8_t device;
1507     uint8_t pad1[3];
1508 } xcb_xkb_sa_lock_device_btn_t;
1509 
1510 /**
1511  * @brief xcb_xkb_sa_lock_device_btn_iterator_t
1512  **/
1513 typedef struct xcb_xkb_sa_lock_device_btn_iterator_t {
1514     xcb_xkb_sa_lock_device_btn_t *data;
1515     int                           rem;
1516     int                           index;
1517 } xcb_xkb_sa_lock_device_btn_iterator_t;
1518 
1519 typedef enum xcb_xkb_sa_val_what_t {
1520     XCB_XKB_SA_VAL_WHAT_IGNORE_VAL = 0,
1521     XCB_XKB_SA_VAL_WHAT_SET_VAL_MIN = 1,
1522     XCB_XKB_SA_VAL_WHAT_SET_VAL_CENTER = 2,
1523     XCB_XKB_SA_VAL_WHAT_SET_VAL_MAX = 3,
1524     XCB_XKB_SA_VAL_WHAT_SET_VAL_RELATIVE = 4,
1525     XCB_XKB_SA_VAL_WHAT_SET_VAL_ABSOLUTE = 5
1526 } xcb_xkb_sa_val_what_t;
1527 
1528 /**
1529  * @brief xcb_xkb_sa_device_valuator_t
1530  **/
1531 typedef struct xcb_xkb_sa_device_valuator_t {
1532     uint8_t type;
1533     uint8_t device;
1534     uint8_t val1what;
1535     uint8_t val1index;
1536     uint8_t val1value;
1537     uint8_t val2what;
1538     uint8_t val2index;
1539     uint8_t val2value;
1540 } xcb_xkb_sa_device_valuator_t;
1541 
1542 /**
1543  * @brief xcb_xkb_sa_device_valuator_iterator_t
1544  **/
1545 typedef struct xcb_xkb_sa_device_valuator_iterator_t {
1546     xcb_xkb_sa_device_valuator_t *data;
1547     int                           rem;
1548     int                           index;
1549 } xcb_xkb_sa_device_valuator_iterator_t;
1550 
1551 /**
1552  * @brief xcb_xkb_si_action_t
1553  **/
1554 typedef struct xcb_xkb_si_action_t {
1555     uint8_t type;
1556     uint8_t data[7];
1557 } xcb_xkb_si_action_t;
1558 
1559 /**
1560  * @brief xcb_xkb_si_action_iterator_t
1561  **/
1562 typedef struct xcb_xkb_si_action_iterator_t {
1563     xcb_xkb_si_action_t *data;
1564     int                  rem;
1565     int                  index;
1566 } xcb_xkb_si_action_iterator_t;
1567 
1568 /**
1569  * @brief xcb_xkb_sym_interpret_t
1570  **/
1571 typedef struct xcb_xkb_sym_interpret_t {
1572     xcb_keysym_t        sym;
1573     uint8_t             mods;
1574     uint8_t             match;
1575     uint8_t             virtualMod;
1576     uint8_t             flags;
1577     xcb_xkb_si_action_t action;
1578 } xcb_xkb_sym_interpret_t;
1579 
1580 /**
1581  * @brief xcb_xkb_sym_interpret_iterator_t
1582  **/
1583 typedef struct xcb_xkb_sym_interpret_iterator_t {
1584     xcb_xkb_sym_interpret_t *data;
1585     int                      rem;
1586     int                      index;
1587 } xcb_xkb_sym_interpret_iterator_t;
1588 
1589 /**
1590  * @brief xcb_xkb_action_t
1591  **/
1592 typedef union xcb_xkb_action_t {
1593     xcb_xkb_sa_no_action_t       noaction;
1594     xcb_xkb_sa_set_mods_t        setmods;
1595     xcb_xkb_sa_latch_mods_t      latchmods;
1596     xcb_xkb_sa_lock_mods_t       lockmods;
1597     xcb_xkb_sa_set_group_t       setgroup;
1598     xcb_xkb_sa_latch_group_t     latchgroup;
1599     xcb_xkb_sa_lock_group_t      lockgroup;
1600     xcb_xkb_sa_move_ptr_t        moveptr;
1601     xcb_xkb_sa_ptr_btn_t         ptrbtn;
1602     xcb_xkb_sa_lock_ptr_btn_t    lockptrbtn;
1603     xcb_xkb_sa_set_ptr_dflt_t    setptrdflt;
1604     xcb_xkb_sa_iso_lock_t        isolock;
1605     xcb_xkb_sa_terminate_t       terminate;
1606     xcb_xkb_sa_switch_screen_t   switchscreen;
1607     xcb_xkb_sa_set_controls_t    setcontrols;
1608     xcb_xkb_sa_lock_controls_t   lockcontrols;
1609     xcb_xkb_sa_action_message_t  message;
1610     xcb_xkb_sa_redirect_key_t    redirect;
1611     xcb_xkb_sa_device_btn_t      devbtn;
1612     xcb_xkb_sa_lock_device_btn_t lockdevbtn;
1613     xcb_xkb_sa_device_valuator_t devval;
1614     uint8_t                      type;
1615 } xcb_xkb_action_t;
1616 
1617 /**
1618  * @brief xcb_xkb_action_iterator_t
1619  **/
1620 typedef struct xcb_xkb_action_iterator_t {
1621     xcb_xkb_action_t *data;
1622     int               rem;
1623     int               index;
1624 } xcb_xkb_action_iterator_t;
1625 
1626 /**
1627  * @brief xcb_xkb_use_extension_cookie_t
1628  **/
1629 typedef struct xcb_xkb_use_extension_cookie_t {
1630     unsigned int sequence;
1631 } xcb_xkb_use_extension_cookie_t;
1632 
1633 /** Opcode for xcb_xkb_use_extension. */
1634 #define XCB_XKB_USE_EXTENSION 0
1635 
1636 /**
1637  * @brief xcb_xkb_use_extension_request_t
1638  **/
1639 typedef struct xcb_xkb_use_extension_request_t {
1640     uint8_t  major_opcode;
1641     uint8_t  minor_opcode;
1642     uint16_t length;
1643     uint16_t wantedMajor;
1644     uint16_t wantedMinor;
1645 } xcb_xkb_use_extension_request_t;
1646 
1647 /**
1648  * @brief xcb_xkb_use_extension_reply_t
1649  **/
1650 typedef struct xcb_xkb_use_extension_reply_t {
1651     uint8_t  response_type;
1652     uint8_t  supported;
1653     uint16_t sequence;
1654     uint32_t length;
1655     uint16_t serverMajor;
1656     uint16_t serverMinor;
1657     uint8_t  pad0[20];
1658 } xcb_xkb_use_extension_reply_t;
1659 
1660 /**
1661  * @brief xcb_xkb_select_events_details_t
1662  **/
1663 typedef struct xcb_xkb_select_events_details_t {
1664     uint16_t affectNewKeyboard;
1665     uint16_t newKeyboardDetails;
1666     uint16_t affectState;
1667     uint16_t stateDetails;
1668     uint32_t affectCtrls;
1669     uint32_t ctrlDetails;
1670     uint32_t affectIndicatorState;
1671     uint32_t indicatorStateDetails;
1672     uint32_t affectIndicatorMap;
1673     uint32_t indicatorMapDetails;
1674     uint16_t affectNames;
1675     uint16_t namesDetails;
1676     uint8_t  affectCompat;
1677     uint8_t  compatDetails;
1678     uint8_t  affectBell;
1679     uint8_t  bellDetails;
1680     uint8_t  affectMsgDetails;
1681     uint8_t  msgDetails;
1682     uint16_t affectAccessX;
1683     uint16_t accessXDetails;
1684     uint16_t affectExtDev;
1685     uint16_t extdevDetails;
1686 } xcb_xkb_select_events_details_t;
1687 
1688 /** Opcode for xcb_xkb_select_events. */
1689 #define XCB_XKB_SELECT_EVENTS 1
1690 
1691 /**
1692  * @brief xcb_xkb_select_events_request_t
1693  **/
1694 typedef struct xcb_xkb_select_events_request_t {
1695     uint8_t               major_opcode;
1696     uint8_t               minor_opcode;
1697     uint16_t              length;
1698     xcb_xkb_device_spec_t deviceSpec;
1699     uint16_t              affectWhich;
1700     uint16_t              clear;
1701     uint16_t              selectAll;
1702     uint16_t              affectMap;
1703     uint16_t              map;
1704 } xcb_xkb_select_events_request_t;
1705 
1706 /** Opcode for xcb_xkb_bell. */
1707 #define XCB_XKB_BELL 3
1708 
1709 /**
1710  * @brief xcb_xkb_bell_request_t
1711  **/
1712 typedef struct xcb_xkb_bell_request_t {
1713     uint8_t                   major_opcode;
1714     uint8_t                   minor_opcode;
1715     uint16_t                  length;
1716     xcb_xkb_device_spec_t     deviceSpec;
1717     xcb_xkb_bell_class_spec_t bellClass;
1718     xcb_xkb_id_spec_t         bellID;
1719     int8_t                    percent;
1720     uint8_t                   forceSound;
1721     uint8_t                   eventOnly;
1722     uint8_t                   pad0;
1723     int16_t                   pitch;
1724     int16_t                   duration;
1725     uint8_t                   pad1[2];
1726     xcb_atom_t                name;
1727     xcb_window_t              window;
1728 } xcb_xkb_bell_request_t;
1729 
1730 /**
1731  * @brief xcb_xkb_get_state_cookie_t
1732  **/
1733 typedef struct xcb_xkb_get_state_cookie_t {
1734     unsigned int sequence;
1735 } xcb_xkb_get_state_cookie_t;
1736 
1737 /** Opcode for xcb_xkb_get_state. */
1738 #define XCB_XKB_GET_STATE 4
1739 
1740 /**
1741  * @brief xcb_xkb_get_state_request_t
1742  **/
1743 typedef struct xcb_xkb_get_state_request_t {
1744     uint8_t               major_opcode;
1745     uint8_t               minor_opcode;
1746     uint16_t              length;
1747     xcb_xkb_device_spec_t deviceSpec;
1748     uint8_t               pad0[2];
1749 } xcb_xkb_get_state_request_t;
1750 
1751 /**
1752  * @brief xcb_xkb_get_state_reply_t
1753  **/
1754 typedef struct xcb_xkb_get_state_reply_t {
1755     uint8_t  response_type;
1756     uint8_t  deviceID;
1757     uint16_t sequence;
1758     uint32_t length;
1759     uint8_t  mods;
1760     uint8_t  baseMods;
1761     uint8_t  latchedMods;
1762     uint8_t  lockedMods;
1763     uint8_t  group;
1764     uint8_t  lockedGroup;
1765     int16_t  baseGroup;
1766     int16_t  latchedGroup;
1767     uint8_t  compatState;
1768     uint8_t  grabMods;
1769     uint8_t  compatGrabMods;
1770     uint8_t  lookupMods;
1771     uint8_t  compatLookupMods;
1772     uint8_t  pad0;
1773     uint16_t ptrBtnState;
1774     uint8_t  pad1[6];
1775 } xcb_xkb_get_state_reply_t;
1776 
1777 /** Opcode for xcb_xkb_latch_lock_state. */
1778 #define XCB_XKB_LATCH_LOCK_STATE 5
1779 
1780 /**
1781  * @brief xcb_xkb_latch_lock_state_request_t
1782  **/
1783 typedef struct xcb_xkb_latch_lock_state_request_t {
1784     uint8_t               major_opcode;
1785     uint8_t               minor_opcode;
1786     uint16_t              length;
1787     xcb_xkb_device_spec_t deviceSpec;
1788     uint8_t               affectModLocks;
1789     uint8_t               modLocks;
1790     uint8_t               lockGroup;
1791     uint8_t               groupLock;
1792     uint8_t               affectModLatches;
1793     uint8_t               pad0;
1794     uint8_t               pad1;
1795     uint8_t               latchGroup;
1796     uint16_t              groupLatch;
1797 } xcb_xkb_latch_lock_state_request_t;
1798 
1799 /**
1800  * @brief xcb_xkb_get_controls_cookie_t
1801  **/
1802 typedef struct xcb_xkb_get_controls_cookie_t {
1803     unsigned int sequence;
1804 } xcb_xkb_get_controls_cookie_t;
1805 
1806 /** Opcode for xcb_xkb_get_controls. */
1807 #define XCB_XKB_GET_CONTROLS 6
1808 
1809 /**
1810  * @brief xcb_xkb_get_controls_request_t
1811  **/
1812 typedef struct xcb_xkb_get_controls_request_t {
1813     uint8_t               major_opcode;
1814     uint8_t               minor_opcode;
1815     uint16_t              length;
1816     xcb_xkb_device_spec_t deviceSpec;
1817     uint8_t               pad0[2];
1818 } xcb_xkb_get_controls_request_t;
1819 
1820 /**
1821  * @brief xcb_xkb_get_controls_reply_t
1822  **/
1823 typedef struct xcb_xkb_get_controls_reply_t {
1824     uint8_t  response_type;
1825     uint8_t  deviceID;
1826     uint16_t sequence;
1827     uint32_t length;
1828     uint8_t  mouseKeysDfltBtn;
1829     uint8_t  numGroups;
1830     uint8_t  groupsWrap;
1831     uint8_t  internalModsMask;
1832     uint8_t  ignoreLockModsMask;
1833     uint8_t  internalModsRealMods;
1834     uint8_t  ignoreLockModsRealMods;
1835     uint8_t  pad0;
1836     uint16_t internalModsVmods;
1837     uint16_t ignoreLockModsVmods;
1838     uint16_t repeatDelay;
1839     uint16_t repeatInterval;
1840     uint16_t slowKeysDelay;
1841     uint16_t debounceDelay;
1842     uint16_t mouseKeysDelay;
1843     uint16_t mouseKeysInterval;
1844     uint16_t mouseKeysTimeToMax;
1845     uint16_t mouseKeysMaxSpeed;
1846     int16_t  mouseKeysCurve;
1847     uint16_t accessXOption;
1848     uint16_t accessXTimeout;
1849     uint16_t accessXTimeoutOptionsMask;
1850     uint16_t accessXTimeoutOptionsValues;
1851     uint8_t  pad1[2];
1852     uint32_t accessXTimeoutMask;
1853     uint32_t accessXTimeoutValues;
1854     uint32_t enabledControls;
1855     uint8_t  perKeyRepeat[32];
1856 } xcb_xkb_get_controls_reply_t;
1857 
1858 /** Opcode for xcb_xkb_set_controls. */
1859 #define XCB_XKB_SET_CONTROLS 7
1860 
1861 /**
1862  * @brief xcb_xkb_set_controls_request_t
1863  **/
1864 typedef struct xcb_xkb_set_controls_request_t {
1865     uint8_t               major_opcode;
1866     uint8_t               minor_opcode;
1867     uint16_t              length;
1868     xcb_xkb_device_spec_t deviceSpec;
1869     uint8_t               affectInternalRealMods;
1870     uint8_t               internalRealMods;
1871     uint8_t               affectIgnoreLockRealMods;
1872     uint8_t               ignoreLockRealMods;
1873     uint16_t              affectInternalVirtualMods;
1874     uint16_t              internalVirtualMods;
1875     uint16_t              affectIgnoreLockVirtualMods;
1876     uint16_t              ignoreLockVirtualMods;
1877     uint8_t               mouseKeysDfltBtn;
1878     uint8_t               groupsWrap;
1879     uint16_t              accessXOptions;
1880     uint8_t               pad0[2];
1881     uint32_t              affectEnabledControls;
1882     uint32_t              enabledControls;
1883     uint32_t              changeControls;
1884     uint16_t              repeatDelay;
1885     uint16_t              repeatInterval;
1886     uint16_t              slowKeysDelay;
1887     uint16_t              debounceDelay;
1888     uint16_t              mouseKeysDelay;
1889     uint16_t              mouseKeysInterval;
1890     uint16_t              mouseKeysTimeToMax;
1891     uint16_t              mouseKeysMaxSpeed;
1892     int16_t               mouseKeysCurve;
1893     uint16_t              accessXTimeout;
1894     uint32_t              accessXTimeoutMask;
1895     uint32_t              accessXTimeoutValues;
1896     uint16_t              accessXTimeoutOptionsMask;
1897     uint16_t              accessXTimeoutOptionsValues;
1898     uint8_t               perKeyRepeat[32];
1899 } xcb_xkb_set_controls_request_t;
1900 
1901 /**
1902  * @brief xcb_xkb_get_map_cookie_t
1903  **/
1904 typedef struct xcb_xkb_get_map_cookie_t {
1905     unsigned int sequence;
1906 } xcb_xkb_get_map_cookie_t;
1907 
1908 /** Opcode for xcb_xkb_get_map. */
1909 #define XCB_XKB_GET_MAP 8
1910 
1911 /**
1912  * @brief xcb_xkb_get_map_request_t
1913  **/
1914 typedef struct xcb_xkb_get_map_request_t {
1915     uint8_t               major_opcode;
1916     uint8_t               minor_opcode;
1917     uint16_t              length;
1918     xcb_xkb_device_spec_t deviceSpec;
1919     uint16_t              full;
1920     uint16_t              partial;
1921     uint8_t               firstType;
1922     uint8_t               nTypes;
1923     xcb_keycode_t         firstKeySym;
1924     uint8_t               nKeySyms;
1925     xcb_keycode_t         firstKeyAction;
1926     uint8_t               nKeyActions;
1927     xcb_keycode_t         firstKeyBehavior;
1928     uint8_t               nKeyBehaviors;
1929     uint16_t              virtualMods;
1930     xcb_keycode_t         firstKeyExplicit;
1931     uint8_t               nKeyExplicit;
1932     xcb_keycode_t         firstModMapKey;
1933     uint8_t               nModMapKeys;
1934     xcb_keycode_t         firstVModMapKey;
1935     uint8_t               nVModMapKeys;
1936     uint8_t               pad0[2];
1937 } xcb_xkb_get_map_request_t;
1938 
1939 /**
1940  * @brief xcb_xkb_get_map_map_t
1941  **/
1942 typedef struct xcb_xkb_get_map_map_t {
1943     xcb_xkb_key_type_t      *types_rtrn;
1944     xcb_xkb_key_sym_map_t   *syms_rtrn;
1945     uint8_t                 *acts_rtrn_count;
1946     uint8_t                 *pad2;
1947     xcb_xkb_action_t        *acts_rtrn_acts;
1948     xcb_xkb_set_behavior_t  *behaviors_rtrn;
1949     uint8_t                 *vmods_rtrn;
1950     uint8_t                 *pad3;
1951     xcb_xkb_set_explicit_t  *explicit_rtrn;
1952     uint8_t                 *pad4;
1953     xcb_xkb_key_mod_map_t   *modmap_rtrn;
1954     uint8_t                 *pad5;
1955     xcb_xkb_key_v_mod_map_t *vmodmap_rtrn;
1956 } xcb_xkb_get_map_map_t;
1957 
1958 /**
1959  * @brief xcb_xkb_get_map_reply_t
1960  **/
1961 typedef struct xcb_xkb_get_map_reply_t {
1962     uint8_t       response_type;
1963     uint8_t       deviceID;
1964     uint16_t      sequence;
1965     uint32_t      length;
1966     uint8_t       pad0[2];
1967     xcb_keycode_t minKeyCode;
1968     xcb_keycode_t maxKeyCode;
1969     uint16_t      present;
1970     uint8_t       firstType;
1971     uint8_t       nTypes;
1972     uint8_t       totalTypes;
1973     xcb_keycode_t firstKeySym;
1974     uint16_t      totalSyms;
1975     uint8_t       nKeySyms;
1976     xcb_keycode_t firstKeyAction;
1977     uint16_t      totalActions;
1978     uint8_t       nKeyActions;
1979     xcb_keycode_t firstKeyBehavior;
1980     uint8_t       nKeyBehaviors;
1981     uint8_t       totalKeyBehaviors;
1982     xcb_keycode_t firstKeyExplicit;
1983     uint8_t       nKeyExplicit;
1984     uint8_t       totalKeyExplicit;
1985     xcb_keycode_t firstModMapKey;
1986     uint8_t       nModMapKeys;
1987     uint8_t       totalModMapKeys;
1988     xcb_keycode_t firstVModMapKey;
1989     uint8_t       nVModMapKeys;
1990     uint8_t       totalVModMapKeys;
1991     uint8_t       pad1;
1992     uint16_t      virtualMods;
1993 } xcb_xkb_get_map_reply_t;
1994 
1995 /**
1996  * @brief xcb_xkb_set_map_values_t
1997  **/
1998 typedef struct xcb_xkb_set_map_values_t {
1999     xcb_xkb_set_key_type_t  *types;
2000     xcb_xkb_key_sym_map_t   *syms;
2001     uint8_t                 *actionsCount;
2002     xcb_xkb_action_t        *actions;
2003     xcb_xkb_set_behavior_t  *behaviors;
2004     uint8_t                 *vmods;
2005     xcb_xkb_set_explicit_t  *explicit;
2006     xcb_xkb_key_mod_map_t   *modmap;
2007     xcb_xkb_key_v_mod_map_t *vmodmap;
2008 } xcb_xkb_set_map_values_t;
2009 
2010 /** Opcode for xcb_xkb_set_map. */
2011 #define XCB_XKB_SET_MAP 9
2012 
2013 /**
2014  * @brief xcb_xkb_set_map_request_t
2015  **/
2016 typedef struct xcb_xkb_set_map_request_t {
2017     uint8_t               major_opcode;
2018     uint8_t               minor_opcode;
2019     uint16_t              length;
2020     xcb_xkb_device_spec_t deviceSpec;
2021     uint16_t              present;
2022     uint16_t              flags;
2023     xcb_keycode_t         minKeyCode;
2024     xcb_keycode_t         maxKeyCode;
2025     uint8_t               firstType;
2026     uint8_t               nTypes;
2027     xcb_keycode_t         firstKeySym;
2028     uint8_t               nKeySyms;
2029     uint16_t              totalSyms;
2030     xcb_keycode_t         firstKeyAction;
2031     uint8_t               nKeyActions;
2032     uint16_t              totalActions;
2033     xcb_keycode_t         firstKeyBehavior;
2034     uint8_t               nKeyBehaviors;
2035     uint8_t               totalKeyBehaviors;
2036     xcb_keycode_t         firstKeyExplicit;
2037     uint8_t               nKeyExplicit;
2038     uint8_t               totalKeyExplicit;
2039     xcb_keycode_t         firstModMapKey;
2040     uint8_t               nModMapKeys;
2041     uint8_t               totalModMapKeys;
2042     xcb_keycode_t         firstVModMapKey;
2043     uint8_t               nVModMapKeys;
2044     uint8_t               totalVModMapKeys;
2045     uint16_t              virtualMods;
2046 } xcb_xkb_set_map_request_t;
2047 
2048 /**
2049  * @brief xcb_xkb_get_compat_map_cookie_t
2050  **/
2051 typedef struct xcb_xkb_get_compat_map_cookie_t {
2052     unsigned int sequence;
2053 } xcb_xkb_get_compat_map_cookie_t;
2054 
2055 /** Opcode for xcb_xkb_get_compat_map. */
2056 #define XCB_XKB_GET_COMPAT_MAP 10
2057 
2058 /**
2059  * @brief xcb_xkb_get_compat_map_request_t
2060  **/
2061 typedef struct xcb_xkb_get_compat_map_request_t {
2062     uint8_t               major_opcode;
2063     uint8_t               minor_opcode;
2064     uint16_t              length;
2065     xcb_xkb_device_spec_t deviceSpec;
2066     uint8_t               groups;
2067     uint8_t               getAllSI;
2068     uint16_t              firstSI;
2069     uint16_t              nSI;
2070 } xcb_xkb_get_compat_map_request_t;
2071 
2072 /**
2073  * @brief xcb_xkb_get_compat_map_reply_t
2074  **/
2075 typedef struct xcb_xkb_get_compat_map_reply_t {
2076     uint8_t  response_type;
2077     uint8_t  deviceID;
2078     uint16_t sequence;
2079     uint32_t length;
2080     uint8_t  groupsRtrn;
2081     uint8_t  pad0;
2082     uint16_t firstSIRtrn;
2083     uint16_t nSIRtrn;
2084     uint16_t nTotalSI;
2085     uint8_t  pad1[16];
2086 } xcb_xkb_get_compat_map_reply_t;
2087 
2088 /** Opcode for xcb_xkb_set_compat_map. */
2089 #define XCB_XKB_SET_COMPAT_MAP 11
2090 
2091 /**
2092  * @brief xcb_xkb_set_compat_map_request_t
2093  **/
2094 typedef struct xcb_xkb_set_compat_map_request_t {
2095     uint8_t               major_opcode;
2096     uint8_t               minor_opcode;
2097     uint16_t              length;
2098     xcb_xkb_device_spec_t deviceSpec;
2099     uint8_t               pad0;
2100     uint8_t               recomputeActions;
2101     uint8_t               truncateSI;
2102     uint8_t               groups;
2103     uint16_t              firstSI;
2104     uint16_t              nSI;
2105     uint8_t               pad1[2];
2106 } xcb_xkb_set_compat_map_request_t;
2107 
2108 /**
2109  * @brief xcb_xkb_get_indicator_state_cookie_t
2110  **/
2111 typedef struct xcb_xkb_get_indicator_state_cookie_t {
2112     unsigned int sequence;
2113 } xcb_xkb_get_indicator_state_cookie_t;
2114 
2115 /** Opcode for xcb_xkb_get_indicator_state. */
2116 #define XCB_XKB_GET_INDICATOR_STATE 12
2117 
2118 /**
2119  * @brief xcb_xkb_get_indicator_state_request_t
2120  **/
2121 typedef struct xcb_xkb_get_indicator_state_request_t {
2122     uint8_t               major_opcode;
2123     uint8_t               minor_opcode;
2124     uint16_t              length;
2125     xcb_xkb_device_spec_t deviceSpec;
2126     uint8_t               pad0[2];
2127 } xcb_xkb_get_indicator_state_request_t;
2128 
2129 /**
2130  * @brief xcb_xkb_get_indicator_state_reply_t
2131  **/
2132 typedef struct xcb_xkb_get_indicator_state_reply_t {
2133     uint8_t  response_type;
2134     uint8_t  deviceID;
2135     uint16_t sequence;
2136     uint32_t length;
2137     uint32_t state;
2138     uint8_t  pad0[20];
2139 } xcb_xkb_get_indicator_state_reply_t;
2140 
2141 /**
2142  * @brief xcb_xkb_get_indicator_map_cookie_t
2143  **/
2144 typedef struct xcb_xkb_get_indicator_map_cookie_t {
2145     unsigned int sequence;
2146 } xcb_xkb_get_indicator_map_cookie_t;
2147 
2148 /** Opcode for xcb_xkb_get_indicator_map. */
2149 #define XCB_XKB_GET_INDICATOR_MAP 13
2150 
2151 /**
2152  * @brief xcb_xkb_get_indicator_map_request_t
2153  **/
2154 typedef struct xcb_xkb_get_indicator_map_request_t {
2155     uint8_t               major_opcode;
2156     uint8_t               minor_opcode;
2157     uint16_t              length;
2158     xcb_xkb_device_spec_t deviceSpec;
2159     uint8_t               pad0[2];
2160     uint32_t              which;
2161 } xcb_xkb_get_indicator_map_request_t;
2162 
2163 /**
2164  * @brief xcb_xkb_get_indicator_map_reply_t
2165  **/
2166 typedef struct xcb_xkb_get_indicator_map_reply_t {
2167     uint8_t  response_type;
2168     uint8_t  deviceID;
2169     uint16_t sequence;
2170     uint32_t length;
2171     uint32_t which;
2172     uint32_t realIndicators;
2173     uint8_t  nIndicators;
2174     uint8_t  pad0[15];
2175 } xcb_xkb_get_indicator_map_reply_t;
2176 
2177 /** Opcode for xcb_xkb_set_indicator_map. */
2178 #define XCB_XKB_SET_INDICATOR_MAP 14
2179 
2180 /**
2181  * @brief xcb_xkb_set_indicator_map_request_t
2182  **/
2183 typedef struct xcb_xkb_set_indicator_map_request_t {
2184     uint8_t               major_opcode;
2185     uint8_t               minor_opcode;
2186     uint16_t              length;
2187     xcb_xkb_device_spec_t deviceSpec;
2188     uint8_t               pad0[2];
2189     uint32_t              which;
2190 } xcb_xkb_set_indicator_map_request_t;
2191 
2192 /**
2193  * @brief xcb_xkb_get_named_indicator_cookie_t
2194  **/
2195 typedef struct xcb_xkb_get_named_indicator_cookie_t {
2196     unsigned int sequence;
2197 } xcb_xkb_get_named_indicator_cookie_t;
2198 
2199 /** Opcode for xcb_xkb_get_named_indicator. */
2200 #define XCB_XKB_GET_NAMED_INDICATOR 15
2201 
2202 /**
2203  * @brief xcb_xkb_get_named_indicator_request_t
2204  **/
2205 typedef struct xcb_xkb_get_named_indicator_request_t {
2206     uint8_t                  major_opcode;
2207     uint8_t                  minor_opcode;
2208     uint16_t                 length;
2209     xcb_xkb_device_spec_t    deviceSpec;
2210     xcb_xkb_led_class_spec_t ledClass;
2211     xcb_xkb_id_spec_t        ledID;
2212     uint8_t                  pad0[2];
2213     xcb_atom_t               indicator;
2214 } xcb_xkb_get_named_indicator_request_t;
2215 
2216 /**
2217  * @brief xcb_xkb_get_named_indicator_reply_t
2218  **/
2219 typedef struct xcb_xkb_get_named_indicator_reply_t {
2220     uint8_t    response_type;
2221     uint8_t    deviceID;
2222     uint16_t   sequence;
2223     uint32_t   length;
2224     xcb_atom_t indicator;
2225     uint8_t    found;
2226     uint8_t    on;
2227     uint8_t    realIndicator;
2228     uint8_t    ndx;
2229     uint8_t    map_flags;
2230     uint8_t    map_whichGroups;
2231     uint8_t    map_groups;
2232     uint8_t    map_whichMods;
2233     uint8_t    map_mods;
2234     uint8_t    map_realMods;
2235     uint16_t   map_vmod;
2236     uint32_t   map_ctrls;
2237     uint8_t    supported;
2238     uint8_t    pad0[3];
2239 } xcb_xkb_get_named_indicator_reply_t;
2240 
2241 /** Opcode for xcb_xkb_set_named_indicator. */
2242 #define XCB_XKB_SET_NAMED_INDICATOR 16
2243 
2244 /**
2245  * @brief xcb_xkb_set_named_indicator_request_t
2246  **/
2247 typedef struct xcb_xkb_set_named_indicator_request_t {
2248     uint8_t                  major_opcode;
2249     uint8_t                  minor_opcode;
2250     uint16_t                 length;
2251     xcb_xkb_device_spec_t    deviceSpec;
2252     xcb_xkb_led_class_spec_t ledClass;
2253     xcb_xkb_id_spec_t        ledID;
2254     uint8_t                  pad0[2];
2255     xcb_atom_t               indicator;
2256     uint8_t                  setState;
2257     uint8_t                  on;
2258     uint8_t                  setMap;
2259     uint8_t                  createMap;
2260     uint8_t                  pad1;
2261     uint8_t                  map_flags;
2262     uint8_t                  map_whichGroups;
2263     uint8_t                  map_groups;
2264     uint8_t                  map_whichMods;
2265     uint8_t                  map_realMods;
2266     uint16_t                 map_vmods;
2267     uint32_t                 map_ctrls;
2268 } xcb_xkb_set_named_indicator_request_t;
2269 
2270 /**
2271  * @brief xcb_xkb_get_names_cookie_t
2272  **/
2273 typedef struct xcb_xkb_get_names_cookie_t {
2274     unsigned int sequence;
2275 } xcb_xkb_get_names_cookie_t;
2276 
2277 /** Opcode for xcb_xkb_get_names. */
2278 #define XCB_XKB_GET_NAMES 17
2279 
2280 /**
2281  * @brief xcb_xkb_get_names_request_t
2282  **/
2283 typedef struct xcb_xkb_get_names_request_t {
2284     uint8_t               major_opcode;
2285     uint8_t               minor_opcode;
2286     uint16_t              length;
2287     xcb_xkb_device_spec_t deviceSpec;
2288     uint8_t               pad0[2];
2289     uint32_t              which;
2290 } xcb_xkb_get_names_request_t;
2291 
2292 /**
2293  * @brief xcb_xkb_get_names_value_list_t
2294  **/
2295 typedef struct xcb_xkb_get_names_value_list_t {
2296     xcb_atom_t           keycodesName;
2297     xcb_atom_t           geometryName;
2298     xcb_atom_t           symbolsName;
2299     xcb_atom_t           physSymbolsName;
2300     xcb_atom_t           typesName;
2301     xcb_atom_t           compatName;
2302     xcb_atom_t          *typeNames;
2303     uint8_t             *nLevelsPerType;
2304     uint8_t             *pad1;
2305     xcb_atom_t          *ktLevelNames;
2306     xcb_atom_t          *indicatorNames;
2307     xcb_atom_t          *virtualModNames;
2308     xcb_atom_t          *groups;
2309     xcb_xkb_key_name_t  *keyNames;
2310     xcb_xkb_key_alias_t *keyAliases;
2311     xcb_atom_t          *radioGroupNames;
2312 } xcb_xkb_get_names_value_list_t;
2313 
2314 /**
2315  * @brief xcb_xkb_get_names_reply_t
2316  **/
2317 typedef struct xcb_xkb_get_names_reply_t {
2318     uint8_t       response_type;
2319     uint8_t       deviceID;
2320     uint16_t      sequence;
2321     uint32_t      length;
2322     uint32_t      which;
2323     xcb_keycode_t minKeyCode;
2324     xcb_keycode_t maxKeyCode;
2325     uint8_t       nTypes;
2326     uint8_t       groupNames;
2327     uint16_t      virtualMods;
2328     xcb_keycode_t firstKey;
2329     uint8_t       nKeys;
2330     uint32_t      indicators;
2331     uint8_t       nRadioGroups;
2332     uint8_t       nKeyAliases;
2333     uint16_t      nKTLevels;
2334     uint8_t       pad0[4];
2335 } xcb_xkb_get_names_reply_t;
2336 
2337 /**
2338  * @brief xcb_xkb_set_names_values_t
2339  **/
2340 typedef struct xcb_xkb_set_names_values_t {
2341     xcb_atom_t           keycodesName;
2342     xcb_atom_t           geometryName;
2343     xcb_atom_t           symbolsName;
2344     xcb_atom_t           physSymbolsName;
2345     xcb_atom_t           typesName;
2346     xcb_atom_t           compatName;
2347     xcb_atom_t          *typeNames;
2348     uint8_t             *nLevelsPerType;
2349     xcb_atom_t          *ktLevelNames;
2350     xcb_atom_t          *indicatorNames;
2351     xcb_atom_t          *virtualModNames;
2352     xcb_atom_t          *groups;
2353     xcb_xkb_key_name_t  *keyNames;
2354     xcb_xkb_key_alias_t *keyAliases;
2355     xcb_atom_t          *radioGroupNames;
2356 } xcb_xkb_set_names_values_t;
2357 
2358 /** Opcode for xcb_xkb_set_names. */
2359 #define XCB_XKB_SET_NAMES 18
2360 
2361 /**
2362  * @brief xcb_xkb_set_names_request_t
2363  **/
2364 typedef struct xcb_xkb_set_names_request_t {
2365     uint8_t               major_opcode;
2366     uint8_t               minor_opcode;
2367     uint16_t              length;
2368     xcb_xkb_device_spec_t deviceSpec;
2369     uint16_t              virtualMods;
2370     uint32_t              which;
2371     uint8_t               firstType;
2372     uint8_t               nTypes;
2373     uint8_t               firstKTLevelt;
2374     uint8_t               nKTLevels;
2375     uint32_t              indicators;
2376     uint8_t               groupNames;
2377     uint8_t               nRadioGroups;
2378     xcb_keycode_t         firstKey;
2379     uint8_t               nKeys;
2380     uint8_t               nKeyAliases;
2381     uint8_t               pad0;
2382     uint16_t              totalKTLevelNames;
2383 } xcb_xkb_set_names_request_t;
2384 
2385 /**
2386  * @brief xcb_xkb_per_client_flags_cookie_t
2387  **/
2388 typedef struct xcb_xkb_per_client_flags_cookie_t {
2389     unsigned int sequence;
2390 } xcb_xkb_per_client_flags_cookie_t;
2391 
2392 /** Opcode for xcb_xkb_per_client_flags. */
2393 #define XCB_XKB_PER_CLIENT_FLAGS 21
2394 
2395 /**
2396  * @brief xcb_xkb_per_client_flags_request_t
2397  **/
2398 typedef struct xcb_xkb_per_client_flags_request_t {
2399     uint8_t               major_opcode;
2400     uint8_t               minor_opcode;
2401     uint16_t              length;
2402     xcb_xkb_device_spec_t deviceSpec;
2403     uint8_t               pad0[2];
2404     uint32_t              change;
2405     uint32_t              value;
2406     uint32_t              ctrlsToChange;
2407     uint32_t              autoCtrls;
2408     uint32_t              autoCtrlsValues;
2409 } xcb_xkb_per_client_flags_request_t;
2410 
2411 /**
2412  * @brief xcb_xkb_per_client_flags_reply_t
2413  **/
2414 typedef struct xcb_xkb_per_client_flags_reply_t {
2415     uint8_t  response_type;
2416     uint8_t  deviceID;
2417     uint16_t sequence;
2418     uint32_t length;
2419     uint32_t supported;
2420     uint32_t value;
2421     uint32_t autoCtrls;
2422     uint32_t autoCtrlsValues;
2423     uint8_t  pad0[8];
2424 } xcb_xkb_per_client_flags_reply_t;
2425 
2426 /**
2427  * @brief xcb_xkb_list_components_cookie_t
2428  **/
2429 typedef struct xcb_xkb_list_components_cookie_t {
2430     unsigned int sequence;
2431 } xcb_xkb_list_components_cookie_t;
2432 
2433 /** Opcode for xcb_xkb_list_components. */
2434 #define XCB_XKB_LIST_COMPONENTS 22
2435 
2436 /**
2437  * @brief xcb_xkb_list_components_request_t
2438  **/
2439 typedef struct xcb_xkb_list_components_request_t {
2440     uint8_t               major_opcode;
2441     uint8_t               minor_opcode;
2442     uint16_t              length;
2443     xcb_xkb_device_spec_t deviceSpec;
2444     uint16_t              maxNames;
2445 } xcb_xkb_list_components_request_t;
2446 
2447 /**
2448  * @brief xcb_xkb_list_components_reply_t
2449  **/
2450 typedef struct xcb_xkb_list_components_reply_t {
2451     uint8_t  response_type;
2452     uint8_t  deviceID;
2453     uint16_t sequence;
2454     uint32_t length;
2455     uint16_t nKeymaps;
2456     uint16_t nKeycodes;
2457     uint16_t nTypes;
2458     uint16_t nCompatMaps;
2459     uint16_t nSymbols;
2460     uint16_t nGeometries;
2461     uint16_t extra;
2462     uint8_t  pad0[10];
2463 } xcb_xkb_list_components_reply_t;
2464 
2465 /**
2466  * @brief xcb_xkb_get_kbd_by_name_cookie_t
2467  **/
2468 typedef struct xcb_xkb_get_kbd_by_name_cookie_t {
2469     unsigned int sequence;
2470 } xcb_xkb_get_kbd_by_name_cookie_t;
2471 
2472 /** Opcode for xcb_xkb_get_kbd_by_name. */
2473 #define XCB_XKB_GET_KBD_BY_NAME 23
2474 
2475 /**
2476  * @brief xcb_xkb_get_kbd_by_name_request_t
2477  **/
2478 typedef struct xcb_xkb_get_kbd_by_name_request_t {
2479     uint8_t               major_opcode;
2480     uint8_t               minor_opcode;
2481     uint16_t              length;
2482     xcb_xkb_device_spec_t deviceSpec;
2483     uint16_t              need;
2484     uint16_t              want;
2485     uint8_t               load;
2486     uint8_t               pad0;
2487 } xcb_xkb_get_kbd_by_name_request_t;
2488 
2489 /**
2490  * @brief xcb_xkb_get_kbd_by_name_replies_types_map_t
2491  **/
2492 typedef struct xcb_xkb_get_kbd_by_name_replies_types_map_t {
2493     xcb_xkb_key_type_t      *types_rtrn;
2494     xcb_xkb_key_sym_map_t   *syms_rtrn;
2495     uint8_t                 *acts_rtrn_count;
2496     xcb_xkb_action_t        *acts_rtrn_acts;
2497     xcb_xkb_set_behavior_t  *behaviors_rtrn;
2498     uint8_t                 *vmods_rtrn;
2499     xcb_xkb_set_explicit_t  *explicit_rtrn;
2500     xcb_xkb_key_mod_map_t   *modmap_rtrn;
2501     xcb_xkb_key_v_mod_map_t *vmodmap_rtrn;
2502 } xcb_xkb_get_kbd_by_name_replies_types_map_t;
2503 
2504 /**
2505  * @brief xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t
2506  **/
2507 typedef struct xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t {
2508     xcb_atom_t           keycodesName;
2509     xcb_atom_t           geometryName;
2510     xcb_atom_t           symbolsName;
2511     xcb_atom_t           physSymbolsName;
2512     xcb_atom_t           typesName;
2513     xcb_atom_t           compatName;
2514     xcb_atom_t          *typeNames;
2515     uint8_t             *nLevelsPerType;
2516     xcb_atom_t          *ktLevelNames;
2517     xcb_atom_t          *indicatorNames;
2518     xcb_atom_t          *virtualModNames;
2519     xcb_atom_t          *groups;
2520     xcb_xkb_key_name_t  *keyNames;
2521     xcb_xkb_key_alias_t *keyAliases;
2522     xcb_atom_t          *radioGroupNames;
2523 } xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t;
2524 
2525 /**
2526  * @brief xcb_xkb_get_kbd_by_name_replies_t
2527  **/
2528 typedef struct xcb_xkb_get_kbd_by_name_replies_t {
2529     struct {
2530         uint8_t                                                 getmap_type;
2531         uint8_t                                                 typeDeviceID;
2532         uint16_t                                                getmap_sequence;
2533         uint32_t                                                getmap_length;
2534         uint8_t                                                 pad1[2];
2535         xcb_keycode_t                                           typeMinKeyCode;
2536         xcb_keycode_t                                           typeMaxKeyCode;
2537         uint16_t                                                present;
2538         uint8_t                                                 firstType;
2539         uint8_t                                                 nTypes;
2540         uint8_t                                                 totalTypes;
2541         xcb_keycode_t                                           firstKeySym;
2542         uint16_t                                                totalSyms;
2543         uint8_t                                                 nKeySyms;
2544         xcb_keycode_t                                           firstKeyAction;
2545         uint16_t                                                totalActions;
2546         uint8_t                                                 nKeyActions;
2547         xcb_keycode_t                                           firstKeyBehavior;
2548         uint8_t                                                 nKeyBehaviors;
2549         uint8_t                                                 totalKeyBehaviors;
2550         xcb_keycode_t                                           firstKeyExplicit;
2551         uint8_t                                                 nKeyExplicit;
2552         uint8_t                                                 totalKeyExplicit;
2553         xcb_keycode_t                                           firstModMapKey;
2554         uint8_t                                                 nModMapKeys;
2555         uint8_t                                                 totalModMapKeys;
2556         xcb_keycode_t                                           firstVModMapKey;
2557         uint8_t                                                 nVModMapKeys;
2558         uint8_t                                                 totalVModMapKeys;
2559         uint8_t                                                 pad2;
2560         uint16_t                                                virtualMods;
2561         xcb_xkb_get_kbd_by_name_replies_types_map_t             map;
2562     } types;
2563     struct {
2564         uint8_t                                                 compatmap_type;
2565         uint8_t                                                 compatDeviceID;
2566         uint16_t                                                compatmap_sequence;
2567         uint32_t                                                compatmap_length;
2568         uint8_t                                                 groupsRtrn;
2569         uint8_t                                                 pad7;
2570         uint16_t                                                firstSIRtrn;
2571         uint16_t                                                nSIRtrn;
2572         uint16_t                                                nTotalSI;
2573         uint8_t                                                 pad8[16];
2574         xcb_xkb_sym_interpret_t                                *si_rtrn;
2575         xcb_xkb_mod_def_t                                      *group_rtrn;
2576     } compat_map;
2577     struct {
2578         uint8_t                                                 indicatormap_type;
2579         uint8_t                                                 indicatorDeviceID;
2580         uint16_t                                                indicatormap_sequence;
2581         uint32_t                                                indicatormap_length;
2582         uint32_t                                                which;
2583         uint32_t                                                realIndicators;
2584         uint8_t                                                 nIndicators;
2585         uint8_t                                                 pad9[15];
2586         xcb_xkb_indicator_map_t                                *maps;
2587     } indicator_maps;
2588     struct {
2589         uint8_t                                                 keyname_type;
2590         uint8_t                                                 keyDeviceID;
2591         uint16_t                                                keyname_sequence;
2592         uint32_t                                                keyname_length;
2593         uint32_t                                                which;
2594         xcb_keycode_t                                           keyMinKeyCode;
2595         xcb_keycode_t                                           keyMaxKeyCode;
2596         uint8_t                                                 nTypes;
2597         uint8_t                                                 groupNames;
2598         uint16_t                                                virtualMods;
2599         xcb_keycode_t                                           firstKey;
2600         uint8_t                                                 nKeys;
2601         uint32_t                                                indicators;
2602         uint8_t                                                 nRadioGroups;
2603         uint8_t                                                 nKeyAliases;
2604         uint16_t                                                nKTLevels;
2605         uint8_t                                                 pad10[4];
2606         xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t  valueList;
2607     } key_names;
2608     struct {
2609         uint8_t                                                 geometry_type;
2610         uint8_t                                                 geometryDeviceID;
2611         uint16_t                                                geometry_sequence;
2612         uint32_t                                                geometry_length;
2613         xcb_atom_t                                              name;
2614         uint8_t                                                 geometryFound;
2615         uint8_t                                                 pad12;
2616         uint16_t                                                widthMM;
2617         uint16_t                                                heightMM;
2618         uint16_t                                                nProperties;
2619         uint16_t                                                nColors;
2620         uint16_t                                                nShapes;
2621         uint16_t                                                nSections;
2622         uint16_t                                                nDoodads;
2623         uint16_t                                                nKeyAliases;
2624         uint8_t                                                 baseColorNdx;
2625         uint8_t                                                 labelColorNdx;
2626         xcb_xkb_counted_string_16_t                            *labelFont;
2627     } geometry;
2628 } xcb_xkb_get_kbd_by_name_replies_t;
2629 
2630 xcb_xkb_get_kbd_by_name_replies_types_map_t *
2631 xcb_xkb_get_kbd_by_name_replies_types_map (const xcb_xkb_get_kbd_by_name_replies_t *R);
2632 
2633 /**
2634  * @brief xcb_xkb_get_kbd_by_name_reply_t
2635  **/
2636 typedef struct xcb_xkb_get_kbd_by_name_reply_t {
2637     uint8_t       response_type;
2638     uint8_t       deviceID;
2639     uint16_t      sequence;
2640     uint32_t      length;
2641     xcb_keycode_t minKeyCode;
2642     xcb_keycode_t maxKeyCode;
2643     uint8_t       loaded;
2644     uint8_t       newKeyboard;
2645     uint16_t      found;
2646     uint16_t      reported;
2647     uint8_t       pad0[16];
2648 } xcb_xkb_get_kbd_by_name_reply_t;
2649 
2650 /**
2651  * @brief xcb_xkb_get_device_info_cookie_t
2652  **/
2653 typedef struct xcb_xkb_get_device_info_cookie_t {
2654     unsigned int sequence;
2655 } xcb_xkb_get_device_info_cookie_t;
2656 
2657 /** Opcode for xcb_xkb_get_device_info. */
2658 #define XCB_XKB_GET_DEVICE_INFO 24
2659 
2660 /**
2661  * @brief xcb_xkb_get_device_info_request_t
2662  **/
2663 typedef struct xcb_xkb_get_device_info_request_t {
2664     uint8_t                  major_opcode;
2665     uint8_t                  minor_opcode;
2666     uint16_t                 length;
2667     xcb_xkb_device_spec_t    deviceSpec;
2668     uint16_t                 wanted;
2669     uint8_t                  allButtons;
2670     uint8_t                  firstButton;
2671     uint8_t                  nButtons;
2672     uint8_t                  pad0;
2673     xcb_xkb_led_class_spec_t ledClass;
2674     xcb_xkb_id_spec_t        ledID;
2675 } xcb_xkb_get_device_info_request_t;
2676 
2677 /**
2678  * @brief xcb_xkb_get_device_info_reply_t
2679  **/
2680 typedef struct xcb_xkb_get_device_info_reply_t {
2681     uint8_t    response_type;
2682     uint8_t    deviceID;
2683     uint16_t   sequence;
2684     uint32_t   length;
2685     uint16_t   present;
2686     uint16_t   supported;
2687     uint16_t   unsupported;
2688     uint16_t   nDeviceLedFBs;
2689     uint8_t    firstBtnWanted;
2690     uint8_t    nBtnsWanted;
2691     uint8_t    firstBtnRtrn;
2692     uint8_t    nBtnsRtrn;
2693     uint8_t    totalBtns;
2694     uint8_t    hasOwnState;
2695     uint16_t   dfltKbdFB;
2696     uint16_t   dfltLedFB;
2697     uint8_t    pad0[2];
2698     xcb_atom_t devType;
2699     uint16_t   nameLen;
2700 } xcb_xkb_get_device_info_reply_t;
2701 
2702 /** Opcode for xcb_xkb_set_device_info. */
2703 #define XCB_XKB_SET_DEVICE_INFO 25
2704 
2705 /**
2706  * @brief xcb_xkb_set_device_info_request_t
2707  **/
2708 typedef struct xcb_xkb_set_device_info_request_t {
2709     uint8_t               major_opcode;
2710     uint8_t               minor_opcode;
2711     uint16_t              length;
2712     xcb_xkb_device_spec_t deviceSpec;
2713     uint8_t               firstBtn;
2714     uint8_t               nBtns;
2715     uint16_t              change;
2716     uint16_t              nDeviceLedFBs;
2717 } xcb_xkb_set_device_info_request_t;
2718 
2719 /**
2720  * @brief xcb_xkb_set_debugging_flags_cookie_t
2721  **/
2722 typedef struct xcb_xkb_set_debugging_flags_cookie_t {
2723     unsigned int sequence;
2724 } xcb_xkb_set_debugging_flags_cookie_t;
2725 
2726 /** Opcode for xcb_xkb_set_debugging_flags. */
2727 #define XCB_XKB_SET_DEBUGGING_FLAGS 101
2728 
2729 /**
2730  * @brief xcb_xkb_set_debugging_flags_request_t
2731  **/
2732 typedef struct xcb_xkb_set_debugging_flags_request_t {
2733     uint8_t  major_opcode;
2734     uint8_t  minor_opcode;
2735     uint16_t length;
2736     uint16_t msgLength;
2737     uint8_t  pad0[2];
2738     uint32_t affectFlags;
2739     uint32_t flags;
2740     uint32_t affectCtrls;
2741     uint32_t ctrls;
2742 } xcb_xkb_set_debugging_flags_request_t;
2743 
2744 /**
2745  * @brief xcb_xkb_set_debugging_flags_reply_t
2746  **/
2747 typedef struct xcb_xkb_set_debugging_flags_reply_t {
2748     uint8_t  response_type;
2749     uint8_t  pad0;
2750     uint16_t sequence;
2751     uint32_t length;
2752     uint32_t currentFlags;
2753     uint32_t currentCtrls;
2754     uint32_t supportedFlags;
2755     uint32_t supportedCtrls;
2756     uint8_t  pad1[8];
2757 } xcb_xkb_set_debugging_flags_reply_t;
2758 
2759 /** Opcode for xcb_xkb_new_keyboard_notify. */
2760 #define XCB_XKB_NEW_KEYBOARD_NOTIFY 0
2761 
2762 /**
2763  * @brief xcb_xkb_new_keyboard_notify_event_t
2764  **/
2765 typedef struct xcb_xkb_new_keyboard_notify_event_t {
2766     uint8_t         response_type;
2767     uint8_t         xkbType;
2768     uint16_t        sequence;
2769     xcb_timestamp_t time;
2770     uint8_t         deviceID;
2771     uint8_t         oldDeviceID;
2772     xcb_keycode_t   minKeyCode;
2773     xcb_keycode_t   maxKeyCode;
2774     xcb_keycode_t   oldMinKeyCode;
2775     xcb_keycode_t   oldMaxKeyCode;
2776     uint8_t         requestMajor;
2777     uint8_t         requestMinor;
2778     uint16_t        changed;
2779     uint8_t         pad0[14];
2780 } xcb_xkb_new_keyboard_notify_event_t;
2781 
2782 /** Opcode for xcb_xkb_map_notify. */
2783 #define XCB_XKB_MAP_NOTIFY 1
2784 
2785 /**
2786  * @brief xcb_xkb_map_notify_event_t
2787  **/
2788 typedef struct xcb_xkb_map_notify_event_t {
2789     uint8_t         response_type;
2790     uint8_t         xkbType;
2791     uint16_t        sequence;
2792     xcb_timestamp_t time;
2793     uint8_t         deviceID;
2794     uint8_t         ptrBtnActions;
2795     uint16_t        changed;
2796     xcb_keycode_t   minKeyCode;
2797     xcb_keycode_t   maxKeyCode;
2798     uint8_t         firstType;
2799     uint8_t         nTypes;
2800     xcb_keycode_t   firstKeySym;
2801     uint8_t         nKeySyms;
2802     xcb_keycode_t   firstKeyAct;
2803     uint8_t         nKeyActs;
2804     xcb_keycode_t   firstKeyBehavior;
2805     uint8_t         nKeyBehavior;
2806     xcb_keycode_t   firstKeyExplicit;
2807     uint8_t         nKeyExplicit;
2808     xcb_keycode_t   firstModMapKey;
2809     uint8_t         nModMapKeys;
2810     xcb_keycode_t   firstVModMapKey;
2811     uint8_t         nVModMapKeys;
2812     uint16_t        virtualMods;
2813     uint8_t         pad0[2];
2814 } xcb_xkb_map_notify_event_t;
2815 
2816 /** Opcode for xcb_xkb_state_notify. */
2817 #define XCB_XKB_STATE_NOTIFY 2
2818 
2819 /**
2820  * @brief xcb_xkb_state_notify_event_t
2821  **/
2822 typedef struct xcb_xkb_state_notify_event_t {
2823     uint8_t         response_type;
2824     uint8_t         xkbType;
2825     uint16_t        sequence;
2826     xcb_timestamp_t time;
2827     uint8_t         deviceID;
2828     uint8_t         mods;
2829     uint8_t         baseMods;
2830     uint8_t         latchedMods;
2831     uint8_t         lockedMods;
2832     uint8_t         group;
2833     int16_t         baseGroup;
2834     int16_t         latchedGroup;
2835     uint8_t         lockedGroup;
2836     uint8_t         compatState;
2837     uint8_t         grabMods;
2838     uint8_t         compatGrabMods;
2839     uint8_t         lookupMods;
2840     uint8_t         compatLoockupMods;
2841     uint16_t        ptrBtnState;
2842     uint16_t        changed;
2843     xcb_keycode_t   keycode;
2844     uint8_t         eventType;
2845     uint8_t         requestMajor;
2846     uint8_t         requestMinor;
2847 } xcb_xkb_state_notify_event_t;
2848 
2849 /** Opcode for xcb_xkb_controls_notify. */
2850 #define XCB_XKB_CONTROLS_NOTIFY 3
2851 
2852 /**
2853  * @brief xcb_xkb_controls_notify_event_t
2854  **/
2855 typedef struct xcb_xkb_controls_notify_event_t {
2856     uint8_t         response_type;
2857     uint8_t         xkbType;
2858     uint16_t        sequence;
2859     xcb_timestamp_t time;
2860     uint8_t         deviceID;
2861     uint8_t         numGroups;
2862     uint8_t         pad0[2];
2863     uint32_t        changedControls;
2864     uint32_t        enabledControls;
2865     uint32_t        enabledControlChanges;
2866     xcb_keycode_t   keycode;
2867     uint8_t         eventType;
2868     uint8_t         requestMajor;
2869     uint8_t         requestMinor;
2870     uint8_t         pad1[4];
2871 } xcb_xkb_controls_notify_event_t;
2872 
2873 /** Opcode for xcb_xkb_indicator_state_notify. */
2874 #define XCB_XKB_INDICATOR_STATE_NOTIFY 4
2875 
2876 /**
2877  * @brief xcb_xkb_indicator_state_notify_event_t
2878  **/
2879 typedef struct xcb_xkb_indicator_state_notify_event_t {
2880     uint8_t         response_type;
2881     uint8_t         xkbType;
2882     uint16_t        sequence;
2883     xcb_timestamp_t time;
2884     uint8_t         deviceID;
2885     uint8_t         pad0[3];
2886     uint32_t        state;
2887     uint32_t        stateChanged;
2888     uint8_t         pad1[12];
2889 } xcb_xkb_indicator_state_notify_event_t;
2890 
2891 /** Opcode for xcb_xkb_indicator_map_notify. */
2892 #define XCB_XKB_INDICATOR_MAP_NOTIFY 5
2893 
2894 /**
2895  * @brief xcb_xkb_indicator_map_notify_event_t
2896  **/
2897 typedef struct xcb_xkb_indicator_map_notify_event_t {
2898     uint8_t         response_type;
2899     uint8_t         xkbType;
2900     uint16_t        sequence;
2901     xcb_timestamp_t time;
2902     uint8_t         deviceID;
2903     uint8_t         pad0[3];
2904     uint32_t        state;
2905     uint32_t        mapChanged;
2906     uint8_t         pad1[12];
2907 } xcb_xkb_indicator_map_notify_event_t;
2908 
2909 /** Opcode for xcb_xkb_names_notify. */
2910 #define XCB_XKB_NAMES_NOTIFY 6
2911 
2912 /**
2913  * @brief xcb_xkb_names_notify_event_t
2914  **/
2915 typedef struct xcb_xkb_names_notify_event_t {
2916     uint8_t         response_type;
2917     uint8_t         xkbType;
2918     uint16_t        sequence;
2919     xcb_timestamp_t time;
2920     uint8_t         deviceID;
2921     uint8_t         pad0;
2922     uint16_t        changed;
2923     uint8_t         firstType;
2924     uint8_t         nTypes;
2925     uint8_t         firstLevelName;
2926     uint8_t         nLevelNames;
2927     uint8_t         pad1;
2928     uint8_t         nRadioGroups;
2929     uint8_t         nKeyAliases;
2930     uint8_t         changedGroupNames;
2931     uint16_t        changedVirtualMods;
2932     xcb_keycode_t   firstKey;
2933     uint8_t         nKeys;
2934     uint32_t        changedIndicators;
2935     uint8_t         pad2[4];
2936 } xcb_xkb_names_notify_event_t;
2937 
2938 /** Opcode for xcb_xkb_compat_map_notify. */
2939 #define XCB_XKB_COMPAT_MAP_NOTIFY 7
2940 
2941 /**
2942  * @brief xcb_xkb_compat_map_notify_event_t
2943  **/
2944 typedef struct xcb_xkb_compat_map_notify_event_t {
2945     uint8_t         response_type;
2946     uint8_t         xkbType;
2947     uint16_t        sequence;
2948     xcb_timestamp_t time;
2949     uint8_t         deviceID;
2950     uint8_t         changedGroups;
2951     uint16_t        firstSI;
2952     uint16_t        nSI;
2953     uint16_t        nTotalSI;
2954     uint8_t         pad0[16];
2955 } xcb_xkb_compat_map_notify_event_t;
2956 
2957 /** Opcode for xcb_xkb_bell_notify. */
2958 #define XCB_XKB_BELL_NOTIFY 8
2959 
2960 /**
2961  * @brief xcb_xkb_bell_notify_event_t
2962  **/
2963 typedef struct xcb_xkb_bell_notify_event_t {
2964     uint8_t         response_type;
2965     uint8_t         xkbType;
2966     uint16_t        sequence;
2967     xcb_timestamp_t time;
2968     uint8_t         deviceID;
2969     uint8_t         bellClass;
2970     uint8_t         bellID;
2971     uint8_t         percent;
2972     uint16_t        pitch;
2973     uint16_t        duration;
2974     xcb_atom_t      name;
2975     xcb_window_t    window;
2976     uint8_t         eventOnly;
2977     uint8_t         pad0[7];
2978 } xcb_xkb_bell_notify_event_t;
2979 
2980 /** Opcode for xcb_xkb_action_message. */
2981 #define XCB_XKB_ACTION_MESSAGE 9
2982 
2983 /**
2984  * @brief xcb_xkb_action_message_event_t
2985  **/
2986 typedef struct xcb_xkb_action_message_event_t {
2987     uint8_t           response_type;
2988     uint8_t           xkbType;
2989     uint16_t          sequence;
2990     xcb_timestamp_t   time;
2991     uint8_t           deviceID;
2992     xcb_keycode_t     keycode;
2993     uint8_t           press;
2994     uint8_t           keyEventFollows;
2995     uint8_t           mods;
2996     uint8_t           group;
2997     xcb_xkb_string8_t message[8];
2998     uint8_t           pad0[10];
2999 } xcb_xkb_action_message_event_t;
3000 
3001 /** Opcode for xcb_xkb_access_x_notify. */
3002 #define XCB_XKB_ACCESS_X_NOTIFY 10
3003 
3004 /**
3005  * @brief xcb_xkb_access_x_notify_event_t
3006  **/
3007 typedef struct xcb_xkb_access_x_notify_event_t {
3008     uint8_t         response_type;
3009     uint8_t         xkbType;
3010     uint16_t        sequence;
3011     xcb_timestamp_t time;
3012     uint8_t         deviceID;
3013     xcb_keycode_t   keycode;
3014     uint16_t        detailt;
3015     uint16_t        slowKeysDelay;
3016     uint16_t        debounceDelay;
3017     uint8_t         pad0[16];
3018 } xcb_xkb_access_x_notify_event_t;
3019 
3020 /** Opcode for xcb_xkb_extension_device_notify. */
3021 #define XCB_XKB_EXTENSION_DEVICE_NOTIFY 11
3022 
3023 /**
3024  * @brief xcb_xkb_extension_device_notify_event_t
3025  **/
3026 typedef struct xcb_xkb_extension_device_notify_event_t {
3027     uint8_t         response_type;
3028     uint8_t         xkbType;
3029     uint16_t        sequence;
3030     xcb_timestamp_t time;
3031     uint8_t         deviceID;
3032     uint8_t         pad0;
3033     uint16_t        reason;
3034     uint16_t        ledClass;
3035     uint16_t        ledID;
3036     uint32_t        ledsDefined;
3037     uint32_t        ledState;
3038     uint8_t         firstButton;
3039     uint8_t         nButtons;
3040     uint16_t        supported;
3041     uint16_t        unsupported;
3042     uint8_t         pad1[2];
3043 } xcb_xkb_extension_device_notify_event_t;
3044 
3045 /**
3046  * Get the next element of the iterator
3047  * @param i Pointer to a xcb_xkb_device_spec_iterator_t
3048  *
3049  * Get the next element in the iterator. The member rem is
3050  * decreased by one. The member data points to the next
3051  * element. The member index is increased by sizeof(xcb_xkb_device_spec_t)
3052  */
3053 void
3054 xcb_xkb_device_spec_next (xcb_xkb_device_spec_iterator_t *i);
3055 
3056 /**
3057  * Return the iterator pointing to the last element
3058  * @param i An xcb_xkb_device_spec_iterator_t
3059  * @return  The iterator pointing to the last element
3060  *
3061  * Set the current element in the iterator to the last element.
3062  * The member rem is set to 0. The member data points to the
3063  * last element.
3064  */
3065 xcb_generic_iterator_t
3066 xcb_xkb_device_spec_end (xcb_xkb_device_spec_iterator_t i);
3067 
3068 /**
3069  * Get the next element of the iterator
3070  * @param i Pointer to a xcb_xkb_led_class_spec_iterator_t
3071  *
3072  * Get the next element in the iterator. The member rem is
3073  * decreased by one. The member data points to the next
3074  * element. The member index is increased by sizeof(xcb_xkb_led_class_spec_t)
3075  */
3076 void
3077 xcb_xkb_led_class_spec_next (xcb_xkb_led_class_spec_iterator_t *i);
3078 
3079 /**
3080  * Return the iterator pointing to the last element
3081  * @param i An xcb_xkb_led_class_spec_iterator_t
3082  * @return  The iterator pointing to the last element
3083  *
3084  * Set the current element in the iterator to the last element.
3085  * The member rem is set to 0. The member data points to the
3086  * last element.
3087  */
3088 xcb_generic_iterator_t
3089 xcb_xkb_led_class_spec_end (xcb_xkb_led_class_spec_iterator_t i);
3090 
3091 /**
3092  * Get the next element of the iterator
3093  * @param i Pointer to a xcb_xkb_bell_class_spec_iterator_t
3094  *
3095  * Get the next element in the iterator. The member rem is
3096  * decreased by one. The member data points to the next
3097  * element. The member index is increased by sizeof(xcb_xkb_bell_class_spec_t)
3098  */
3099 void
3100 xcb_xkb_bell_class_spec_next (xcb_xkb_bell_class_spec_iterator_t *i);
3101 
3102 /**
3103  * Return the iterator pointing to the last element
3104  * @param i An xcb_xkb_bell_class_spec_iterator_t
3105  * @return  The iterator pointing to the last element
3106  *
3107  * Set the current element in the iterator to the last element.
3108  * The member rem is set to 0. The member data points to the
3109  * last element.
3110  */
3111 xcb_generic_iterator_t
3112 xcb_xkb_bell_class_spec_end (xcb_xkb_bell_class_spec_iterator_t i);
3113 
3114 /**
3115  * Get the next element of the iterator
3116  * @param i Pointer to a xcb_xkb_id_spec_iterator_t
3117  *
3118  * Get the next element in the iterator. The member rem is
3119  * decreased by one. The member data points to the next
3120  * element. The member index is increased by sizeof(xcb_xkb_id_spec_t)
3121  */
3122 void
3123 xcb_xkb_id_spec_next (xcb_xkb_id_spec_iterator_t *i);
3124 
3125 /**
3126  * Return the iterator pointing to the last element
3127  * @param i An xcb_xkb_id_spec_iterator_t
3128  * @return  The iterator pointing to the last element
3129  *
3130  * Set the current element in the iterator to the last element.
3131  * The member rem is set to 0. The member data points to the
3132  * last element.
3133  */
3134 xcb_generic_iterator_t
3135 xcb_xkb_id_spec_end (xcb_xkb_id_spec_iterator_t i);
3136 
3137 /**
3138  * Get the next element of the iterator
3139  * @param i Pointer to a xcb_xkb_indicator_map_iterator_t
3140  *
3141  * Get the next element in the iterator. The member rem is
3142  * decreased by one. The member data points to the next
3143  * element. The member index is increased by sizeof(xcb_xkb_indicator_map_t)
3144  */
3145 void
3146 xcb_xkb_indicator_map_next (xcb_xkb_indicator_map_iterator_t *i);
3147 
3148 /**
3149  * Return the iterator pointing to the last element
3150  * @param i An xcb_xkb_indicator_map_iterator_t
3151  * @return  The iterator pointing to the last element
3152  *
3153  * Set the current element in the iterator to the last element.
3154  * The member rem is set to 0. The member data points to the
3155  * last element.
3156  */
3157 xcb_generic_iterator_t
3158 xcb_xkb_indicator_map_end (xcb_xkb_indicator_map_iterator_t i);
3159 
3160 /**
3161  * Get the next element of the iterator
3162  * @param i Pointer to a xcb_xkb_mod_def_iterator_t
3163  *
3164  * Get the next element in the iterator. The member rem is
3165  * decreased by one. The member data points to the next
3166  * element. The member index is increased by sizeof(xcb_xkb_mod_def_t)
3167  */
3168 void
3169 xcb_xkb_mod_def_next (xcb_xkb_mod_def_iterator_t *i);
3170 
3171 /**
3172  * Return the iterator pointing to the last element
3173  * @param i An xcb_xkb_mod_def_iterator_t
3174  * @return  The iterator pointing to the last element
3175  *
3176  * Set the current element in the iterator to the last element.
3177  * The member rem is set to 0. The member data points to the
3178  * last element.
3179  */
3180 xcb_generic_iterator_t
3181 xcb_xkb_mod_def_end (xcb_xkb_mod_def_iterator_t i);
3182 
3183 /**
3184  * Get the next element of the iterator
3185  * @param i Pointer to a xcb_xkb_key_name_iterator_t
3186  *
3187  * Get the next element in the iterator. The member rem is
3188  * decreased by one. The member data points to the next
3189  * element. The member index is increased by sizeof(xcb_xkb_key_name_t)
3190  */
3191 void
3192 xcb_xkb_key_name_next (xcb_xkb_key_name_iterator_t *i);
3193 
3194 /**
3195  * Return the iterator pointing to the last element
3196  * @param i An xcb_xkb_key_name_iterator_t
3197  * @return  The iterator pointing to the last element
3198  *
3199  * Set the current element in the iterator to the last element.
3200  * The member rem is set to 0. The member data points to the
3201  * last element.
3202  */
3203 xcb_generic_iterator_t
3204 xcb_xkb_key_name_end (xcb_xkb_key_name_iterator_t i);
3205 
3206 /**
3207  * Get the next element of the iterator
3208  * @param i Pointer to a xcb_xkb_key_alias_iterator_t
3209  *
3210  * Get the next element in the iterator. The member rem is
3211  * decreased by one. The member data points to the next
3212  * element. The member index is increased by sizeof(xcb_xkb_key_alias_t)
3213  */
3214 void
3215 xcb_xkb_key_alias_next (xcb_xkb_key_alias_iterator_t *i);
3216 
3217 /**
3218  * Return the iterator pointing to the last element
3219  * @param i An xcb_xkb_key_alias_iterator_t
3220  * @return  The iterator pointing to the last element
3221  *
3222  * Set the current element in the iterator to the last element.
3223  * The member rem is set to 0. The member data points to the
3224  * last element.
3225  */
3226 xcb_generic_iterator_t
3227 xcb_xkb_key_alias_end (xcb_xkb_key_alias_iterator_t i);
3228 
3229 int
3230 xcb_xkb_counted_string_16_sizeof (const void  *_buffer);
3231 
3232 char *
3233 xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R);
3234 
3235 int
3236 xcb_xkb_counted_string_16_string_length (const xcb_xkb_counted_string_16_t *R);
3237 
3238 xcb_generic_iterator_t
3239 xcb_xkb_counted_string_16_string_end (const xcb_xkb_counted_string_16_t *R);
3240 
3241 void *
3242 xcb_xkb_counted_string_16_alignment_pad (const xcb_xkb_counted_string_16_t *R);
3243 
3244 int
3245 xcb_xkb_counted_string_16_alignment_pad_length (const xcb_xkb_counted_string_16_t *R);
3246 
3247 xcb_generic_iterator_t
3248 xcb_xkb_counted_string_16_alignment_pad_end (const xcb_xkb_counted_string_16_t *R);
3249 
3250 /**
3251  * Get the next element of the iterator
3252  * @param i Pointer to a xcb_xkb_counted_string_16_iterator_t
3253  *
3254  * Get the next element in the iterator. The member rem is
3255  * decreased by one. The member data points to the next
3256  * element. The member index is increased by sizeof(xcb_xkb_counted_string_16_t)
3257  */
3258 void
3259 xcb_xkb_counted_string_16_next (xcb_xkb_counted_string_16_iterator_t *i);
3260 
3261 /**
3262  * Return the iterator pointing to the last element
3263  * @param i An xcb_xkb_counted_string_16_iterator_t
3264  * @return  The iterator pointing to the last element
3265  *
3266  * Set the current element in the iterator to the last element.
3267  * The member rem is set to 0. The member data points to the
3268  * last element.
3269  */
3270 xcb_generic_iterator_t
3271 xcb_xkb_counted_string_16_end (xcb_xkb_counted_string_16_iterator_t i);
3272 
3273 /**
3274  * Get the next element of the iterator
3275  * @param i Pointer to a xcb_xkb_kt_map_entry_iterator_t
3276  *
3277  * Get the next element in the iterator. The member rem is
3278  * decreased by one. The member data points to the next
3279  * element. The member index is increased by sizeof(xcb_xkb_kt_map_entry_t)
3280  */
3281 void
3282 xcb_xkb_kt_map_entry_next (xcb_xkb_kt_map_entry_iterator_t *i);
3283 
3284 /**
3285  * Return the iterator pointing to the last element
3286  * @param i An xcb_xkb_kt_map_entry_iterator_t
3287  * @return  The iterator pointing to the last element
3288  *
3289  * Set the current element in the iterator to the last element.
3290  * The member rem is set to 0. The member data points to the
3291  * last element.
3292  */
3293 xcb_generic_iterator_t
3294 xcb_xkb_kt_map_entry_end (xcb_xkb_kt_map_entry_iterator_t i);
3295 
3296 int
3297 xcb_xkb_key_type_sizeof (const void  *_buffer);
3298 
3299 xcb_xkb_kt_map_entry_t *
3300 xcb_xkb_key_type_map (const xcb_xkb_key_type_t *R);
3301 
3302 int
3303 xcb_xkb_key_type_map_length (const xcb_xkb_key_type_t *R);
3304 
3305 xcb_xkb_kt_map_entry_iterator_t
3306 xcb_xkb_key_type_map_iterator (const xcb_xkb_key_type_t *R);
3307 
3308 xcb_xkb_mod_def_t *
3309 xcb_xkb_key_type_preserve (const xcb_xkb_key_type_t *R);
3310 
3311 int
3312 xcb_xkb_key_type_preserve_length (const xcb_xkb_key_type_t *R);
3313 
3314 xcb_xkb_mod_def_iterator_t
3315 xcb_xkb_key_type_preserve_iterator (const xcb_xkb_key_type_t *R);
3316 
3317 /**
3318  * Get the next element of the iterator
3319  * @param i Pointer to a xcb_xkb_key_type_iterator_t
3320  *
3321  * Get the next element in the iterator. The member rem is
3322  * decreased by one. The member data points to the next
3323  * element. The member index is increased by sizeof(xcb_xkb_key_type_t)
3324  */
3325 void
3326 xcb_xkb_key_type_next (xcb_xkb_key_type_iterator_t *i);
3327 
3328 /**
3329  * Return the iterator pointing to the last element
3330  * @param i An xcb_xkb_key_type_iterator_t
3331  * @return  The iterator pointing to the last element
3332  *
3333  * Set the current element in the iterator to the last element.
3334  * The member rem is set to 0. The member data points to the
3335  * last element.
3336  */
3337 xcb_generic_iterator_t
3338 xcb_xkb_key_type_end (xcb_xkb_key_type_iterator_t i);
3339 
3340 int
3341 xcb_xkb_key_sym_map_sizeof (const void  *_buffer);
3342 
3343 xcb_keysym_t *
3344 xcb_xkb_key_sym_map_syms (const xcb_xkb_key_sym_map_t *R);
3345 
3346 int
3347 xcb_xkb_key_sym_map_syms_length (const xcb_xkb_key_sym_map_t *R);
3348 
3349 xcb_generic_iterator_t
3350 xcb_xkb_key_sym_map_syms_end (const xcb_xkb_key_sym_map_t *R);
3351 
3352 /**
3353  * Get the next element of the iterator
3354  * @param i Pointer to a xcb_xkb_key_sym_map_iterator_t
3355  *
3356  * Get the next element in the iterator. The member rem is
3357  * decreased by one. The member data points to the next
3358  * element. The member index is increased by sizeof(xcb_xkb_key_sym_map_t)
3359  */
3360 void
3361 xcb_xkb_key_sym_map_next (xcb_xkb_key_sym_map_iterator_t *i);
3362 
3363 /**
3364  * Return the iterator pointing to the last element
3365  * @param i An xcb_xkb_key_sym_map_iterator_t
3366  * @return  The iterator pointing to the last element
3367  *
3368  * Set the current element in the iterator to the last element.
3369  * The member rem is set to 0. The member data points to the
3370  * last element.
3371  */
3372 xcb_generic_iterator_t
3373 xcb_xkb_key_sym_map_end (xcb_xkb_key_sym_map_iterator_t i);
3374 
3375 /**
3376  * Get the next element of the iterator
3377  * @param i Pointer to a xcb_xkb_common_behavior_iterator_t
3378  *
3379  * Get the next element in the iterator. The member rem is
3380  * decreased by one. The member data points to the next
3381  * element. The member index is increased by sizeof(xcb_xkb_common_behavior_t)
3382  */
3383 void
3384 xcb_xkb_common_behavior_next (xcb_xkb_common_behavior_iterator_t *i);
3385 
3386 /**
3387  * Return the iterator pointing to the last element
3388  * @param i An xcb_xkb_common_behavior_iterator_t
3389  * @return  The iterator pointing to the last element
3390  *
3391  * Set the current element in the iterator to the last element.
3392  * The member rem is set to 0. The member data points to the
3393  * last element.
3394  */
3395 xcb_generic_iterator_t
3396 xcb_xkb_common_behavior_end (xcb_xkb_common_behavior_iterator_t i);
3397 
3398 /**
3399  * Get the next element of the iterator
3400  * @param i Pointer to a xcb_xkb_default_behavior_iterator_t
3401  *
3402  * Get the next element in the iterator. The member rem is
3403  * decreased by one. The member data points to the next
3404  * element. The member index is increased by sizeof(xcb_xkb_default_behavior_t)
3405  */
3406 void
3407 xcb_xkb_default_behavior_next (xcb_xkb_default_behavior_iterator_t *i);
3408 
3409 /**
3410  * Return the iterator pointing to the last element
3411  * @param i An xcb_xkb_default_behavior_iterator_t
3412  * @return  The iterator pointing to the last element
3413  *
3414  * Set the current element in the iterator to the last element.
3415  * The member rem is set to 0. The member data points to the
3416  * last element.
3417  */
3418 xcb_generic_iterator_t
3419 xcb_xkb_default_behavior_end (xcb_xkb_default_behavior_iterator_t i);
3420 
3421 /**
3422  * Get the next element of the iterator
3423  * @param i Pointer to a xcb_xkb_lock_behavior_iterator_t
3424  *
3425  * Get the next element in the iterator. The member rem is
3426  * decreased by one. The member data points to the next
3427  * element. The member index is increased by sizeof(xcb_xkb_lock_behavior_t)
3428  */
3429 void
3430 xcb_xkb_lock_behavior_next (xcb_xkb_lock_behavior_iterator_t *i);
3431 
3432 /**
3433  * Return the iterator pointing to the last element
3434  * @param i An xcb_xkb_lock_behavior_iterator_t
3435  * @return  The iterator pointing to the last element
3436  *
3437  * Set the current element in the iterator to the last element.
3438  * The member rem is set to 0. The member data points to the
3439  * last element.
3440  */
3441 xcb_generic_iterator_t
3442 xcb_xkb_lock_behavior_end (xcb_xkb_lock_behavior_iterator_t i);
3443 
3444 /**
3445  * Get the next element of the iterator
3446  * @param i Pointer to a xcb_xkb_radio_group_behavior_iterator_t
3447  *
3448  * Get the next element in the iterator. The member rem is
3449  * decreased by one. The member data points to the next
3450  * element. The member index is increased by sizeof(xcb_xkb_radio_group_behavior_t)
3451  */
3452 void
3453 xcb_xkb_radio_group_behavior_next (xcb_xkb_radio_group_behavior_iterator_t *i);
3454 
3455 /**
3456  * Return the iterator pointing to the last element
3457  * @param i An xcb_xkb_radio_group_behavior_iterator_t
3458  * @return  The iterator pointing to the last element
3459  *
3460  * Set the current element in the iterator to the last element.
3461  * The member rem is set to 0. The member data points to the
3462  * last element.
3463  */
3464 xcb_generic_iterator_t
3465 xcb_xkb_radio_group_behavior_end (xcb_xkb_radio_group_behavior_iterator_t i);
3466 
3467 /**
3468  * Get the next element of the iterator
3469  * @param i Pointer to a xcb_xkb_overlay_behavior_iterator_t
3470  *
3471  * Get the next element in the iterator. The member rem is
3472  * decreased by one. The member data points to the next
3473  * element. The member index is increased by sizeof(xcb_xkb_overlay_behavior_t)
3474  */
3475 void
3476 xcb_xkb_overlay_behavior_next (xcb_xkb_overlay_behavior_iterator_t *i);
3477 
3478 /**
3479  * Return the iterator pointing to the last element
3480  * @param i An xcb_xkb_overlay_behavior_iterator_t
3481  * @return  The iterator pointing to the last element
3482  *
3483  * Set the current element in the iterator to the last element.
3484  * The member rem is set to 0. The member data points to the
3485  * last element.
3486  */
3487 xcb_generic_iterator_t
3488 xcb_xkb_overlay_behavior_end (xcb_xkb_overlay_behavior_iterator_t i);
3489 
3490 /**
3491  * Get the next element of the iterator
3492  * @param i Pointer to a xcb_xkb_permament_lock_behavior_iterator_t
3493  *
3494  * Get the next element in the iterator. The member rem is
3495  * decreased by one. The member data points to the next
3496  * element. The member index is increased by sizeof(xcb_xkb_permament_lock_behavior_t)
3497  */
3498 void
3499 xcb_xkb_permament_lock_behavior_next (xcb_xkb_permament_lock_behavior_iterator_t *i);
3500 
3501 /**
3502  * Return the iterator pointing to the last element
3503  * @param i An xcb_xkb_permament_lock_behavior_iterator_t
3504  * @return  The iterator pointing to the last element
3505  *
3506  * Set the current element in the iterator to the last element.
3507  * The member rem is set to 0. The member data points to the
3508  * last element.
3509  */
3510 xcb_generic_iterator_t
3511 xcb_xkb_permament_lock_behavior_end (xcb_xkb_permament_lock_behavior_iterator_t i);
3512 
3513 /**
3514  * Get the next element of the iterator
3515  * @param i Pointer to a xcb_xkb_permament_radio_group_behavior_iterator_t
3516  *
3517  * Get the next element in the iterator. The member rem is
3518  * decreased by one. The member data points to the next
3519  * element. The member index is increased by sizeof(xcb_xkb_permament_radio_group_behavior_t)
3520  */
3521 void
3522 xcb_xkb_permament_radio_group_behavior_next (xcb_xkb_permament_radio_group_behavior_iterator_t *i);
3523 
3524 /**
3525  * Return the iterator pointing to the last element
3526  * @param i An xcb_xkb_permament_radio_group_behavior_iterator_t
3527  * @return  The iterator pointing to the last element
3528  *
3529  * Set the current element in the iterator to the last element.
3530  * The member rem is set to 0. The member data points to the
3531  * last element.
3532  */
3533 xcb_generic_iterator_t
3534 xcb_xkb_permament_radio_group_behavior_end (xcb_xkb_permament_radio_group_behavior_iterator_t i);
3535 
3536 /**
3537  * Get the next element of the iterator
3538  * @param i Pointer to a xcb_xkb_permament_overlay_behavior_iterator_t
3539  *
3540  * Get the next element in the iterator. The member rem is
3541  * decreased by one. The member data points to the next
3542  * element. The member index is increased by sizeof(xcb_xkb_permament_overlay_behavior_t)
3543  */
3544 void
3545 xcb_xkb_permament_overlay_behavior_next (xcb_xkb_permament_overlay_behavior_iterator_t *i);
3546 
3547 /**
3548  * Return the iterator pointing to the last element
3549  * @param i An xcb_xkb_permament_overlay_behavior_iterator_t
3550  * @return  The iterator pointing to the last element
3551  *
3552  * Set the current element in the iterator to the last element.
3553  * The member rem is set to 0. The member data points to the
3554  * last element.
3555  */
3556 xcb_generic_iterator_t
3557 xcb_xkb_permament_overlay_behavior_end (xcb_xkb_permament_overlay_behavior_iterator_t i);
3558 
3559 /**
3560  * Get the next element of the iterator
3561  * @param i Pointer to a xcb_xkb_behavior_iterator_t
3562  *
3563  * Get the next element in the iterator. The member rem is
3564  * decreased by one. The member data points to the next
3565  * element. The member index is increased by sizeof(xcb_xkb_behavior_t)
3566  */
3567 void
3568 xcb_xkb_behavior_next (xcb_xkb_behavior_iterator_t *i);
3569 
3570 /**
3571  * Return the iterator pointing to the last element
3572  * @param i An xcb_xkb_behavior_iterator_t
3573  * @return  The iterator pointing to the last element
3574  *
3575  * Set the current element in the iterator to the last element.
3576  * The member rem is set to 0. The member data points to the
3577  * last element.
3578  */
3579 xcb_generic_iterator_t
3580 xcb_xkb_behavior_end (xcb_xkb_behavior_iterator_t i);
3581 
3582 /**
3583  * Get the next element of the iterator
3584  * @param i Pointer to a xcb_xkb_set_behavior_iterator_t
3585  *
3586  * Get the next element in the iterator. The member rem is
3587  * decreased by one. The member data points to the next
3588  * element. The member index is increased by sizeof(xcb_xkb_set_behavior_t)
3589  */
3590 void
3591 xcb_xkb_set_behavior_next (xcb_xkb_set_behavior_iterator_t *i);
3592 
3593 /**
3594  * Return the iterator pointing to the last element
3595  * @param i An xcb_xkb_set_behavior_iterator_t
3596  * @return  The iterator pointing to the last element
3597  *
3598  * Set the current element in the iterator to the last element.
3599  * The member rem is set to 0. The member data points to the
3600  * last element.
3601  */
3602 xcb_generic_iterator_t
3603 xcb_xkb_set_behavior_end (xcb_xkb_set_behavior_iterator_t i);
3604 
3605 /**
3606  * Get the next element of the iterator
3607  * @param i Pointer to a xcb_xkb_set_explicit_iterator_t
3608  *
3609  * Get the next element in the iterator. The member rem is
3610  * decreased by one. The member data points to the next
3611  * element. The member index is increased by sizeof(xcb_xkb_set_explicit_t)
3612  */
3613 void
3614 xcb_xkb_set_explicit_next (xcb_xkb_set_explicit_iterator_t *i);
3615 
3616 /**
3617  * Return the iterator pointing to the last element
3618  * @param i An xcb_xkb_set_explicit_iterator_t
3619  * @return  The iterator pointing to the last element
3620  *
3621  * Set the current element in the iterator to the last element.
3622  * The member rem is set to 0. The member data points to the
3623  * last element.
3624  */
3625 xcb_generic_iterator_t
3626 xcb_xkb_set_explicit_end (xcb_xkb_set_explicit_iterator_t i);
3627 
3628 /**
3629  * Get the next element of the iterator
3630  * @param i Pointer to a xcb_xkb_key_mod_map_iterator_t
3631  *
3632  * Get the next element in the iterator. The member rem is
3633  * decreased by one. The member data points to the next
3634  * element. The member index is increased by sizeof(xcb_xkb_key_mod_map_t)
3635  */
3636 void
3637 xcb_xkb_key_mod_map_next (xcb_xkb_key_mod_map_iterator_t *i);
3638 
3639 /**
3640  * Return the iterator pointing to the last element
3641  * @param i An xcb_xkb_key_mod_map_iterator_t
3642  * @return  The iterator pointing to the last element
3643  *
3644  * Set the current element in the iterator to the last element.
3645  * The member rem is set to 0. The member data points to the
3646  * last element.
3647  */
3648 xcb_generic_iterator_t
3649 xcb_xkb_key_mod_map_end (xcb_xkb_key_mod_map_iterator_t i);
3650 
3651 /**
3652  * Get the next element of the iterator
3653  * @param i Pointer to a xcb_xkb_key_v_mod_map_iterator_t
3654  *
3655  * Get the next element in the iterator. The member rem is
3656  * decreased by one. The member data points to the next
3657  * element. The member index is increased by sizeof(xcb_xkb_key_v_mod_map_t)
3658  */
3659 void
3660 xcb_xkb_key_v_mod_map_next (xcb_xkb_key_v_mod_map_iterator_t *i);
3661 
3662 /**
3663  * Return the iterator pointing to the last element
3664  * @param i An xcb_xkb_key_v_mod_map_iterator_t
3665  * @return  The iterator pointing to the last element
3666  *
3667  * Set the current element in the iterator to the last element.
3668  * The member rem is set to 0. The member data points to the
3669  * last element.
3670  */
3671 xcb_generic_iterator_t
3672 xcb_xkb_key_v_mod_map_end (xcb_xkb_key_v_mod_map_iterator_t i);
3673 
3674 /**
3675  * Get the next element of the iterator
3676  * @param i Pointer to a xcb_xkb_kt_set_map_entry_iterator_t
3677  *
3678  * Get the next element in the iterator. The member rem is
3679  * decreased by one. The member data points to the next
3680  * element. The member index is increased by sizeof(xcb_xkb_kt_set_map_entry_t)
3681  */
3682 void
3683 xcb_xkb_kt_set_map_entry_next (xcb_xkb_kt_set_map_entry_iterator_t *i);
3684 
3685 /**
3686  * Return the iterator pointing to the last element
3687  * @param i An xcb_xkb_kt_set_map_entry_iterator_t
3688  * @return  The iterator pointing to the last element
3689  *
3690  * Set the current element in the iterator to the last element.
3691  * The member rem is set to 0. The member data points to the
3692  * last element.
3693  */
3694 xcb_generic_iterator_t
3695 xcb_xkb_kt_set_map_entry_end (xcb_xkb_kt_set_map_entry_iterator_t i);
3696 
3697 int
3698 xcb_xkb_set_key_type_sizeof (const void  *_buffer);
3699 
3700 xcb_xkb_kt_set_map_entry_t *
3701 xcb_xkb_set_key_type_entries (const xcb_xkb_set_key_type_t *R);
3702 
3703 int
3704 xcb_xkb_set_key_type_entries_length (const xcb_xkb_set_key_type_t *R);
3705 
3706 xcb_xkb_kt_set_map_entry_iterator_t
3707 xcb_xkb_set_key_type_entries_iterator (const xcb_xkb_set_key_type_t *R);
3708 
3709 xcb_xkb_kt_set_map_entry_t *
3710 xcb_xkb_set_key_type_preserve_entries (const xcb_xkb_set_key_type_t *R);
3711 
3712 int
3713 xcb_xkb_set_key_type_preserve_entries_length (const xcb_xkb_set_key_type_t *R);
3714 
3715 xcb_xkb_kt_set_map_entry_iterator_t
3716 xcb_xkb_set_key_type_preserve_entries_iterator (const xcb_xkb_set_key_type_t *R);
3717 
3718 /**
3719  * Get the next element of the iterator
3720  * @param i Pointer to a xcb_xkb_set_key_type_iterator_t
3721  *
3722  * Get the next element in the iterator. The member rem is
3723  * decreased by one. The member data points to the next
3724  * element. The member index is increased by sizeof(xcb_xkb_set_key_type_t)
3725  */
3726 void
3727 xcb_xkb_set_key_type_next (xcb_xkb_set_key_type_iterator_t *i);
3728 
3729 /**
3730  * Return the iterator pointing to the last element
3731  * @param i An xcb_xkb_set_key_type_iterator_t
3732  * @return  The iterator pointing to the last element
3733  *
3734  * Set the current element in the iterator to the last element.
3735  * The member rem is set to 0. The member data points to the
3736  * last element.
3737  */
3738 xcb_generic_iterator_t
3739 xcb_xkb_set_key_type_end (xcb_xkb_set_key_type_iterator_t i);
3740 
3741 /**
3742  * Get the next element of the iterator
3743  * @param i Pointer to a xcb_xkb_string8_iterator_t
3744  *
3745  * Get the next element in the iterator. The member rem is
3746  * decreased by one. The member data points to the next
3747  * element. The member index is increased by sizeof(xcb_xkb_string8_t)
3748  */
3749 void
3750 xcb_xkb_string8_next (xcb_xkb_string8_iterator_t *i);
3751 
3752 /**
3753  * Return the iterator pointing to the last element
3754  * @param i An xcb_xkb_string8_iterator_t
3755  * @return  The iterator pointing to the last element
3756  *
3757  * Set the current element in the iterator to the last element.
3758  * The member rem is set to 0. The member data points to the
3759  * last element.
3760  */
3761 xcb_generic_iterator_t
3762 xcb_xkb_string8_end (xcb_xkb_string8_iterator_t i);
3763 
3764 int
3765 xcb_xkb_outline_sizeof (const void  *_buffer);
3766 
3767 xcb_point_t *
3768 xcb_xkb_outline_points (const xcb_xkb_outline_t *R);
3769 
3770 int
3771 xcb_xkb_outline_points_length (const xcb_xkb_outline_t *R);
3772 
3773 xcb_point_iterator_t
3774 xcb_xkb_outline_points_iterator (const xcb_xkb_outline_t *R);
3775 
3776 /**
3777  * Get the next element of the iterator
3778  * @param i Pointer to a xcb_xkb_outline_iterator_t
3779  *
3780  * Get the next element in the iterator. The member rem is
3781  * decreased by one. The member data points to the next
3782  * element. The member index is increased by sizeof(xcb_xkb_outline_t)
3783  */
3784 void
3785 xcb_xkb_outline_next (xcb_xkb_outline_iterator_t *i);
3786 
3787 /**
3788  * Return the iterator pointing to the last element
3789  * @param i An xcb_xkb_outline_iterator_t
3790  * @return  The iterator pointing to the last element
3791  *
3792  * Set the current element in the iterator to the last element.
3793  * The member rem is set to 0. The member data points to the
3794  * last element.
3795  */
3796 xcb_generic_iterator_t
3797 xcb_xkb_outline_end (xcb_xkb_outline_iterator_t i);
3798 
3799 int
3800 xcb_xkb_shape_sizeof (const void  *_buffer);
3801 
3802 int
3803 xcb_xkb_shape_outlines_length (const xcb_xkb_shape_t *R);
3804 
3805 xcb_xkb_outline_iterator_t
3806 xcb_xkb_shape_outlines_iterator (const xcb_xkb_shape_t *R);
3807 
3808 /**
3809  * Get the next element of the iterator
3810  * @param i Pointer to a xcb_xkb_shape_iterator_t
3811  *
3812  * Get the next element in the iterator. The member rem is
3813  * decreased by one. The member data points to the next
3814  * element. The member index is increased by sizeof(xcb_xkb_shape_t)
3815  */
3816 void
3817 xcb_xkb_shape_next (xcb_xkb_shape_iterator_t *i);
3818 
3819 /**
3820  * Return the iterator pointing to the last element
3821  * @param i An xcb_xkb_shape_iterator_t
3822  * @return  The iterator pointing to the last element
3823  *
3824  * Set the current element in the iterator to the last element.
3825  * The member rem is set to 0. The member data points to the
3826  * last element.
3827  */
3828 xcb_generic_iterator_t
3829 xcb_xkb_shape_end (xcb_xkb_shape_iterator_t i);
3830 
3831 /**
3832  * Get the next element of the iterator
3833  * @param i Pointer to a xcb_xkb_key_iterator_t
3834  *
3835  * Get the next element in the iterator. The member rem is
3836  * decreased by one. The member data points to the next
3837  * element. The member index is increased by sizeof(xcb_xkb_key_t)
3838  */
3839 void
3840 xcb_xkb_key_next (xcb_xkb_key_iterator_t *i);
3841 
3842 /**
3843  * Return the iterator pointing to the last element
3844  * @param i An xcb_xkb_key_iterator_t
3845  * @return  The iterator pointing to the last element
3846  *
3847  * Set the current element in the iterator to the last element.
3848  * The member rem is set to 0. The member data points to the
3849  * last element.
3850  */
3851 xcb_generic_iterator_t
3852 xcb_xkb_key_end (xcb_xkb_key_iterator_t i);
3853 
3854 /**
3855  * Get the next element of the iterator
3856  * @param i Pointer to a xcb_xkb_overlay_key_iterator_t
3857  *
3858  * Get the next element in the iterator. The member rem is
3859  * decreased by one. The member data points to the next
3860  * element. The member index is increased by sizeof(xcb_xkb_overlay_key_t)
3861  */
3862 void
3863 xcb_xkb_overlay_key_next (xcb_xkb_overlay_key_iterator_t *i);
3864 
3865 /**
3866  * Return the iterator pointing to the last element
3867  * @param i An xcb_xkb_overlay_key_iterator_t
3868  * @return  The iterator pointing to the last element
3869  *
3870  * Set the current element in the iterator to the last element.
3871  * The member rem is set to 0. The member data points to the
3872  * last element.
3873  */
3874 xcb_generic_iterator_t
3875 xcb_xkb_overlay_key_end (xcb_xkb_overlay_key_iterator_t i);
3876 
3877 int
3878 xcb_xkb_overlay_row_sizeof (const void  *_buffer);
3879 
3880 xcb_xkb_overlay_key_t *
3881 xcb_xkb_overlay_row_keys (const xcb_xkb_overlay_row_t *R);
3882 
3883 int
3884 xcb_xkb_overlay_row_keys_length (const xcb_xkb_overlay_row_t *R);
3885 
3886 xcb_xkb_overlay_key_iterator_t
3887 xcb_xkb_overlay_row_keys_iterator (const xcb_xkb_overlay_row_t *R);
3888 
3889 /**
3890  * Get the next element of the iterator
3891  * @param i Pointer to a xcb_xkb_overlay_row_iterator_t
3892  *
3893  * Get the next element in the iterator. The member rem is
3894  * decreased by one. The member data points to the next
3895  * element. The member index is increased by sizeof(xcb_xkb_overlay_row_t)
3896  */
3897 void
3898 xcb_xkb_overlay_row_next (xcb_xkb_overlay_row_iterator_t *i);
3899 
3900 /**
3901  * Return the iterator pointing to the last element
3902  * @param i An xcb_xkb_overlay_row_iterator_t
3903  * @return  The iterator pointing to the last element
3904  *
3905  * Set the current element in the iterator to the last element.
3906  * The member rem is set to 0. The member data points to the
3907  * last element.
3908  */
3909 xcb_generic_iterator_t
3910 xcb_xkb_overlay_row_end (xcb_xkb_overlay_row_iterator_t i);
3911 
3912 int
3913 xcb_xkb_overlay_sizeof (const void  *_buffer);
3914 
3915 int
3916 xcb_xkb_overlay_rows_length (const xcb_xkb_overlay_t *R);
3917 
3918 xcb_xkb_overlay_row_iterator_t
3919 xcb_xkb_overlay_rows_iterator (const xcb_xkb_overlay_t *R);
3920 
3921 /**
3922  * Get the next element of the iterator
3923  * @param i Pointer to a xcb_xkb_overlay_iterator_t
3924  *
3925  * Get the next element in the iterator. The member rem is
3926  * decreased by one. The member data points to the next
3927  * element. The member index is increased by sizeof(xcb_xkb_overlay_t)
3928  */
3929 void
3930 xcb_xkb_overlay_next (xcb_xkb_overlay_iterator_t *i);
3931 
3932 /**
3933  * Return the iterator pointing to the last element
3934  * @param i An xcb_xkb_overlay_iterator_t
3935  * @return  The iterator pointing to the last element
3936  *
3937  * Set the current element in the iterator to the last element.
3938  * The member rem is set to 0. The member data points to the
3939  * last element.
3940  */
3941 xcb_generic_iterator_t
3942 xcb_xkb_overlay_end (xcb_xkb_overlay_iterator_t i);
3943 
3944 int
3945 xcb_xkb_row_sizeof (const void  *_buffer);
3946 
3947 xcb_xkb_key_t *
3948 xcb_xkb_row_keys (const xcb_xkb_row_t *R);
3949 
3950 int
3951 xcb_xkb_row_keys_length (const xcb_xkb_row_t *R);
3952 
3953 xcb_xkb_key_iterator_t
3954 xcb_xkb_row_keys_iterator (const xcb_xkb_row_t *R);
3955 
3956 /**
3957  * Get the next element of the iterator
3958  * @param i Pointer to a xcb_xkb_row_iterator_t
3959  *
3960  * Get the next element in the iterator. The member rem is
3961  * decreased by one. The member data points to the next
3962  * element. The member index is increased by sizeof(xcb_xkb_row_t)
3963  */
3964 void
3965 xcb_xkb_row_next (xcb_xkb_row_iterator_t *i);
3966 
3967 /**
3968  * Return the iterator pointing to the last element
3969  * @param i An xcb_xkb_row_iterator_t
3970  * @return  The iterator pointing to the last element
3971  *
3972  * Set the current element in the iterator to the last element.
3973  * The member rem is set to 0. The member data points to the
3974  * last element.
3975  */
3976 xcb_generic_iterator_t
3977 xcb_xkb_row_end (xcb_xkb_row_iterator_t i);
3978 
3979 int
3980 xcb_xkb_listing_sizeof (const void  *_buffer);
3981 
3982 xcb_xkb_string8_t *
3983 xcb_xkb_listing_string (const xcb_xkb_listing_t *R);
3984 
3985 int
3986 xcb_xkb_listing_string_length (const xcb_xkb_listing_t *R);
3987 
3988 xcb_generic_iterator_t
3989 xcb_xkb_listing_string_end (const xcb_xkb_listing_t *R);
3990 
3991 /**
3992  * Get the next element of the iterator
3993  * @param i Pointer to a xcb_xkb_listing_iterator_t
3994  *
3995  * Get the next element in the iterator. The member rem is
3996  * decreased by one. The member data points to the next
3997  * element. The member index is increased by sizeof(xcb_xkb_listing_t)
3998  */
3999 void
4000 xcb_xkb_listing_next (xcb_xkb_listing_iterator_t *i);
4001 
4002 /**
4003  * Return the iterator pointing to the last element
4004  * @param i An xcb_xkb_listing_iterator_t
4005  * @return  The iterator pointing to the last element
4006  *
4007  * Set the current element in the iterator to the last element.
4008  * The member rem is set to 0. The member data points to the
4009  * last element.
4010  */
4011 xcb_generic_iterator_t
4012 xcb_xkb_listing_end (xcb_xkb_listing_iterator_t i);
4013 
4014 int
4015 xcb_xkb_device_led_info_sizeof (const void  *_buffer);
4016 
4017 xcb_atom_t *
4018 xcb_xkb_device_led_info_names (const xcb_xkb_device_led_info_t *R);
4019 
4020 int
4021 xcb_xkb_device_led_info_names_length (const xcb_xkb_device_led_info_t *R);
4022 
4023 xcb_generic_iterator_t
4024 xcb_xkb_device_led_info_names_end (const xcb_xkb_device_led_info_t *R);
4025 
4026 xcb_xkb_indicator_map_t *
4027 xcb_xkb_device_led_info_maps (const xcb_xkb_device_led_info_t *R);
4028 
4029 int
4030 xcb_xkb_device_led_info_maps_length (const xcb_xkb_device_led_info_t *R);
4031 
4032 xcb_xkb_indicator_map_iterator_t
4033 xcb_xkb_device_led_info_maps_iterator (const xcb_xkb_device_led_info_t *R);
4034 
4035 /**
4036  * Get the next element of the iterator
4037  * @param i Pointer to a xcb_xkb_device_led_info_iterator_t
4038  *
4039  * Get the next element in the iterator. The member rem is
4040  * decreased by one. The member data points to the next
4041  * element. The member index is increased by sizeof(xcb_xkb_device_led_info_t)
4042  */
4043 void
4044 xcb_xkb_device_led_info_next (xcb_xkb_device_led_info_iterator_t *i);
4045 
4046 /**
4047  * Return the iterator pointing to the last element
4048  * @param i An xcb_xkb_device_led_info_iterator_t
4049  * @return  The iterator pointing to the last element
4050  *
4051  * Set the current element in the iterator to the last element.
4052  * The member rem is set to 0. The member data points to the
4053  * last element.
4054  */
4055 xcb_generic_iterator_t
4056 xcb_xkb_device_led_info_end (xcb_xkb_device_led_info_iterator_t i);
4057 
4058 /**
4059  * Get the next element of the iterator
4060  * @param i Pointer to a xcb_xkb_sa_no_action_iterator_t
4061  *
4062  * Get the next element in the iterator. The member rem is
4063  * decreased by one. The member data points to the next
4064  * element. The member index is increased by sizeof(xcb_xkb_sa_no_action_t)
4065  */
4066 void
4067 xcb_xkb_sa_no_action_next (xcb_xkb_sa_no_action_iterator_t *i);
4068 
4069 /**
4070  * Return the iterator pointing to the last element
4071  * @param i An xcb_xkb_sa_no_action_iterator_t
4072  * @return  The iterator pointing to the last element
4073  *
4074  * Set the current element in the iterator to the last element.
4075  * The member rem is set to 0. The member data points to the
4076  * last element.
4077  */
4078 xcb_generic_iterator_t
4079 xcb_xkb_sa_no_action_end (xcb_xkb_sa_no_action_iterator_t i);
4080 
4081 /**
4082  * Get the next element of the iterator
4083  * @param i Pointer to a xcb_xkb_sa_set_mods_iterator_t
4084  *
4085  * Get the next element in the iterator. The member rem is
4086  * decreased by one. The member data points to the next
4087  * element. The member index is increased by sizeof(xcb_xkb_sa_set_mods_t)
4088  */
4089 void
4090 xcb_xkb_sa_set_mods_next (xcb_xkb_sa_set_mods_iterator_t *i);
4091 
4092 /**
4093  * Return the iterator pointing to the last element
4094  * @param i An xcb_xkb_sa_set_mods_iterator_t
4095  * @return  The iterator pointing to the last element
4096  *
4097  * Set the current element in the iterator to the last element.
4098  * The member rem is set to 0. The member data points to the
4099  * last element.
4100  */
4101 xcb_generic_iterator_t
4102 xcb_xkb_sa_set_mods_end (xcb_xkb_sa_set_mods_iterator_t i);
4103 
4104 /**
4105  * Get the next element of the iterator
4106  * @param i Pointer to a xcb_xkb_sa_latch_mods_iterator_t
4107  *
4108  * Get the next element in the iterator. The member rem is
4109  * decreased by one. The member data points to the next
4110  * element. The member index is increased by sizeof(xcb_xkb_sa_latch_mods_t)
4111  */
4112 void
4113 xcb_xkb_sa_latch_mods_next (xcb_xkb_sa_latch_mods_iterator_t *i);
4114 
4115 /**
4116  * Return the iterator pointing to the last element
4117  * @param i An xcb_xkb_sa_latch_mods_iterator_t
4118  * @return  The iterator pointing to the last element
4119  *
4120  * Set the current element in the iterator to the last element.
4121  * The member rem is set to 0. The member data points to the
4122  * last element.
4123  */
4124 xcb_generic_iterator_t
4125 xcb_xkb_sa_latch_mods_end (xcb_xkb_sa_latch_mods_iterator_t i);
4126 
4127 /**
4128  * Get the next element of the iterator
4129  * @param i Pointer to a xcb_xkb_sa_lock_mods_iterator_t
4130  *
4131  * Get the next element in the iterator. The member rem is
4132  * decreased by one. The member data points to the next
4133  * element. The member index is increased by sizeof(xcb_xkb_sa_lock_mods_t)
4134  */
4135 void
4136 xcb_xkb_sa_lock_mods_next (xcb_xkb_sa_lock_mods_iterator_t *i);
4137 
4138 /**
4139  * Return the iterator pointing to the last element
4140  * @param i An xcb_xkb_sa_lock_mods_iterator_t
4141  * @return  The iterator pointing to the last element
4142  *
4143  * Set the current element in the iterator to the last element.
4144  * The member rem is set to 0. The member data points to the
4145  * last element.
4146  */
4147 xcb_generic_iterator_t
4148 xcb_xkb_sa_lock_mods_end (xcb_xkb_sa_lock_mods_iterator_t i);
4149 
4150 /**
4151  * Get the next element of the iterator
4152  * @param i Pointer to a xcb_xkb_sa_set_group_iterator_t
4153  *
4154  * Get the next element in the iterator. The member rem is
4155  * decreased by one. The member data points to the next
4156  * element. The member index is increased by sizeof(xcb_xkb_sa_set_group_t)
4157  */
4158 void
4159 xcb_xkb_sa_set_group_next (xcb_xkb_sa_set_group_iterator_t *i);
4160 
4161 /**
4162  * Return the iterator pointing to the last element
4163  * @param i An xcb_xkb_sa_set_group_iterator_t
4164  * @return  The iterator pointing to the last element
4165  *
4166  * Set the current element in the iterator to the last element.
4167  * The member rem is set to 0. The member data points to the
4168  * last element.
4169  */
4170 xcb_generic_iterator_t
4171 xcb_xkb_sa_set_group_end (xcb_xkb_sa_set_group_iterator_t i);
4172 
4173 /**
4174  * Get the next element of the iterator
4175  * @param i Pointer to a xcb_xkb_sa_latch_group_iterator_t
4176  *
4177  * Get the next element in the iterator. The member rem is
4178  * decreased by one. The member data points to the next
4179  * element. The member index is increased by sizeof(xcb_xkb_sa_latch_group_t)
4180  */
4181 void
4182 xcb_xkb_sa_latch_group_next (xcb_xkb_sa_latch_group_iterator_t *i);
4183 
4184 /**
4185  * Return the iterator pointing to the last element
4186  * @param i An xcb_xkb_sa_latch_group_iterator_t
4187  * @return  The iterator pointing to the last element
4188  *
4189  * Set the current element in the iterator to the last element.
4190  * The member rem is set to 0. The member data points to the
4191  * last element.
4192  */
4193 xcb_generic_iterator_t
4194 xcb_xkb_sa_latch_group_end (xcb_xkb_sa_latch_group_iterator_t i);
4195 
4196 /**
4197  * Get the next element of the iterator
4198  * @param i Pointer to a xcb_xkb_sa_lock_group_iterator_t
4199  *
4200  * Get the next element in the iterator. The member rem is
4201  * decreased by one. The member data points to the next
4202  * element. The member index is increased by sizeof(xcb_xkb_sa_lock_group_t)
4203  */
4204 void
4205 xcb_xkb_sa_lock_group_next (xcb_xkb_sa_lock_group_iterator_t *i);
4206 
4207 /**
4208  * Return the iterator pointing to the last element
4209  * @param i An xcb_xkb_sa_lock_group_iterator_t
4210  * @return  The iterator pointing to the last element
4211  *
4212  * Set the current element in the iterator to the last element.
4213  * The member rem is set to 0. The member data points to the
4214  * last element.
4215  */
4216 xcb_generic_iterator_t
4217 xcb_xkb_sa_lock_group_end (xcb_xkb_sa_lock_group_iterator_t i);
4218 
4219 /**
4220  * Get the next element of the iterator
4221  * @param i Pointer to a xcb_xkb_sa_move_ptr_iterator_t
4222  *
4223  * Get the next element in the iterator. The member rem is
4224  * decreased by one. The member data points to the next
4225  * element. The member index is increased by sizeof(xcb_xkb_sa_move_ptr_t)
4226  */
4227 void
4228 xcb_xkb_sa_move_ptr_next (xcb_xkb_sa_move_ptr_iterator_t *i);
4229 
4230 /**
4231  * Return the iterator pointing to the last element
4232  * @param i An xcb_xkb_sa_move_ptr_iterator_t
4233  * @return  The iterator pointing to the last element
4234  *
4235  * Set the current element in the iterator to the last element.
4236  * The member rem is set to 0. The member data points to the
4237  * last element.
4238  */
4239 xcb_generic_iterator_t
4240 xcb_xkb_sa_move_ptr_end (xcb_xkb_sa_move_ptr_iterator_t i);
4241 
4242 /**
4243  * Get the next element of the iterator
4244  * @param i Pointer to a xcb_xkb_sa_ptr_btn_iterator_t
4245  *
4246  * Get the next element in the iterator. The member rem is
4247  * decreased by one. The member data points to the next
4248  * element. The member index is increased by sizeof(xcb_xkb_sa_ptr_btn_t)
4249  */
4250 void
4251 xcb_xkb_sa_ptr_btn_next (xcb_xkb_sa_ptr_btn_iterator_t *i);
4252 
4253 /**
4254  * Return the iterator pointing to the last element
4255  * @param i An xcb_xkb_sa_ptr_btn_iterator_t
4256  * @return  The iterator pointing to the last element
4257  *
4258  * Set the current element in the iterator to the last element.
4259  * The member rem is set to 0. The member data points to the
4260  * last element.
4261  */
4262 xcb_generic_iterator_t
4263 xcb_xkb_sa_ptr_btn_end (xcb_xkb_sa_ptr_btn_iterator_t i);
4264 
4265 /**
4266  * Get the next element of the iterator
4267  * @param i Pointer to a xcb_xkb_sa_lock_ptr_btn_iterator_t
4268  *
4269  * Get the next element in the iterator. The member rem is
4270  * decreased by one. The member data points to the next
4271  * element. The member index is increased by sizeof(xcb_xkb_sa_lock_ptr_btn_t)
4272  */
4273 void
4274 xcb_xkb_sa_lock_ptr_btn_next (xcb_xkb_sa_lock_ptr_btn_iterator_t *i);
4275 
4276 /**
4277  * Return the iterator pointing to the last element
4278  * @param i An xcb_xkb_sa_lock_ptr_btn_iterator_t
4279  * @return  The iterator pointing to the last element
4280  *
4281  * Set the current element in the iterator to the last element.
4282  * The member rem is set to 0. The member data points to the
4283  * last element.
4284  */
4285 xcb_generic_iterator_t
4286 xcb_xkb_sa_lock_ptr_btn_end (xcb_xkb_sa_lock_ptr_btn_iterator_t i);
4287 
4288 /**
4289  * Get the next element of the iterator
4290  * @param i Pointer to a xcb_xkb_sa_set_ptr_dflt_iterator_t
4291  *
4292  * Get the next element in the iterator. The member rem is
4293  * decreased by one. The member data points to the next
4294  * element. The member index is increased by sizeof(xcb_xkb_sa_set_ptr_dflt_t)
4295  */
4296 void
4297 xcb_xkb_sa_set_ptr_dflt_next (xcb_xkb_sa_set_ptr_dflt_iterator_t *i);
4298 
4299 /**
4300  * Return the iterator pointing to the last element
4301  * @param i An xcb_xkb_sa_set_ptr_dflt_iterator_t
4302  * @return  The iterator pointing to the last element
4303  *
4304  * Set the current element in the iterator to the last element.
4305  * The member rem is set to 0. The member data points to the
4306  * last element.
4307  */
4308 xcb_generic_iterator_t
4309 xcb_xkb_sa_set_ptr_dflt_end (xcb_xkb_sa_set_ptr_dflt_iterator_t i);
4310 
4311 /**
4312  * Get the next element of the iterator
4313  * @param i Pointer to a xcb_xkb_sa_iso_lock_iterator_t
4314  *
4315  * Get the next element in the iterator. The member rem is
4316  * decreased by one. The member data points to the next
4317  * element. The member index is increased by sizeof(xcb_xkb_sa_iso_lock_t)
4318  */
4319 void
4320 xcb_xkb_sa_iso_lock_next (xcb_xkb_sa_iso_lock_iterator_t *i);
4321 
4322 /**
4323  * Return the iterator pointing to the last element
4324  * @param i An xcb_xkb_sa_iso_lock_iterator_t
4325  * @return  The iterator pointing to the last element
4326  *
4327  * Set the current element in the iterator to the last element.
4328  * The member rem is set to 0. The member data points to the
4329  * last element.
4330  */
4331 xcb_generic_iterator_t
4332 xcb_xkb_sa_iso_lock_end (xcb_xkb_sa_iso_lock_iterator_t i);
4333 
4334 /**
4335  * Get the next element of the iterator
4336  * @param i Pointer to a xcb_xkb_sa_terminate_iterator_t
4337  *
4338  * Get the next element in the iterator. The member rem is
4339  * decreased by one. The member data points to the next
4340  * element. The member index is increased by sizeof(xcb_xkb_sa_terminate_t)
4341  */
4342 void
4343 xcb_xkb_sa_terminate_next (xcb_xkb_sa_terminate_iterator_t *i);
4344 
4345 /**
4346  * Return the iterator pointing to the last element
4347  * @param i An xcb_xkb_sa_terminate_iterator_t
4348  * @return  The iterator pointing to the last element
4349  *
4350  * Set the current element in the iterator to the last element.
4351  * The member rem is set to 0. The member data points to the
4352  * last element.
4353  */
4354 xcb_generic_iterator_t
4355 xcb_xkb_sa_terminate_end (xcb_xkb_sa_terminate_iterator_t i);
4356 
4357 /**
4358  * Get the next element of the iterator
4359  * @param i Pointer to a xcb_xkb_sa_switch_screen_iterator_t
4360  *
4361  * Get the next element in the iterator. The member rem is
4362  * decreased by one. The member data points to the next
4363  * element. The member index is increased by sizeof(xcb_xkb_sa_switch_screen_t)
4364  */
4365 void
4366 xcb_xkb_sa_switch_screen_next (xcb_xkb_sa_switch_screen_iterator_t *i);
4367 
4368 /**
4369  * Return the iterator pointing to the last element
4370  * @param i An xcb_xkb_sa_switch_screen_iterator_t
4371  * @return  The iterator pointing to the last element
4372  *
4373  * Set the current element in the iterator to the last element.
4374  * The member rem is set to 0. The member data points to the
4375  * last element.
4376  */
4377 xcb_generic_iterator_t
4378 xcb_xkb_sa_switch_screen_end (xcb_xkb_sa_switch_screen_iterator_t i);
4379 
4380 /**
4381  * Get the next element of the iterator
4382  * @param i Pointer to a xcb_xkb_sa_set_controls_iterator_t
4383  *
4384  * Get the next element in the iterator. The member rem is
4385  * decreased by one. The member data points to the next
4386  * element. The member index is increased by sizeof(xcb_xkb_sa_set_controls_t)
4387  */
4388 void
4389 xcb_xkb_sa_set_controls_next (xcb_xkb_sa_set_controls_iterator_t *i);
4390 
4391 /**
4392  * Return the iterator pointing to the last element
4393  * @param i An xcb_xkb_sa_set_controls_iterator_t
4394  * @return  The iterator pointing to the last element
4395  *
4396  * Set the current element in the iterator to the last element.
4397  * The member rem is set to 0. The member data points to the
4398  * last element.
4399  */
4400 xcb_generic_iterator_t
4401 xcb_xkb_sa_set_controls_end (xcb_xkb_sa_set_controls_iterator_t i);
4402 
4403 /**
4404  * Get the next element of the iterator
4405  * @param i Pointer to a xcb_xkb_sa_lock_controls_iterator_t
4406  *
4407  * Get the next element in the iterator. The member rem is
4408  * decreased by one. The member data points to the next
4409  * element. The member index is increased by sizeof(xcb_xkb_sa_lock_controls_t)
4410  */
4411 void
4412 xcb_xkb_sa_lock_controls_next (xcb_xkb_sa_lock_controls_iterator_t *i);
4413 
4414 /**
4415  * Return the iterator pointing to the last element
4416  * @param i An xcb_xkb_sa_lock_controls_iterator_t
4417  * @return  The iterator pointing to the last element
4418  *
4419  * Set the current element in the iterator to the last element.
4420  * The member rem is set to 0. The member data points to the
4421  * last element.
4422  */
4423 xcb_generic_iterator_t
4424 xcb_xkb_sa_lock_controls_end (xcb_xkb_sa_lock_controls_iterator_t i);
4425 
4426 /**
4427  * Get the next element of the iterator
4428  * @param i Pointer to a xcb_xkb_sa_action_message_iterator_t
4429  *
4430  * Get the next element in the iterator. The member rem is
4431  * decreased by one. The member data points to the next
4432  * element. The member index is increased by sizeof(xcb_xkb_sa_action_message_t)
4433  */
4434 void
4435 xcb_xkb_sa_action_message_next (xcb_xkb_sa_action_message_iterator_t *i);
4436 
4437 /**
4438  * Return the iterator pointing to the last element
4439  * @param i An xcb_xkb_sa_action_message_iterator_t
4440  * @return  The iterator pointing to the last element
4441  *
4442  * Set the current element in the iterator to the last element.
4443  * The member rem is set to 0. The member data points to the
4444  * last element.
4445  */
4446 xcb_generic_iterator_t
4447 xcb_xkb_sa_action_message_end (xcb_xkb_sa_action_message_iterator_t i);
4448 
4449 /**
4450  * Get the next element of the iterator
4451  * @param i Pointer to a xcb_xkb_sa_redirect_key_iterator_t
4452  *
4453  * Get the next element in the iterator. The member rem is
4454  * decreased by one. The member data points to the next
4455  * element. The member index is increased by sizeof(xcb_xkb_sa_redirect_key_t)
4456  */
4457 void
4458 xcb_xkb_sa_redirect_key_next (xcb_xkb_sa_redirect_key_iterator_t *i);
4459 
4460 /**
4461  * Return the iterator pointing to the last element
4462  * @param i An xcb_xkb_sa_redirect_key_iterator_t
4463  * @return  The iterator pointing to the last element
4464  *
4465  * Set the current element in the iterator to the last element.
4466  * The member rem is set to 0. The member data points to the
4467  * last element.
4468  */
4469 xcb_generic_iterator_t
4470 xcb_xkb_sa_redirect_key_end (xcb_xkb_sa_redirect_key_iterator_t i);
4471 
4472 /**
4473  * Get the next element of the iterator
4474  * @param i Pointer to a xcb_xkb_sa_device_btn_iterator_t
4475  *
4476  * Get the next element in the iterator. The member rem is
4477  * decreased by one. The member data points to the next
4478  * element. The member index is increased by sizeof(xcb_xkb_sa_device_btn_t)
4479  */
4480 void
4481 xcb_xkb_sa_device_btn_next (xcb_xkb_sa_device_btn_iterator_t *i);
4482 
4483 /**
4484  * Return the iterator pointing to the last element
4485  * @param i An xcb_xkb_sa_device_btn_iterator_t
4486  * @return  The iterator pointing to the last element
4487  *
4488  * Set the current element in the iterator to the last element.
4489  * The member rem is set to 0. The member data points to the
4490  * last element.
4491  */
4492 xcb_generic_iterator_t
4493 xcb_xkb_sa_device_btn_end (xcb_xkb_sa_device_btn_iterator_t i);
4494 
4495 /**
4496  * Get the next element of the iterator
4497  * @param i Pointer to a xcb_xkb_sa_lock_device_btn_iterator_t
4498  *
4499  * Get the next element in the iterator. The member rem is
4500  * decreased by one. The member data points to the next
4501  * element. The member index is increased by sizeof(xcb_xkb_sa_lock_device_btn_t)
4502  */
4503 void
4504 xcb_xkb_sa_lock_device_btn_next (xcb_xkb_sa_lock_device_btn_iterator_t *i);
4505 
4506 /**
4507  * Return the iterator pointing to the last element
4508  * @param i An xcb_xkb_sa_lock_device_btn_iterator_t
4509  * @return  The iterator pointing to the last element
4510  *
4511  * Set the current element in the iterator to the last element.
4512  * The member rem is set to 0. The member data points to the
4513  * last element.
4514  */
4515 xcb_generic_iterator_t
4516 xcb_xkb_sa_lock_device_btn_end (xcb_xkb_sa_lock_device_btn_iterator_t i);
4517 
4518 /**
4519  * Get the next element of the iterator
4520  * @param i Pointer to a xcb_xkb_sa_device_valuator_iterator_t
4521  *
4522  * Get the next element in the iterator. The member rem is
4523  * decreased by one. The member data points to the next
4524  * element. The member index is increased by sizeof(xcb_xkb_sa_device_valuator_t)
4525  */
4526 void
4527 xcb_xkb_sa_device_valuator_next (xcb_xkb_sa_device_valuator_iterator_t *i);
4528 
4529 /**
4530  * Return the iterator pointing to the last element
4531  * @param i An xcb_xkb_sa_device_valuator_iterator_t
4532  * @return  The iterator pointing to the last element
4533  *
4534  * Set the current element in the iterator to the last element.
4535  * The member rem is set to 0. The member data points to the
4536  * last element.
4537  */
4538 xcb_generic_iterator_t
4539 xcb_xkb_sa_device_valuator_end (xcb_xkb_sa_device_valuator_iterator_t i);
4540 
4541 /**
4542  * Get the next element of the iterator
4543  * @param i Pointer to a xcb_xkb_si_action_iterator_t
4544  *
4545  * Get the next element in the iterator. The member rem is
4546  * decreased by one. The member data points to the next
4547  * element. The member index is increased by sizeof(xcb_xkb_si_action_t)
4548  */
4549 void
4550 xcb_xkb_si_action_next (xcb_xkb_si_action_iterator_t *i);
4551 
4552 /**
4553  * Return the iterator pointing to the last element
4554  * @param i An xcb_xkb_si_action_iterator_t
4555  * @return  The iterator pointing to the last element
4556  *
4557  * Set the current element in the iterator to the last element.
4558  * The member rem is set to 0. The member data points to the
4559  * last element.
4560  */
4561 xcb_generic_iterator_t
4562 xcb_xkb_si_action_end (xcb_xkb_si_action_iterator_t i);
4563 
4564 /**
4565  * Get the next element of the iterator
4566  * @param i Pointer to a xcb_xkb_sym_interpret_iterator_t
4567  *
4568  * Get the next element in the iterator. The member rem is
4569  * decreased by one. The member data points to the next
4570  * element. The member index is increased by sizeof(xcb_xkb_sym_interpret_t)
4571  */
4572 void
4573 xcb_xkb_sym_interpret_next (xcb_xkb_sym_interpret_iterator_t *i);
4574 
4575 /**
4576  * Return the iterator pointing to the last element
4577  * @param i An xcb_xkb_sym_interpret_iterator_t
4578  * @return  The iterator pointing to the last element
4579  *
4580  * Set the current element in the iterator to the last element.
4581  * The member rem is set to 0. The member data points to the
4582  * last element.
4583  */
4584 xcb_generic_iterator_t
4585 xcb_xkb_sym_interpret_end (xcb_xkb_sym_interpret_iterator_t i);
4586 
4587 /**
4588  * Get the next element of the iterator
4589  * @param i Pointer to a xcb_xkb_action_iterator_t
4590  *
4591  * Get the next element in the iterator. The member rem is
4592  * decreased by one. The member data points to the next
4593  * element. The member index is increased by sizeof(xcb_xkb_action_t)
4594  */
4595 void
4596 xcb_xkb_action_next (xcb_xkb_action_iterator_t *i);
4597 
4598 /**
4599  * Return the iterator pointing to the last element
4600  * @param i An xcb_xkb_action_iterator_t
4601  * @return  The iterator pointing to the last element
4602  *
4603  * Set the current element in the iterator to the last element.
4604  * The member rem is set to 0. The member data points to the
4605  * last element.
4606  */
4607 xcb_generic_iterator_t
4608 xcb_xkb_action_end (xcb_xkb_action_iterator_t i);
4609 
4610 /**
4611  *
4612  * @param c The connection
4613  * @return A cookie
4614  *
4615  * Delivers a request to the X server.
4616  *
4617  */
4618 xcb_xkb_use_extension_cookie_t
4619 xcb_xkb_use_extension (xcb_connection_t *c,
4620                        uint16_t          wantedMajor,
4621                        uint16_t          wantedMinor);
4622 
4623 /**
4624  *
4625  * @param c The connection
4626  * @return A cookie
4627  *
4628  * Delivers a request to the X server.
4629  *
4630  * This form can be used only if the request will cause
4631  * a reply to be generated. Any returned error will be
4632  * placed in the event queue.
4633  */
4634 xcb_xkb_use_extension_cookie_t
4635 xcb_xkb_use_extension_unchecked (xcb_connection_t *c,
4636                                  uint16_t          wantedMajor,
4637                                  uint16_t          wantedMinor);
4638 
4639 /**
4640  * Return the reply
4641  * @param c      The connection
4642  * @param cookie The cookie
4643  * @param e      The xcb_generic_error_t supplied
4644  *
4645  * Returns the reply of the request asked by
4646  *
4647  * The parameter @p e supplied to this function must be NULL if
4648  * xcb_xkb_use_extension_unchecked(). is used.
4649  * Otherwise, it stores the error if any.
4650  *
4651  * The returned value must be freed by the caller using free().
4652  */
4653 xcb_xkb_use_extension_reply_t *
4654 xcb_xkb_use_extension_reply (xcb_connection_t                *c,
4655                              xcb_xkb_use_extension_cookie_t   cookie  /**< */,
4656                              xcb_generic_error_t            **e);
4657 
4658 int
4659 xcb_xkb_select_events_details_serialize (void                                  **_buffer,
4660                                          uint16_t                                affectWhich,
4661                                          uint16_t                                clear,
4662                                          uint16_t                                selectAll,
4663                                          const xcb_xkb_select_events_details_t  *_aux);
4664 
4665 int
4666 xcb_xkb_select_events_details_unpack (const void                       *_buffer,
4667                                       uint16_t                          affectWhich,
4668                                       uint16_t                          clear,
4669                                       uint16_t                          selectAll,
4670                                       xcb_xkb_select_events_details_t  *_aux);
4671 
4672 int
4673 xcb_xkb_select_events_details_sizeof (const void  *_buffer,
4674                                       uint16_t     affectWhich,
4675                                       uint16_t     clear,
4676                                       uint16_t     selectAll);
4677 
4678 int
4679 xcb_xkb_select_events_sizeof (const void  *_buffer);
4680 
4681 /**
4682  *
4683  * @param c The connection
4684  * @return A cookie
4685  *
4686  * Delivers a request to the X server.
4687  *
4688  * This form can be used only if the request will not cause
4689  * a reply to be generated. Any returned error will be
4690  * saved for handling by xcb_request_check().
4691  */
4692 xcb_void_cookie_t
4693 xcb_xkb_select_events_checked (xcb_connection_t      *c,
4694                                xcb_xkb_device_spec_t  deviceSpec,
4695                                uint16_t               affectWhich,
4696                                uint16_t               clear,
4697                                uint16_t               selectAll,
4698                                uint16_t               affectMap,
4699                                uint16_t               map,
4700                                const void            *details);
4701 
4702 /**
4703  *
4704  * @param c The connection
4705  * @return A cookie
4706  *
4707  * Delivers a request to the X server.
4708  *
4709  */
4710 xcb_void_cookie_t
4711 xcb_xkb_select_events (xcb_connection_t      *c,
4712                        xcb_xkb_device_spec_t  deviceSpec,
4713                        uint16_t               affectWhich,
4714                        uint16_t               clear,
4715                        uint16_t               selectAll,
4716                        uint16_t               affectMap,
4717                        uint16_t               map,
4718                        const void            *details);
4719 
4720 /**
4721  *
4722  * @param c The connection
4723  * @return A cookie
4724  *
4725  * Delivers a request to the X server.
4726  *
4727  * This form can be used only if the request will not cause
4728  * a reply to be generated. Any returned error will be
4729  * saved for handling by xcb_request_check().
4730  */
4731 xcb_void_cookie_t
4732 xcb_xkb_select_events_aux_checked (xcb_connection_t                      *c,
4733                                    xcb_xkb_device_spec_t                  deviceSpec,
4734                                    uint16_t                               affectWhich,
4735                                    uint16_t                               clear,
4736                                    uint16_t                               selectAll,
4737                                    uint16_t                               affectMap,
4738                                    uint16_t                               map,
4739                                    const xcb_xkb_select_events_details_t *details);
4740 
4741 /**
4742  *
4743  * @param c The connection
4744  * @return A cookie
4745  *
4746  * Delivers a request to the X server.
4747  *
4748  */
4749 xcb_void_cookie_t
4750 xcb_xkb_select_events_aux (xcb_connection_t                      *c,
4751                            xcb_xkb_device_spec_t                  deviceSpec,
4752                            uint16_t                               affectWhich,
4753                            uint16_t                               clear,
4754                            uint16_t                               selectAll,
4755                            uint16_t                               affectMap,
4756                            uint16_t                               map,
4757                            const xcb_xkb_select_events_details_t *details);
4758 
4759 void *
4760 xcb_xkb_select_events_details (const xcb_xkb_select_events_request_t *R);
4761 
4762 /**
4763  *
4764  * @param c The connection
4765  * @return A cookie
4766  *
4767  * Delivers a request to the X server.
4768  *
4769  * This form can be used only if the request will not cause
4770  * a reply to be generated. Any returned error will be
4771  * saved for handling by xcb_request_check().
4772  */
4773 xcb_void_cookie_t
4774 xcb_xkb_bell_checked (xcb_connection_t          *c,
4775                       xcb_xkb_device_spec_t      deviceSpec,
4776                       xcb_xkb_bell_class_spec_t  bellClass,
4777                       xcb_xkb_id_spec_t          bellID,
4778                       int8_t                     percent,
4779                       uint8_t                    forceSound,
4780                       uint8_t                    eventOnly,
4781                       int16_t                    pitch,
4782                       int16_t                    duration,
4783                       xcb_atom_t                 name,
4784                       xcb_window_t               window);
4785 
4786 /**
4787  *
4788  * @param c The connection
4789  * @return A cookie
4790  *
4791  * Delivers a request to the X server.
4792  *
4793  */
4794 xcb_void_cookie_t
4795 xcb_xkb_bell (xcb_connection_t          *c,
4796               xcb_xkb_device_spec_t      deviceSpec,
4797               xcb_xkb_bell_class_spec_t  bellClass,
4798               xcb_xkb_id_spec_t          bellID,
4799               int8_t                     percent,
4800               uint8_t                    forceSound,
4801               uint8_t                    eventOnly,
4802               int16_t                    pitch,
4803               int16_t                    duration,
4804               xcb_atom_t                 name,
4805               xcb_window_t               window);
4806 
4807 /**
4808  *
4809  * @param c The connection
4810  * @return A cookie
4811  *
4812  * Delivers a request to the X server.
4813  *
4814  */
4815 xcb_xkb_get_state_cookie_t
4816 xcb_xkb_get_state (xcb_connection_t      *c,
4817                    xcb_xkb_device_spec_t  deviceSpec);
4818 
4819 /**
4820  *
4821  * @param c The connection
4822  * @return A cookie
4823  *
4824  * Delivers a request to the X server.
4825  *
4826  * This form can be used only if the request will cause
4827  * a reply to be generated. Any returned error will be
4828  * placed in the event queue.
4829  */
4830 xcb_xkb_get_state_cookie_t
4831 xcb_xkb_get_state_unchecked (xcb_connection_t      *c,
4832                              xcb_xkb_device_spec_t  deviceSpec);
4833 
4834 /**
4835  * Return the reply
4836  * @param c      The connection
4837  * @param cookie The cookie
4838  * @param e      The xcb_generic_error_t supplied
4839  *
4840  * Returns the reply of the request asked by
4841  *
4842  * The parameter @p e supplied to this function must be NULL if
4843  * xcb_xkb_get_state_unchecked(). is used.
4844  * Otherwise, it stores the error if any.
4845  *
4846  * The returned value must be freed by the caller using free().
4847  */
4848 xcb_xkb_get_state_reply_t *
4849 xcb_xkb_get_state_reply (xcb_connection_t            *c,
4850                          xcb_xkb_get_state_cookie_t   cookie  /**< */,
4851                          xcb_generic_error_t        **e);
4852 
4853 /**
4854  *
4855  * @param c The connection
4856  * @return A cookie
4857  *
4858  * Delivers a request to the X server.
4859  *
4860  * This form can be used only if the request will not cause
4861  * a reply to be generated. Any returned error will be
4862  * saved for handling by xcb_request_check().
4863  */
4864 xcb_void_cookie_t
4865 xcb_xkb_latch_lock_state_checked (xcb_connection_t      *c,
4866                                   xcb_xkb_device_spec_t  deviceSpec,
4867                                   uint8_t                affectModLocks,
4868                                   uint8_t                modLocks,
4869                                   uint8_t                lockGroup,
4870                                   uint8_t                groupLock,
4871                                   uint8_t                affectModLatches,
4872                                   uint8_t                latchGroup,
4873                                   uint16_t               groupLatch);
4874 
4875 /**
4876  *
4877  * @param c The connection
4878  * @return A cookie
4879  *
4880  * Delivers a request to the X server.
4881  *
4882  */
4883 xcb_void_cookie_t
4884 xcb_xkb_latch_lock_state (xcb_connection_t      *c,
4885                           xcb_xkb_device_spec_t  deviceSpec,
4886                           uint8_t                affectModLocks,
4887                           uint8_t                modLocks,
4888                           uint8_t                lockGroup,
4889                           uint8_t                groupLock,
4890                           uint8_t                affectModLatches,
4891                           uint8_t                latchGroup,
4892                           uint16_t               groupLatch);
4893 
4894 /**
4895  *
4896  * @param c The connection
4897  * @return A cookie
4898  *
4899  * Delivers a request to the X server.
4900  *
4901  */
4902 xcb_xkb_get_controls_cookie_t
4903 xcb_xkb_get_controls (xcb_connection_t      *c,
4904                       xcb_xkb_device_spec_t  deviceSpec);
4905 
4906 /**
4907  *
4908  * @param c The connection
4909  * @return A cookie
4910  *
4911  * Delivers a request to the X server.
4912  *
4913  * This form can be used only if the request will cause
4914  * a reply to be generated. Any returned error will be
4915  * placed in the event queue.
4916  */
4917 xcb_xkb_get_controls_cookie_t
4918 xcb_xkb_get_controls_unchecked (xcb_connection_t      *c,
4919                                 xcb_xkb_device_spec_t  deviceSpec);
4920 
4921 /**
4922  * Return the reply
4923  * @param c      The connection
4924  * @param cookie The cookie
4925  * @param e      The xcb_generic_error_t supplied
4926  *
4927  * Returns the reply of the request asked by
4928  *
4929  * The parameter @p e supplied to this function must be NULL if
4930  * xcb_xkb_get_controls_unchecked(). is used.
4931  * Otherwise, it stores the error if any.
4932  *
4933  * The returned value must be freed by the caller using free().
4934  */
4935 xcb_xkb_get_controls_reply_t *
4936 xcb_xkb_get_controls_reply (xcb_connection_t               *c,
4937                             xcb_xkb_get_controls_cookie_t   cookie  /**< */,
4938                             xcb_generic_error_t           **e);
4939 
4940 /**
4941  *
4942  * @param c The connection
4943  * @return A cookie
4944  *
4945  * Delivers a request to the X server.
4946  *
4947  * This form can be used only if the request will not cause
4948  * a reply to be generated. Any returned error will be
4949  * saved for handling by xcb_request_check().
4950  */
4951 xcb_void_cookie_t
4952 xcb_xkb_set_controls_checked (xcb_connection_t      *c,
4953                               xcb_xkb_device_spec_t  deviceSpec,
4954                               uint8_t                affectInternalRealMods,
4955                               uint8_t                internalRealMods,
4956                               uint8_t                affectIgnoreLockRealMods,
4957                               uint8_t                ignoreLockRealMods,
4958                               uint16_t               affectInternalVirtualMods,
4959                               uint16_t               internalVirtualMods,
4960                               uint16_t               affectIgnoreLockVirtualMods,
4961                               uint16_t               ignoreLockVirtualMods,
4962                               uint8_t                mouseKeysDfltBtn,
4963                               uint8_t                groupsWrap,
4964                               uint16_t               accessXOptions,
4965                               uint32_t               affectEnabledControls,
4966                               uint32_t               enabledControls,
4967                               uint32_t               changeControls,
4968                               uint16_t               repeatDelay,
4969                               uint16_t               repeatInterval,
4970                               uint16_t               slowKeysDelay,
4971                               uint16_t               debounceDelay,
4972                               uint16_t               mouseKeysDelay,
4973                               uint16_t               mouseKeysInterval,
4974                               uint16_t               mouseKeysTimeToMax,
4975                               uint16_t               mouseKeysMaxSpeed,
4976                               int16_t                mouseKeysCurve,
4977                               uint16_t               accessXTimeout,
4978                               uint32_t               accessXTimeoutMask,
4979                               uint32_t               accessXTimeoutValues,
4980                               uint16_t               accessXTimeoutOptionsMask,
4981                               uint16_t               accessXTimeoutOptionsValues,
4982                               const uint8_t         *perKeyRepeat);
4983 
4984 /**
4985  *
4986  * @param c The connection
4987  * @return A cookie
4988  *
4989  * Delivers a request to the X server.
4990  *
4991  */
4992 xcb_void_cookie_t
4993 xcb_xkb_set_controls (xcb_connection_t      *c,
4994                       xcb_xkb_device_spec_t  deviceSpec,
4995                       uint8_t                affectInternalRealMods,
4996                       uint8_t                internalRealMods,
4997                       uint8_t                affectIgnoreLockRealMods,
4998                       uint8_t                ignoreLockRealMods,
4999                       uint16_t               affectInternalVirtualMods,
5000                       uint16_t               internalVirtualMods,
5001                       uint16_t               affectIgnoreLockVirtualMods,
5002                       uint16_t               ignoreLockVirtualMods,
5003                       uint8_t                mouseKeysDfltBtn,
5004                       uint8_t                groupsWrap,
5005                       uint16_t               accessXOptions,
5006                       uint32_t               affectEnabledControls,
5007                       uint32_t               enabledControls,
5008                       uint32_t               changeControls,
5009                       uint16_t               repeatDelay,
5010                       uint16_t               repeatInterval,
5011                       uint16_t               slowKeysDelay,
5012                       uint16_t               debounceDelay,
5013                       uint16_t               mouseKeysDelay,
5014                       uint16_t               mouseKeysInterval,
5015                       uint16_t               mouseKeysTimeToMax,
5016                       uint16_t               mouseKeysMaxSpeed,
5017                       int16_t                mouseKeysCurve,
5018                       uint16_t               accessXTimeout,
5019                       uint32_t               accessXTimeoutMask,
5020                       uint32_t               accessXTimeoutValues,
5021                       uint16_t               accessXTimeoutOptionsMask,
5022                       uint16_t               accessXTimeoutOptionsValues,
5023                       const uint8_t         *perKeyRepeat);
5024 
5025 int
5026 xcb_xkb_get_map_map_types_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5027                                        const xcb_xkb_get_map_map_t *S);
5028 
5029 xcb_xkb_key_type_iterator_t
5030 xcb_xkb_get_map_map_types_rtrn_iterator (const xcb_xkb_get_map_reply_t *R,
5031                                          const xcb_xkb_get_map_map_t *S);
5032 
5033 int
5034 xcb_xkb_get_map_map_syms_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5035                                       const xcb_xkb_get_map_map_t *S);
5036 
5037 xcb_xkb_key_sym_map_iterator_t
5038 xcb_xkb_get_map_map_syms_rtrn_iterator (const xcb_xkb_get_map_reply_t *R,
5039                                         const xcb_xkb_get_map_map_t *S);
5040 
5041 uint8_t *
5042 xcb_xkb_get_map_map_acts_rtrn_count (const xcb_xkb_get_map_map_t *S);
5043 
5044 int
5045 xcb_xkb_get_map_map_acts_rtrn_count_length (const xcb_xkb_get_map_reply_t *R,
5046                                             const xcb_xkb_get_map_map_t *S);
5047 
5048 xcb_generic_iterator_t
5049 xcb_xkb_get_map_map_acts_rtrn_count_end (const xcb_xkb_get_map_reply_t *R,
5050                                          const xcb_xkb_get_map_map_t *S);
5051 
5052 xcb_xkb_action_t *
5053 xcb_xkb_get_map_map_acts_rtrn_acts (const xcb_xkb_get_map_map_t *S);
5054 
5055 int
5056 xcb_xkb_get_map_map_acts_rtrn_acts_length (const xcb_xkb_get_map_reply_t *R,
5057                                            const xcb_xkb_get_map_map_t *S);
5058 
5059 xcb_xkb_action_iterator_t
5060 xcb_xkb_get_map_map_acts_rtrn_acts_iterator (const xcb_xkb_get_map_reply_t *R,
5061                                              const xcb_xkb_get_map_map_t *S);
5062 
5063 xcb_xkb_set_behavior_t *
5064 xcb_xkb_get_map_map_behaviors_rtrn (const xcb_xkb_get_map_map_t *S);
5065 
5066 int
5067 xcb_xkb_get_map_map_behaviors_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5068                                            const xcb_xkb_get_map_map_t *S);
5069 
5070 xcb_xkb_set_behavior_iterator_t
5071 xcb_xkb_get_map_map_behaviors_rtrn_iterator (const xcb_xkb_get_map_reply_t *R,
5072                                              const xcb_xkb_get_map_map_t *S);
5073 
5074 uint8_t *
5075 xcb_xkb_get_map_map_vmods_rtrn (const xcb_xkb_get_map_map_t *S);
5076 
5077 int
5078 xcb_xkb_get_map_map_vmods_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5079                                        const xcb_xkb_get_map_map_t *S);
5080 
5081 xcb_generic_iterator_t
5082 xcb_xkb_get_map_map_vmods_rtrn_end (const xcb_xkb_get_map_reply_t *R,
5083                                     const xcb_xkb_get_map_map_t *S);
5084 
5085 xcb_xkb_set_explicit_t *
5086 xcb_xkb_get_map_map_explicit_rtrn (const xcb_xkb_get_map_map_t *S);
5087 
5088 int
5089 xcb_xkb_get_map_map_explicit_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5090                                           const xcb_xkb_get_map_map_t *S);
5091 
5092 xcb_xkb_set_explicit_iterator_t
5093 xcb_xkb_get_map_map_explicit_rtrn_iterator (const xcb_xkb_get_map_reply_t *R,
5094                                             const xcb_xkb_get_map_map_t *S);
5095 
5096 xcb_xkb_key_mod_map_t *
5097 xcb_xkb_get_map_map_modmap_rtrn (const xcb_xkb_get_map_map_t *S);
5098 
5099 int
5100 xcb_xkb_get_map_map_modmap_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5101                                         const xcb_xkb_get_map_map_t *S);
5102 
5103 xcb_xkb_key_mod_map_iterator_t
5104 xcb_xkb_get_map_map_modmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R,
5105                                           const xcb_xkb_get_map_map_t *S);
5106 
5107 xcb_xkb_key_v_mod_map_t *
5108 xcb_xkb_get_map_map_vmodmap_rtrn (const xcb_xkb_get_map_map_t *S);
5109 
5110 int
5111 xcb_xkb_get_map_map_vmodmap_rtrn_length (const xcb_xkb_get_map_reply_t *R,
5112                                          const xcb_xkb_get_map_map_t *S);
5113 
5114 xcb_xkb_key_v_mod_map_iterator_t
5115 xcb_xkb_get_map_map_vmodmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R,
5116                                            const xcb_xkb_get_map_map_t *S);
5117 
5118 int
5119 xcb_xkb_get_map_map_serialize (void                        **_buffer,
5120                                uint8_t                       nTypes,
5121                                uint8_t                       nKeySyms,
5122                                uint8_t                       nKeyActions,
5123                                uint16_t                      totalActions,
5124                                uint8_t                       totalKeyBehaviors,
5125                                uint16_t                      virtualMods,
5126                                uint8_t                       totalKeyExplicit,
5127                                uint8_t                       totalModMapKeys,
5128                                uint8_t                       totalVModMapKeys,
5129                                uint16_t                      present,
5130                                const xcb_xkb_get_map_map_t  *_aux);
5131 
5132 int
5133 xcb_xkb_get_map_map_unpack (const void             *_buffer,
5134                             uint8_t                 nTypes,
5135                             uint8_t                 nKeySyms,
5136                             uint8_t                 nKeyActions,
5137                             uint16_t                totalActions,
5138                             uint8_t                 totalKeyBehaviors,
5139                             uint16_t                virtualMods,
5140                             uint8_t                 totalKeyExplicit,
5141                             uint8_t                 totalModMapKeys,
5142                             uint8_t                 totalVModMapKeys,
5143                             uint16_t                present,
5144                             xcb_xkb_get_map_map_t  *_aux);
5145 
5146 int
5147 xcb_xkb_get_map_map_sizeof (const void  *_buffer,
5148                             uint8_t      nTypes,
5149                             uint8_t      nKeySyms,
5150                             uint8_t      nKeyActions,
5151                             uint16_t     totalActions,
5152                             uint8_t      totalKeyBehaviors,
5153                             uint16_t     virtualMods,
5154                             uint8_t      totalKeyExplicit,
5155                             uint8_t      totalModMapKeys,
5156                             uint8_t      totalVModMapKeys,
5157                             uint16_t     present);
5158 
5159 int
5160 xcb_xkb_get_map_sizeof (const void  *_buffer);
5161 
5162 /**
5163  *
5164  * @param c The connection
5165  * @return A cookie
5166  *
5167  * Delivers a request to the X server.
5168  *
5169  */
5170 xcb_xkb_get_map_cookie_t
5171 xcb_xkb_get_map (xcb_connection_t      *c,
5172                  xcb_xkb_device_spec_t  deviceSpec,
5173                  uint16_t               full,
5174                  uint16_t               partial,
5175                  uint8_t                firstType,
5176                  uint8_t                nTypes,
5177                  xcb_keycode_t          firstKeySym,
5178                  uint8_t                nKeySyms,
5179                  xcb_keycode_t          firstKeyAction,
5180                  uint8_t                nKeyActions,
5181                  xcb_keycode_t          firstKeyBehavior,
5182                  uint8_t                nKeyBehaviors,
5183                  uint16_t               virtualMods,
5184                  xcb_keycode_t          firstKeyExplicit,
5185                  uint8_t                nKeyExplicit,
5186                  xcb_keycode_t          firstModMapKey,
5187                  uint8_t                nModMapKeys,
5188                  xcb_keycode_t          firstVModMapKey,
5189                  uint8_t                nVModMapKeys);
5190 
5191 /**
5192  *
5193  * @param c The connection
5194  * @return A cookie
5195  *
5196  * Delivers a request to the X server.
5197  *
5198  * This form can be used only if the request will cause
5199  * a reply to be generated. Any returned error will be
5200  * placed in the event queue.
5201  */
5202 xcb_xkb_get_map_cookie_t
5203 xcb_xkb_get_map_unchecked (xcb_connection_t      *c,
5204                            xcb_xkb_device_spec_t  deviceSpec,
5205                            uint16_t               full,
5206                            uint16_t               partial,
5207                            uint8_t                firstType,
5208                            uint8_t                nTypes,
5209                            xcb_keycode_t          firstKeySym,
5210                            uint8_t                nKeySyms,
5211                            xcb_keycode_t          firstKeyAction,
5212                            uint8_t                nKeyActions,
5213                            xcb_keycode_t          firstKeyBehavior,
5214                            uint8_t                nKeyBehaviors,
5215                            uint16_t               virtualMods,
5216                            xcb_keycode_t          firstKeyExplicit,
5217                            uint8_t                nKeyExplicit,
5218                            xcb_keycode_t          firstModMapKey,
5219                            uint8_t                nModMapKeys,
5220                            xcb_keycode_t          firstVModMapKey,
5221                            uint8_t                nVModMapKeys);
5222 
5223 void *
5224 xcb_xkb_get_map_map (const xcb_xkb_get_map_reply_t *R);
5225 
5226 /**
5227  * Return the reply
5228  * @param c      The connection
5229  * @param cookie The cookie
5230  * @param e      The xcb_generic_error_t supplied
5231  *
5232  * Returns the reply of the request asked by
5233  *
5234  * The parameter @p e supplied to this function must be NULL if
5235  * xcb_xkb_get_map_unchecked(). is used.
5236  * Otherwise, it stores the error if any.
5237  *
5238  * The returned value must be freed by the caller using free().
5239  */
5240 xcb_xkb_get_map_reply_t *
5241 xcb_xkb_get_map_reply (xcb_connection_t          *c,
5242                        xcb_xkb_get_map_cookie_t   cookie  /**< */,
5243                        xcb_generic_error_t      **e);
5244 
5245 int
5246 xcb_xkb_set_map_values_types_length (const xcb_xkb_set_map_request_t *R,
5247                                      const xcb_xkb_set_map_values_t *S);
5248 
5249 xcb_xkb_set_key_type_iterator_t
5250 xcb_xkb_set_map_values_types_iterator (const xcb_xkb_set_map_request_t *R,
5251                                        const xcb_xkb_set_map_values_t *S);
5252 
5253 int
5254 xcb_xkb_set_map_values_syms_length (const xcb_xkb_set_map_request_t *R,
5255                                     const xcb_xkb_set_map_values_t *S);
5256 
5257 xcb_xkb_key_sym_map_iterator_t
5258 xcb_xkb_set_map_values_syms_iterator (const xcb_xkb_set_map_request_t *R,
5259                                       const xcb_xkb_set_map_values_t *S);
5260 
5261 uint8_t *
5262 xcb_xkb_set_map_values_actions_count (const xcb_xkb_set_map_values_t *S);
5263 
5264 int
5265 xcb_xkb_set_map_values_actions_count_length (const xcb_xkb_set_map_request_t *R,
5266                                              const xcb_xkb_set_map_values_t *S);
5267 
5268 xcb_generic_iterator_t
5269 xcb_xkb_set_map_values_actions_count_end (const xcb_xkb_set_map_request_t *R,
5270                                           const xcb_xkb_set_map_values_t *S);
5271 
5272 xcb_xkb_action_t *
5273 xcb_xkb_set_map_values_actions (const xcb_xkb_set_map_values_t *S);
5274 
5275 int
5276 xcb_xkb_set_map_values_actions_length (const xcb_xkb_set_map_request_t *R,
5277                                        const xcb_xkb_set_map_values_t *S);
5278 
5279 xcb_xkb_action_iterator_t
5280 xcb_xkb_set_map_values_actions_iterator (const xcb_xkb_set_map_request_t *R,
5281                                          const xcb_xkb_set_map_values_t *S);
5282 
5283 xcb_xkb_set_behavior_t *
5284 xcb_xkb_set_map_values_behaviors (const xcb_xkb_set_map_values_t *S);
5285 
5286 int
5287 xcb_xkb_set_map_values_behaviors_length (const xcb_xkb_set_map_request_t *R,
5288                                          const xcb_xkb_set_map_values_t *S);
5289 
5290 xcb_xkb_set_behavior_iterator_t
5291 xcb_xkb_set_map_values_behaviors_iterator (const xcb_xkb_set_map_request_t *R,
5292                                            const xcb_xkb_set_map_values_t *S);
5293 
5294 uint8_t *
5295 xcb_xkb_set_map_values_vmods (const xcb_xkb_set_map_values_t *S);
5296 
5297 int
5298 xcb_xkb_set_map_values_vmods_length (const xcb_xkb_set_map_request_t *R,
5299                                      const xcb_xkb_set_map_values_t *S);
5300 
5301 xcb_generic_iterator_t
5302 xcb_xkb_set_map_values_vmods_end (const xcb_xkb_set_map_request_t *R,
5303                                   const xcb_xkb_set_map_values_t *S);
5304 
5305 xcb_xkb_set_explicit_t *
5306 xcb_xkb_set_map_values_explicit (const xcb_xkb_set_map_values_t *S);
5307 
5308 int
5309 xcb_xkb_set_map_values_explicit_length (const xcb_xkb_set_map_request_t *R,
5310                                         const xcb_xkb_set_map_values_t *S);
5311 
5312 xcb_xkb_set_explicit_iterator_t
5313 xcb_xkb_set_map_values_explicit_iterator (const xcb_xkb_set_map_request_t *R,
5314                                           const xcb_xkb_set_map_values_t *S);
5315 
5316 xcb_xkb_key_mod_map_t *
5317 xcb_xkb_set_map_values_modmap (const xcb_xkb_set_map_values_t *S);
5318 
5319 int
5320 xcb_xkb_set_map_values_modmap_length (const xcb_xkb_set_map_request_t *R,
5321                                       const xcb_xkb_set_map_values_t *S);
5322 
5323 xcb_xkb_key_mod_map_iterator_t
5324 xcb_xkb_set_map_values_modmap_iterator (const xcb_xkb_set_map_request_t *R,
5325                                         const xcb_xkb_set_map_values_t *S);
5326 
5327 xcb_xkb_key_v_mod_map_t *
5328 xcb_xkb_set_map_values_vmodmap (const xcb_xkb_set_map_values_t *S);
5329 
5330 int
5331 xcb_xkb_set_map_values_vmodmap_length (const xcb_xkb_set_map_request_t *R,
5332                                        const xcb_xkb_set_map_values_t *S);
5333 
5334 xcb_xkb_key_v_mod_map_iterator_t
5335 xcb_xkb_set_map_values_vmodmap_iterator (const xcb_xkb_set_map_request_t *R,
5336                                          const xcb_xkb_set_map_values_t *S);
5337 
5338 int
5339 xcb_xkb_set_map_values_serialize (void                           **_buffer,
5340                                   uint8_t                          nTypes,
5341                                   uint8_t                          nKeySyms,
5342                                   uint8_t                          nKeyActions,
5343                                   uint16_t                         totalActions,
5344                                   uint8_t                          totalKeyBehaviors,
5345                                   uint16_t                         virtualMods,
5346                                   uint8_t                          totalKeyExplicit,
5347                                   uint8_t                          totalModMapKeys,
5348                                   uint8_t                          totalVModMapKeys,
5349                                   uint16_t                         present,
5350                                   const xcb_xkb_set_map_values_t  *_aux);
5351 
5352 int
5353 xcb_xkb_set_map_values_unpack (const void                *_buffer,
5354                                uint8_t                    nTypes,
5355                                uint8_t                    nKeySyms,
5356                                uint8_t                    nKeyActions,
5357                                uint16_t                   totalActions,
5358                                uint8_t                    totalKeyBehaviors,
5359                                uint16_t                   virtualMods,
5360                                uint8_t                    totalKeyExplicit,
5361                                uint8_t                    totalModMapKeys,
5362                                uint8_t                    totalVModMapKeys,
5363                                uint16_t                   present,
5364                                xcb_xkb_set_map_values_t  *_aux);
5365 
5366 int
5367 xcb_xkb_set_map_values_sizeof (const void  *_buffer,
5368                                uint8_t      nTypes,
5369                                uint8_t      nKeySyms,
5370                                uint8_t      nKeyActions,
5371                                uint16_t     totalActions,
5372                                uint8_t      totalKeyBehaviors,
5373                                uint16_t     virtualMods,
5374                                uint8_t      totalKeyExplicit,
5375                                uint8_t      totalModMapKeys,
5376                                uint8_t      totalVModMapKeys,
5377                                uint16_t     present);
5378 
5379 int
5380 xcb_xkb_set_map_sizeof (const void  *_buffer);
5381 
5382 /**
5383  *
5384  * @param c The connection
5385  * @return A cookie
5386  *
5387  * Delivers a request to the X server.
5388  *
5389  * This form can be used only if the request will not cause
5390  * a reply to be generated. Any returned error will be
5391  * saved for handling by xcb_request_check().
5392  */
5393 xcb_void_cookie_t
5394 xcb_xkb_set_map_checked (xcb_connection_t      *c,
5395                          xcb_xkb_device_spec_t  deviceSpec,
5396                          uint16_t               present,
5397                          uint16_t               flags,
5398                          xcb_keycode_t          minKeyCode,
5399                          xcb_keycode_t          maxKeyCode,
5400                          uint8_t                firstType,
5401                          uint8_t                nTypes,
5402                          xcb_keycode_t          firstKeySym,
5403                          uint8_t                nKeySyms,
5404                          uint16_t               totalSyms,
5405                          xcb_keycode_t          firstKeyAction,
5406                          uint8_t                nKeyActions,
5407                          uint16_t               totalActions,
5408                          xcb_keycode_t          firstKeyBehavior,
5409                          uint8_t                nKeyBehaviors,
5410                          uint8_t                totalKeyBehaviors,
5411                          xcb_keycode_t          firstKeyExplicit,
5412                          uint8_t                nKeyExplicit,
5413                          uint8_t                totalKeyExplicit,
5414                          xcb_keycode_t          firstModMapKey,
5415                          uint8_t                nModMapKeys,
5416                          uint8_t                totalModMapKeys,
5417                          xcb_keycode_t          firstVModMapKey,
5418                          uint8_t                nVModMapKeys,
5419                          uint8_t                totalVModMapKeys,
5420                          uint16_t               virtualMods,
5421                          const void            *values);
5422 
5423 /**
5424  *
5425  * @param c The connection
5426  * @return A cookie
5427  *
5428  * Delivers a request to the X server.
5429  *
5430  */
5431 xcb_void_cookie_t
5432 xcb_xkb_set_map (xcb_connection_t      *c,
5433                  xcb_xkb_device_spec_t  deviceSpec,
5434                  uint16_t               present,
5435                  uint16_t               flags,
5436                  xcb_keycode_t          minKeyCode,
5437                  xcb_keycode_t          maxKeyCode,
5438                  uint8_t                firstType,
5439                  uint8_t                nTypes,
5440                  xcb_keycode_t          firstKeySym,
5441                  uint8_t                nKeySyms,
5442                  uint16_t               totalSyms,
5443                  xcb_keycode_t          firstKeyAction,
5444                  uint8_t                nKeyActions,
5445                  uint16_t               totalActions,
5446                  xcb_keycode_t          firstKeyBehavior,
5447                  uint8_t                nKeyBehaviors,
5448                  uint8_t                totalKeyBehaviors,
5449                  xcb_keycode_t          firstKeyExplicit,
5450                  uint8_t                nKeyExplicit,
5451                  uint8_t                totalKeyExplicit,
5452                  xcb_keycode_t          firstModMapKey,
5453                  uint8_t                nModMapKeys,
5454                  uint8_t                totalModMapKeys,
5455                  xcb_keycode_t          firstVModMapKey,
5456                  uint8_t                nVModMapKeys,
5457                  uint8_t                totalVModMapKeys,
5458                  uint16_t               virtualMods,
5459                  const void            *values);
5460 
5461 /**
5462  *
5463  * @param c The connection
5464  * @return A cookie
5465  *
5466  * Delivers a request to the X server.
5467  *
5468  * This form can be used only if the request will not cause
5469  * a reply to be generated. Any returned error will be
5470  * saved for handling by xcb_request_check().
5471  */
5472 xcb_void_cookie_t
5473 xcb_xkb_set_map_aux_checked (xcb_connection_t               *c,
5474                              xcb_xkb_device_spec_t           deviceSpec,
5475                              uint16_t                        present,
5476                              uint16_t                        flags,
5477                              xcb_keycode_t                   minKeyCode,
5478                              xcb_keycode_t                   maxKeyCode,
5479                              uint8_t                         firstType,
5480                              uint8_t                         nTypes,
5481                              xcb_keycode_t                   firstKeySym,
5482                              uint8_t                         nKeySyms,
5483                              uint16_t                        totalSyms,
5484                              xcb_keycode_t                   firstKeyAction,
5485                              uint8_t                         nKeyActions,
5486                              uint16_t                        totalActions,
5487                              xcb_keycode_t                   firstKeyBehavior,
5488                              uint8_t                         nKeyBehaviors,
5489                              uint8_t                         totalKeyBehaviors,
5490                              xcb_keycode_t                   firstKeyExplicit,
5491                              uint8_t                         nKeyExplicit,
5492                              uint8_t                         totalKeyExplicit,
5493                              xcb_keycode_t                   firstModMapKey,
5494                              uint8_t                         nModMapKeys,
5495                              uint8_t                         totalModMapKeys,
5496                              xcb_keycode_t                   firstVModMapKey,
5497                              uint8_t                         nVModMapKeys,
5498                              uint8_t                         totalVModMapKeys,
5499                              uint16_t                        virtualMods,
5500                              const xcb_xkb_set_map_values_t *values);
5501 
5502 /**
5503  *
5504  * @param c The connection
5505  * @return A cookie
5506  *
5507  * Delivers a request to the X server.
5508  *
5509  */
5510 xcb_void_cookie_t
5511 xcb_xkb_set_map_aux (xcb_connection_t               *c,
5512                      xcb_xkb_device_spec_t           deviceSpec,
5513                      uint16_t                        present,
5514                      uint16_t                        flags,
5515                      xcb_keycode_t                   minKeyCode,
5516                      xcb_keycode_t                   maxKeyCode,
5517                      uint8_t                         firstType,
5518                      uint8_t                         nTypes,
5519                      xcb_keycode_t                   firstKeySym,
5520                      uint8_t                         nKeySyms,
5521                      uint16_t                        totalSyms,
5522                      xcb_keycode_t                   firstKeyAction,
5523                      uint8_t                         nKeyActions,
5524                      uint16_t                        totalActions,
5525                      xcb_keycode_t                   firstKeyBehavior,
5526                      uint8_t                         nKeyBehaviors,
5527                      uint8_t                         totalKeyBehaviors,
5528                      xcb_keycode_t                   firstKeyExplicit,
5529                      uint8_t                         nKeyExplicit,
5530                      uint8_t                         totalKeyExplicit,
5531                      xcb_keycode_t                   firstModMapKey,
5532                      uint8_t                         nModMapKeys,
5533                      uint8_t                         totalModMapKeys,
5534                      xcb_keycode_t                   firstVModMapKey,
5535                      uint8_t                         nVModMapKeys,
5536                      uint8_t                         totalVModMapKeys,
5537                      uint16_t                        virtualMods,
5538                      const xcb_xkb_set_map_values_t *values);
5539 
5540 void *
5541 xcb_xkb_set_map_values (const xcb_xkb_set_map_request_t *R);
5542 
5543 int
5544 xcb_xkb_get_compat_map_sizeof (const void  *_buffer);
5545 
5546 /**
5547  *
5548  * @param c The connection
5549  * @return A cookie
5550  *
5551  * Delivers a request to the X server.
5552  *
5553  */
5554 xcb_xkb_get_compat_map_cookie_t
5555 xcb_xkb_get_compat_map (xcb_connection_t      *c,
5556                         xcb_xkb_device_spec_t  deviceSpec,
5557                         uint8_t                groups,
5558                         uint8_t                getAllSI,
5559                         uint16_t               firstSI,
5560                         uint16_t               nSI);
5561 
5562 /**
5563  *
5564  * @param c The connection
5565  * @return A cookie
5566  *
5567  * Delivers a request to the X server.
5568  *
5569  * This form can be used only if the request will cause
5570  * a reply to be generated. Any returned error will be
5571  * placed in the event queue.
5572  */
5573 xcb_xkb_get_compat_map_cookie_t
5574 xcb_xkb_get_compat_map_unchecked (xcb_connection_t      *c,
5575                                   xcb_xkb_device_spec_t  deviceSpec,
5576                                   uint8_t                groups,
5577                                   uint8_t                getAllSI,
5578                                   uint16_t               firstSI,
5579                                   uint16_t               nSI);
5580 
5581 xcb_xkb_sym_interpret_t *
5582 xcb_xkb_get_compat_map_si_rtrn (const xcb_xkb_get_compat_map_reply_t *R);
5583 
5584 int
5585 xcb_xkb_get_compat_map_si_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R);
5586 
5587 xcb_xkb_sym_interpret_iterator_t
5588 xcb_xkb_get_compat_map_si_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R);
5589 
5590 xcb_xkb_mod_def_t *
5591 xcb_xkb_get_compat_map_group_rtrn (const xcb_xkb_get_compat_map_reply_t *R);
5592 
5593 int
5594 xcb_xkb_get_compat_map_group_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R);
5595 
5596 xcb_xkb_mod_def_iterator_t
5597 xcb_xkb_get_compat_map_group_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R);
5598 
5599 /**
5600  * Return the reply
5601  * @param c      The connection
5602  * @param cookie The cookie
5603  * @param e      The xcb_generic_error_t supplied
5604  *
5605  * Returns the reply of the request asked by
5606  *
5607  * The parameter @p e supplied to this function must be NULL if
5608  * xcb_xkb_get_compat_map_unchecked(). is used.
5609  * Otherwise, it stores the error if any.
5610  *
5611  * The returned value must be freed by the caller using free().
5612  */
5613 xcb_xkb_get_compat_map_reply_t *
5614 xcb_xkb_get_compat_map_reply (xcb_connection_t                 *c,
5615                               xcb_xkb_get_compat_map_cookie_t   cookie  /**< */,
5616                               xcb_generic_error_t             **e);
5617 
5618 int
5619 xcb_xkb_set_compat_map_sizeof (const void  *_buffer);
5620 
5621 /**
5622  *
5623  * @param c The connection
5624  * @return A cookie
5625  *
5626  * Delivers a request to the X server.
5627  *
5628  * This form can be used only if the request will not cause
5629  * a reply to be generated. Any returned error will be
5630  * saved for handling by xcb_request_check().
5631  */
5632 xcb_void_cookie_t
5633 xcb_xkb_set_compat_map_checked (xcb_connection_t              *c,
5634                                 xcb_xkb_device_spec_t          deviceSpec,
5635                                 uint8_t                        recomputeActions,
5636                                 uint8_t                        truncateSI,
5637                                 uint8_t                        groups,
5638                                 uint16_t                       firstSI,
5639                                 uint16_t                       nSI,
5640                                 const xcb_xkb_sym_interpret_t *si,
5641                                 const xcb_xkb_mod_def_t       *groupMaps);
5642 
5643 /**
5644  *
5645  * @param c The connection
5646  * @return A cookie
5647  *
5648  * Delivers a request to the X server.
5649  *
5650  */
5651 xcb_void_cookie_t
5652 xcb_xkb_set_compat_map (xcb_connection_t              *c,
5653                         xcb_xkb_device_spec_t          deviceSpec,
5654                         uint8_t                        recomputeActions,
5655                         uint8_t                        truncateSI,
5656                         uint8_t                        groups,
5657                         uint16_t                       firstSI,
5658                         uint16_t                       nSI,
5659                         const xcb_xkb_sym_interpret_t *si,
5660                         const xcb_xkb_mod_def_t       *groupMaps);
5661 
5662 xcb_xkb_sym_interpret_t *
5663 xcb_xkb_set_compat_map_si (const xcb_xkb_set_compat_map_request_t *R);
5664 
5665 int
5666 xcb_xkb_set_compat_map_si_length (const xcb_xkb_set_compat_map_request_t *R);
5667 
5668 xcb_xkb_sym_interpret_iterator_t
5669 xcb_xkb_set_compat_map_si_iterator (const xcb_xkb_set_compat_map_request_t *R);
5670 
5671 xcb_xkb_mod_def_t *
5672 xcb_xkb_set_compat_map_group_maps (const xcb_xkb_set_compat_map_request_t *R);
5673 
5674 int
5675 xcb_xkb_set_compat_map_group_maps_length (const xcb_xkb_set_compat_map_request_t *R);
5676 
5677 xcb_xkb_mod_def_iterator_t
5678 xcb_xkb_set_compat_map_group_maps_iterator (const xcb_xkb_set_compat_map_request_t *R);
5679 
5680 /**
5681  *
5682  * @param c The connection
5683  * @return A cookie
5684  *
5685  * Delivers a request to the X server.
5686  *
5687  */
5688 xcb_xkb_get_indicator_state_cookie_t
5689 xcb_xkb_get_indicator_state (xcb_connection_t      *c,
5690                              xcb_xkb_device_spec_t  deviceSpec);
5691 
5692 /**
5693  *
5694  * @param c The connection
5695  * @return A cookie
5696  *
5697  * Delivers a request to the X server.
5698  *
5699  * This form can be used only if the request will cause
5700  * a reply to be generated. Any returned error will be
5701  * placed in the event queue.
5702  */
5703 xcb_xkb_get_indicator_state_cookie_t
5704 xcb_xkb_get_indicator_state_unchecked (xcb_connection_t      *c,
5705                                        xcb_xkb_device_spec_t  deviceSpec);
5706 
5707 /**
5708  * Return the reply
5709  * @param c      The connection
5710  * @param cookie The cookie
5711  * @param e      The xcb_generic_error_t supplied
5712  *
5713  * Returns the reply of the request asked by
5714  *
5715  * The parameter @p e supplied to this function must be NULL if
5716  * xcb_xkb_get_indicator_state_unchecked(). is used.
5717  * Otherwise, it stores the error if any.
5718  *
5719  * The returned value must be freed by the caller using free().
5720  */
5721 xcb_xkb_get_indicator_state_reply_t *
5722 xcb_xkb_get_indicator_state_reply (xcb_connection_t                      *c,
5723                                    xcb_xkb_get_indicator_state_cookie_t   cookie  /**< */,
5724                                    xcb_generic_error_t                  **e);
5725 
5726 int
5727 xcb_xkb_get_indicator_map_sizeof (const void  *_buffer);
5728 
5729 /**
5730  *
5731  * @param c The connection
5732  * @return A cookie
5733  *
5734  * Delivers a request to the X server.
5735  *
5736  */
5737 xcb_xkb_get_indicator_map_cookie_t
5738 xcb_xkb_get_indicator_map (xcb_connection_t      *c,
5739                            xcb_xkb_device_spec_t  deviceSpec,
5740                            uint32_t               which);
5741 
5742 /**
5743  *
5744  * @param c The connection
5745  * @return A cookie
5746  *
5747  * Delivers a request to the X server.
5748  *
5749  * This form can be used only if the request will cause
5750  * a reply to be generated. Any returned error will be
5751  * placed in the event queue.
5752  */
5753 xcb_xkb_get_indicator_map_cookie_t
5754 xcb_xkb_get_indicator_map_unchecked (xcb_connection_t      *c,
5755                                      xcb_xkb_device_spec_t  deviceSpec,
5756                                      uint32_t               which);
5757 
5758 xcb_xkb_indicator_map_t *
5759 xcb_xkb_get_indicator_map_maps (const xcb_xkb_get_indicator_map_reply_t *R);
5760 
5761 int
5762 xcb_xkb_get_indicator_map_maps_length (const xcb_xkb_get_indicator_map_reply_t *R);
5763 
5764 xcb_xkb_indicator_map_iterator_t
5765 xcb_xkb_get_indicator_map_maps_iterator (const xcb_xkb_get_indicator_map_reply_t *R);
5766 
5767 /**
5768  * Return the reply
5769  * @param c      The connection
5770  * @param cookie The cookie
5771  * @param e      The xcb_generic_error_t supplied
5772  *
5773  * Returns the reply of the request asked by
5774  *
5775  * The parameter @p e supplied to this function must be NULL if
5776  * xcb_xkb_get_indicator_map_unchecked(). is used.
5777  * Otherwise, it stores the error if any.
5778  *
5779  * The returned value must be freed by the caller using free().
5780  */
5781 xcb_xkb_get_indicator_map_reply_t *
5782 xcb_xkb_get_indicator_map_reply (xcb_connection_t                    *c,
5783                                  xcb_xkb_get_indicator_map_cookie_t   cookie  /**< */,
5784                                  xcb_generic_error_t                **e);
5785 
5786 int
5787 xcb_xkb_set_indicator_map_sizeof (const void  *_buffer);
5788 
5789 /**
5790  *
5791  * @param c The connection
5792  * @return A cookie
5793  *
5794  * Delivers a request to the X server.
5795  *
5796  * This form can be used only if the request will not cause
5797  * a reply to be generated. Any returned error will be
5798  * saved for handling by xcb_request_check().
5799  */
5800 xcb_void_cookie_t
5801 xcb_xkb_set_indicator_map_checked (xcb_connection_t              *c,
5802                                    xcb_xkb_device_spec_t          deviceSpec,
5803                                    uint32_t                       which,
5804                                    const xcb_xkb_indicator_map_t *maps);
5805 
5806 /**
5807  *
5808  * @param c The connection
5809  * @return A cookie
5810  *
5811  * Delivers a request to the X server.
5812  *
5813  */
5814 xcb_void_cookie_t
5815 xcb_xkb_set_indicator_map (xcb_connection_t              *c,
5816                            xcb_xkb_device_spec_t          deviceSpec,
5817                            uint32_t                       which,
5818                            const xcb_xkb_indicator_map_t *maps);
5819 
5820 xcb_xkb_indicator_map_t *
5821 xcb_xkb_set_indicator_map_maps (const xcb_xkb_set_indicator_map_request_t *R);
5822 
5823 int
5824 xcb_xkb_set_indicator_map_maps_length (const xcb_xkb_set_indicator_map_request_t *R);
5825 
5826 xcb_xkb_indicator_map_iterator_t
5827 xcb_xkb_set_indicator_map_maps_iterator (const xcb_xkb_set_indicator_map_request_t *R);
5828 
5829 /**
5830  *
5831  * @param c The connection
5832  * @return A cookie
5833  *
5834  * Delivers a request to the X server.
5835  *
5836  */
5837 xcb_xkb_get_named_indicator_cookie_t
5838 xcb_xkb_get_named_indicator (xcb_connection_t         *c,
5839                              xcb_xkb_device_spec_t     deviceSpec,
5840                              xcb_xkb_led_class_spec_t  ledClass,
5841                              xcb_xkb_id_spec_t         ledID,
5842                              xcb_atom_t                indicator);
5843 
5844 /**
5845  *
5846  * @param c The connection
5847  * @return A cookie
5848  *
5849  * Delivers a request to the X server.
5850  *
5851  * This form can be used only if the request will cause
5852  * a reply to be generated. Any returned error will be
5853  * placed in the event queue.
5854  */
5855 xcb_xkb_get_named_indicator_cookie_t
5856 xcb_xkb_get_named_indicator_unchecked (xcb_connection_t         *c,
5857                                        xcb_xkb_device_spec_t     deviceSpec,
5858                                        xcb_xkb_led_class_spec_t  ledClass,
5859                                        xcb_xkb_id_spec_t         ledID,
5860                                        xcb_atom_t                indicator);
5861 
5862 /**
5863  * Return the reply
5864  * @param c      The connection
5865  * @param cookie The cookie
5866  * @param e      The xcb_generic_error_t supplied
5867  *
5868  * Returns the reply of the request asked by
5869  *
5870  * The parameter @p e supplied to this function must be NULL if
5871  * xcb_xkb_get_named_indicator_unchecked(). is used.
5872  * Otherwise, it stores the error if any.
5873  *
5874  * The returned value must be freed by the caller using free().
5875  */
5876 xcb_xkb_get_named_indicator_reply_t *
5877 xcb_xkb_get_named_indicator_reply (xcb_connection_t                      *c,
5878                                    xcb_xkb_get_named_indicator_cookie_t   cookie  /**< */,
5879                                    xcb_generic_error_t                  **e);
5880 
5881 /**
5882  *
5883  * @param c The connection
5884  * @return A cookie
5885  *
5886  * Delivers a request to the X server.
5887  *
5888  * This form can be used only if the request will not cause
5889  * a reply to be generated. Any returned error will be
5890  * saved for handling by xcb_request_check().
5891  */
5892 xcb_void_cookie_t
5893 xcb_xkb_set_named_indicator_checked (xcb_connection_t         *c,
5894                                      xcb_xkb_device_spec_t     deviceSpec,
5895                                      xcb_xkb_led_class_spec_t  ledClass,
5896                                      xcb_xkb_id_spec_t         ledID,
5897                                      xcb_atom_t                indicator,
5898                                      uint8_t                   setState,
5899                                      uint8_t                   on,
5900                                      uint8_t                   setMap,
5901                                      uint8_t                   createMap,
5902                                      uint8_t                   map_flags,
5903                                      uint8_t                   map_whichGroups,
5904                                      uint8_t                   map_groups,
5905                                      uint8_t                   map_whichMods,
5906                                      uint8_t                   map_realMods,
5907                                      uint16_t                  map_vmods,
5908                                      uint32_t                  map_ctrls);
5909 
5910 /**
5911  *
5912  * @param c The connection
5913  * @return A cookie
5914  *
5915  * Delivers a request to the X server.
5916  *
5917  */
5918 xcb_void_cookie_t
5919 xcb_xkb_set_named_indicator (xcb_connection_t         *c,
5920                              xcb_xkb_device_spec_t     deviceSpec,
5921                              xcb_xkb_led_class_spec_t  ledClass,
5922                              xcb_xkb_id_spec_t         ledID,
5923                              xcb_atom_t                indicator,
5924                              uint8_t                   setState,
5925                              uint8_t                   on,
5926                              uint8_t                   setMap,
5927                              uint8_t                   createMap,
5928                              uint8_t                   map_flags,
5929                              uint8_t                   map_whichGroups,
5930                              uint8_t                   map_groups,
5931                              uint8_t                   map_whichMods,
5932                              uint8_t                   map_realMods,
5933                              uint16_t                  map_vmods,
5934                              uint32_t                  map_ctrls);
5935 
5936 xcb_atom_t *
5937 xcb_xkb_get_names_value_list_type_names (const xcb_xkb_get_names_value_list_t *S);
5938 
5939 int
5940 xcb_xkb_get_names_value_list_type_names_length (const xcb_xkb_get_names_reply_t *R,
5941                                                 const xcb_xkb_get_names_value_list_t *S);
5942 
5943 xcb_generic_iterator_t
5944 xcb_xkb_get_names_value_list_type_names_end (const xcb_xkb_get_names_reply_t *R,
5945                                              const xcb_xkb_get_names_value_list_t *S);
5946 
5947 uint8_t *
5948 xcb_xkb_get_names_value_list_n_levels_per_type (const xcb_xkb_get_names_value_list_t *S);
5949 
5950 int
5951 xcb_xkb_get_names_value_list_n_levels_per_type_length (const xcb_xkb_get_names_reply_t *R,
5952                                                        const xcb_xkb_get_names_value_list_t *S);
5953 
5954 xcb_generic_iterator_t
5955 xcb_xkb_get_names_value_list_n_levels_per_type_end (const xcb_xkb_get_names_reply_t *R,
5956                                                     const xcb_xkb_get_names_value_list_t *S);
5957 
5958 xcb_atom_t *
5959 xcb_xkb_get_names_value_list_kt_level_names (const xcb_xkb_get_names_value_list_t *S);
5960 
5961 int
5962 xcb_xkb_get_names_value_list_kt_level_names_length (const xcb_xkb_get_names_reply_t *R,
5963                                                     const xcb_xkb_get_names_value_list_t *S);
5964 
5965 xcb_generic_iterator_t
5966 xcb_xkb_get_names_value_list_kt_level_names_end (const xcb_xkb_get_names_reply_t *R,
5967                                                  const xcb_xkb_get_names_value_list_t *S);
5968 
5969 xcb_atom_t *
5970 xcb_xkb_get_names_value_list_indicator_names (const xcb_xkb_get_names_value_list_t *S);
5971 
5972 int
5973 xcb_xkb_get_names_value_list_indicator_names_length (const xcb_xkb_get_names_reply_t *R,
5974                                                      const xcb_xkb_get_names_value_list_t *S);
5975 
5976 xcb_generic_iterator_t
5977 xcb_xkb_get_names_value_list_indicator_names_end (const xcb_xkb_get_names_reply_t *R,
5978                                                   const xcb_xkb_get_names_value_list_t *S);
5979 
5980 xcb_atom_t *
5981 xcb_xkb_get_names_value_list_virtual_mod_names (const xcb_xkb_get_names_value_list_t *S);
5982 
5983 int
5984 xcb_xkb_get_names_value_list_virtual_mod_names_length (const xcb_xkb_get_names_reply_t *R,
5985                                                        const xcb_xkb_get_names_value_list_t *S);
5986 
5987 xcb_generic_iterator_t
5988 xcb_xkb_get_names_value_list_virtual_mod_names_end (const xcb_xkb_get_names_reply_t *R,
5989                                                     const xcb_xkb_get_names_value_list_t *S);
5990 
5991 xcb_atom_t *
5992 xcb_xkb_get_names_value_list_groups (const xcb_xkb_get_names_value_list_t *S);
5993 
5994 int
5995 xcb_xkb_get_names_value_list_groups_length (const xcb_xkb_get_names_reply_t *R,
5996                                             const xcb_xkb_get_names_value_list_t *S);
5997 
5998 xcb_generic_iterator_t
5999 xcb_xkb_get_names_value_list_groups_end (const xcb_xkb_get_names_reply_t *R,
6000                                          const xcb_xkb_get_names_value_list_t *S);
6001 
6002 xcb_xkb_key_name_t *
6003 xcb_xkb_get_names_value_list_key_names (const xcb_xkb_get_names_value_list_t *S);
6004 
6005 int
6006 xcb_xkb_get_names_value_list_key_names_length (const xcb_xkb_get_names_reply_t *R,
6007                                                const xcb_xkb_get_names_value_list_t *S);
6008 
6009 xcb_xkb_key_name_iterator_t
6010 xcb_xkb_get_names_value_list_key_names_iterator (const xcb_xkb_get_names_reply_t *R,
6011                                                  const xcb_xkb_get_names_value_list_t *S);
6012 
6013 xcb_xkb_key_alias_t *
6014 xcb_xkb_get_names_value_list_key_aliases (const xcb_xkb_get_names_value_list_t *S);
6015 
6016 int
6017 xcb_xkb_get_names_value_list_key_aliases_length (const xcb_xkb_get_names_reply_t *R,
6018                                                  const xcb_xkb_get_names_value_list_t *S);
6019 
6020 xcb_xkb_key_alias_iterator_t
6021 xcb_xkb_get_names_value_list_key_aliases_iterator (const xcb_xkb_get_names_reply_t *R,
6022                                                    const xcb_xkb_get_names_value_list_t *S);
6023 
6024 xcb_atom_t *
6025 xcb_xkb_get_names_value_list_radio_group_names (const xcb_xkb_get_names_value_list_t *S);
6026 
6027 int
6028 xcb_xkb_get_names_value_list_radio_group_names_length (const xcb_xkb_get_names_reply_t *R,
6029                                                        const xcb_xkb_get_names_value_list_t *S);
6030 
6031 xcb_generic_iterator_t
6032 xcb_xkb_get_names_value_list_radio_group_names_end (const xcb_xkb_get_names_reply_t *R,
6033                                                     const xcb_xkb_get_names_value_list_t *S);
6034 
6035 int
6036 xcb_xkb_get_names_value_list_serialize (void                                 **_buffer,
6037                                         uint8_t                                nTypes,
6038                                         uint32_t                               indicators,
6039                                         uint16_t                               virtualMods,
6040                                         uint8_t                                groupNames,
6041                                         uint8_t                                nKeys,
6042                                         uint8_t                                nKeyAliases,
6043                                         uint8_t                                nRadioGroups,
6044                                         uint32_t                               which,
6045                                         const xcb_xkb_get_names_value_list_t  *_aux);
6046 
6047 int
6048 xcb_xkb_get_names_value_list_unpack (const void                      *_buffer,
6049                                      uint8_t                          nTypes,
6050                                      uint32_t                         indicators,
6051                                      uint16_t                         virtualMods,
6052                                      uint8_t                          groupNames,
6053                                      uint8_t                          nKeys,
6054                                      uint8_t                          nKeyAliases,
6055                                      uint8_t                          nRadioGroups,
6056                                      uint32_t                         which,
6057                                      xcb_xkb_get_names_value_list_t  *_aux);
6058 
6059 int
6060 xcb_xkb_get_names_value_list_sizeof (const void  *_buffer,
6061                                      uint8_t      nTypes,
6062                                      uint32_t     indicators,
6063                                      uint16_t     virtualMods,
6064                                      uint8_t      groupNames,
6065                                      uint8_t      nKeys,
6066                                      uint8_t      nKeyAliases,
6067                                      uint8_t      nRadioGroups,
6068                                      uint32_t     which);
6069 
6070 int
6071 xcb_xkb_get_names_sizeof (const void  *_buffer);
6072 
6073 /**
6074  *
6075  * @param c The connection
6076  * @return A cookie
6077  *
6078  * Delivers a request to the X server.
6079  *
6080  */
6081 xcb_xkb_get_names_cookie_t
6082 xcb_xkb_get_names (xcb_connection_t      *c,
6083                    xcb_xkb_device_spec_t  deviceSpec,
6084                    uint32_t               which);
6085 
6086 /**
6087  *
6088  * @param c The connection
6089  * @return A cookie
6090  *
6091  * Delivers a request to the X server.
6092  *
6093  * This form can be used only if the request will cause
6094  * a reply to be generated. Any returned error will be
6095  * placed in the event queue.
6096  */
6097 xcb_xkb_get_names_cookie_t
6098 xcb_xkb_get_names_unchecked (xcb_connection_t      *c,
6099                              xcb_xkb_device_spec_t  deviceSpec,
6100                              uint32_t               which);
6101 
6102 void *
6103 xcb_xkb_get_names_value_list (const xcb_xkb_get_names_reply_t *R);
6104 
6105 /**
6106  * Return the reply
6107  * @param c      The connection
6108  * @param cookie The cookie
6109  * @param e      The xcb_generic_error_t supplied
6110  *
6111  * Returns the reply of the request asked by
6112  *
6113  * The parameter @p e supplied to this function must be NULL if
6114  * xcb_xkb_get_names_unchecked(). is used.
6115  * Otherwise, it stores the error if any.
6116  *
6117  * The returned value must be freed by the caller using free().
6118  */
6119 xcb_xkb_get_names_reply_t *
6120 xcb_xkb_get_names_reply (xcb_connection_t            *c,
6121                          xcb_xkb_get_names_cookie_t   cookie  /**< */,
6122                          xcb_generic_error_t        **e);
6123 
6124 xcb_atom_t *
6125 xcb_xkb_set_names_values_type_names (const xcb_xkb_set_names_values_t *S);
6126 
6127 int
6128 xcb_xkb_set_names_values_type_names_length (const xcb_xkb_set_names_request_t *R,
6129                                             const xcb_xkb_set_names_values_t *S);
6130 
6131 xcb_generic_iterator_t
6132 xcb_xkb_set_names_values_type_names_end (const xcb_xkb_set_names_request_t *R,
6133                                          const xcb_xkb_set_names_values_t *S);
6134 
6135 uint8_t *
6136 xcb_xkb_set_names_values_n_levels_per_type (const xcb_xkb_set_names_values_t *S);
6137 
6138 int
6139 xcb_xkb_set_names_values_n_levels_per_type_length (const xcb_xkb_set_names_request_t *R,
6140                                                    const xcb_xkb_set_names_values_t *S);
6141 
6142 xcb_generic_iterator_t
6143 xcb_xkb_set_names_values_n_levels_per_type_end (const xcb_xkb_set_names_request_t *R,
6144                                                 const xcb_xkb_set_names_values_t *S);
6145 
6146 xcb_atom_t *
6147 xcb_xkb_set_names_values_kt_level_names (const xcb_xkb_set_names_values_t *S);
6148 
6149 int
6150 xcb_xkb_set_names_values_kt_level_names_length (const xcb_xkb_set_names_request_t *R,
6151                                                 const xcb_xkb_set_names_values_t *S);
6152 
6153 xcb_generic_iterator_t
6154 xcb_xkb_set_names_values_kt_level_names_end (const xcb_xkb_set_names_request_t *R,
6155                                              const xcb_xkb_set_names_values_t *S);
6156 
6157 xcb_atom_t *
6158 xcb_xkb_set_names_values_indicator_names (const xcb_xkb_set_names_values_t *S);
6159 
6160 int
6161 xcb_xkb_set_names_values_indicator_names_length (const xcb_xkb_set_names_request_t *R,
6162                                                  const xcb_xkb_set_names_values_t *S);
6163 
6164 xcb_generic_iterator_t
6165 xcb_xkb_set_names_values_indicator_names_end (const xcb_xkb_set_names_request_t *R,
6166                                               const xcb_xkb_set_names_values_t *S);
6167 
6168 xcb_atom_t *
6169 xcb_xkb_set_names_values_virtual_mod_names (const xcb_xkb_set_names_values_t *S);
6170 
6171 int
6172 xcb_xkb_set_names_values_virtual_mod_names_length (const xcb_xkb_set_names_request_t *R,
6173                                                    const xcb_xkb_set_names_values_t *S);
6174 
6175 xcb_generic_iterator_t
6176 xcb_xkb_set_names_values_virtual_mod_names_end (const xcb_xkb_set_names_request_t *R,
6177                                                 const xcb_xkb_set_names_values_t *S);
6178 
6179 xcb_atom_t *
6180 xcb_xkb_set_names_values_groups (const xcb_xkb_set_names_values_t *S);
6181 
6182 int
6183 xcb_xkb_set_names_values_groups_length (const xcb_xkb_set_names_request_t *R,
6184                                         const xcb_xkb_set_names_values_t *S);
6185 
6186 xcb_generic_iterator_t
6187 xcb_xkb_set_names_values_groups_end (const xcb_xkb_set_names_request_t *R,
6188                                      const xcb_xkb_set_names_values_t *S);
6189 
6190 xcb_xkb_key_name_t *
6191 xcb_xkb_set_names_values_key_names (const xcb_xkb_set_names_values_t *S);
6192 
6193 int
6194 xcb_xkb_set_names_values_key_names_length (const xcb_xkb_set_names_request_t *R,
6195                                            const xcb_xkb_set_names_values_t *S);
6196 
6197 xcb_xkb_key_name_iterator_t
6198 xcb_xkb_set_names_values_key_names_iterator (const xcb_xkb_set_names_request_t *R,
6199                                              const xcb_xkb_set_names_values_t *S);
6200 
6201 xcb_xkb_key_alias_t *
6202 xcb_xkb_set_names_values_key_aliases (const xcb_xkb_set_names_values_t *S);
6203 
6204 int
6205 xcb_xkb_set_names_values_key_aliases_length (const xcb_xkb_set_names_request_t *R,
6206                                              const xcb_xkb_set_names_values_t *S);
6207 
6208 xcb_xkb_key_alias_iterator_t
6209 xcb_xkb_set_names_values_key_aliases_iterator (const xcb_xkb_set_names_request_t *R,
6210                                                const xcb_xkb_set_names_values_t *S);
6211 
6212 xcb_atom_t *
6213 xcb_xkb_set_names_values_radio_group_names (const xcb_xkb_set_names_values_t *S);
6214 
6215 int
6216 xcb_xkb_set_names_values_radio_group_names_length (const xcb_xkb_set_names_request_t *R,
6217                                                    const xcb_xkb_set_names_values_t *S);
6218 
6219 xcb_generic_iterator_t
6220 xcb_xkb_set_names_values_radio_group_names_end (const xcb_xkb_set_names_request_t *R,
6221                                                 const xcb_xkb_set_names_values_t *S);
6222 
6223 int
6224 xcb_xkb_set_names_values_serialize (void                             **_buffer,
6225                                     uint8_t                            nTypes,
6226                                     uint32_t                           indicators,
6227                                     uint16_t                           virtualMods,
6228                                     uint8_t                            groupNames,
6229                                     uint8_t                            nKeys,
6230                                     uint8_t                            nKeyAliases,
6231                                     uint8_t                            nRadioGroups,
6232                                     uint32_t                           which,
6233                                     const xcb_xkb_set_names_values_t  *_aux);
6234 
6235 int
6236 xcb_xkb_set_names_values_unpack (const void                  *_buffer,
6237                                  uint8_t                      nTypes,
6238                                  uint32_t                     indicators,
6239                                  uint16_t                     virtualMods,
6240                                  uint8_t                      groupNames,
6241                                  uint8_t                      nKeys,
6242                                  uint8_t                      nKeyAliases,
6243                                  uint8_t                      nRadioGroups,
6244                                  uint32_t                     which,
6245                                  xcb_xkb_set_names_values_t  *_aux);
6246 
6247 int
6248 xcb_xkb_set_names_values_sizeof (const void  *_buffer,
6249                                  uint8_t      nTypes,
6250                                  uint32_t     indicators,
6251                                  uint16_t     virtualMods,
6252                                  uint8_t      groupNames,
6253                                  uint8_t      nKeys,
6254                                  uint8_t      nKeyAliases,
6255                                  uint8_t      nRadioGroups,
6256                                  uint32_t     which);
6257 
6258 int
6259 xcb_xkb_set_names_sizeof (const void  *_buffer);
6260 
6261 /**
6262  *
6263  * @param c The connection
6264  * @return A cookie
6265  *
6266  * Delivers a request to the X server.
6267  *
6268  * This form can be used only if the request will not cause
6269  * a reply to be generated. Any returned error will be
6270  * saved for handling by xcb_request_check().
6271  */
6272 xcb_void_cookie_t
6273 xcb_xkb_set_names_checked (xcb_connection_t      *c,
6274                            xcb_xkb_device_spec_t  deviceSpec,
6275                            uint16_t               virtualMods,
6276                            uint32_t               which,
6277                            uint8_t                firstType,
6278                            uint8_t                nTypes,
6279                            uint8_t                firstKTLevelt,
6280                            uint8_t                nKTLevels,
6281                            uint32_t               indicators,
6282                            uint8_t                groupNames,
6283                            uint8_t                nRadioGroups,
6284                            xcb_keycode_t          firstKey,
6285                            uint8_t                nKeys,
6286                            uint8_t                nKeyAliases,
6287                            uint16_t               totalKTLevelNames,
6288                            const void            *values);
6289 
6290 /**
6291  *
6292  * @param c The connection
6293  * @return A cookie
6294  *
6295  * Delivers a request to the X server.
6296  *
6297  */
6298 xcb_void_cookie_t
6299 xcb_xkb_set_names (xcb_connection_t      *c,
6300                    xcb_xkb_device_spec_t  deviceSpec,
6301                    uint16_t               virtualMods,
6302                    uint32_t               which,
6303                    uint8_t                firstType,
6304                    uint8_t                nTypes,
6305                    uint8_t                firstKTLevelt,
6306                    uint8_t                nKTLevels,
6307                    uint32_t               indicators,
6308                    uint8_t                groupNames,
6309                    uint8_t                nRadioGroups,
6310                    xcb_keycode_t          firstKey,
6311                    uint8_t                nKeys,
6312                    uint8_t                nKeyAliases,
6313                    uint16_t               totalKTLevelNames,
6314                    const void            *values);
6315 
6316 /**
6317  *
6318  * @param c The connection
6319  * @return A cookie
6320  *
6321  * Delivers a request to the X server.
6322  *
6323  * This form can be used only if the request will not cause
6324  * a reply to be generated. Any returned error will be
6325  * saved for handling by xcb_request_check().
6326  */
6327 xcb_void_cookie_t
6328 xcb_xkb_set_names_aux_checked (xcb_connection_t                 *c,
6329                                xcb_xkb_device_spec_t             deviceSpec,
6330                                uint16_t                          virtualMods,
6331                                uint32_t                          which,
6332                                uint8_t                           firstType,
6333                                uint8_t                           nTypes,
6334                                uint8_t                           firstKTLevelt,
6335                                uint8_t                           nKTLevels,
6336                                uint32_t                          indicators,
6337                                uint8_t                           groupNames,
6338                                uint8_t                           nRadioGroups,
6339                                xcb_keycode_t                     firstKey,
6340                                uint8_t                           nKeys,
6341                                uint8_t                           nKeyAliases,
6342                                uint16_t                          totalKTLevelNames,
6343                                const xcb_xkb_set_names_values_t *values);
6344 
6345 /**
6346  *
6347  * @param c The connection
6348  * @return A cookie
6349  *
6350  * Delivers a request to the X server.
6351  *
6352  */
6353 xcb_void_cookie_t
6354 xcb_xkb_set_names_aux (xcb_connection_t                 *c,
6355                        xcb_xkb_device_spec_t             deviceSpec,
6356                        uint16_t                          virtualMods,
6357                        uint32_t                          which,
6358                        uint8_t                           firstType,
6359                        uint8_t                           nTypes,
6360                        uint8_t                           firstKTLevelt,
6361                        uint8_t                           nKTLevels,
6362                        uint32_t                          indicators,
6363                        uint8_t                           groupNames,
6364                        uint8_t                           nRadioGroups,
6365                        xcb_keycode_t                     firstKey,
6366                        uint8_t                           nKeys,
6367                        uint8_t                           nKeyAliases,
6368                        uint16_t                          totalKTLevelNames,
6369                        const xcb_xkb_set_names_values_t *values);
6370 
6371 void *
6372 xcb_xkb_set_names_values (const xcb_xkb_set_names_request_t *R);
6373 
6374 /**
6375  *
6376  * @param c The connection
6377  * @return A cookie
6378  *
6379  * Delivers a request to the X server.
6380  *
6381  */
6382 xcb_xkb_per_client_flags_cookie_t
6383 xcb_xkb_per_client_flags (xcb_connection_t      *c,
6384                           xcb_xkb_device_spec_t  deviceSpec,
6385                           uint32_t               change,
6386                           uint32_t               value,
6387                           uint32_t               ctrlsToChange,
6388                           uint32_t               autoCtrls,
6389                           uint32_t               autoCtrlsValues);
6390 
6391 /**
6392  *
6393  * @param c The connection
6394  * @return A cookie
6395  *
6396  * Delivers a request to the X server.
6397  *
6398  * This form can be used only if the request will cause
6399  * a reply to be generated. Any returned error will be
6400  * placed in the event queue.
6401  */
6402 xcb_xkb_per_client_flags_cookie_t
6403 xcb_xkb_per_client_flags_unchecked (xcb_connection_t      *c,
6404                                     xcb_xkb_device_spec_t  deviceSpec,
6405                                     uint32_t               change,
6406                                     uint32_t               value,
6407                                     uint32_t               ctrlsToChange,
6408                                     uint32_t               autoCtrls,
6409                                     uint32_t               autoCtrlsValues);
6410 
6411 /**
6412  * Return the reply
6413  * @param c      The connection
6414  * @param cookie The cookie
6415  * @param e      The xcb_generic_error_t supplied
6416  *
6417  * Returns the reply of the request asked by
6418  *
6419  * The parameter @p e supplied to this function must be NULL if
6420  * xcb_xkb_per_client_flags_unchecked(). is used.
6421  * Otherwise, it stores the error if any.
6422  *
6423  * The returned value must be freed by the caller using free().
6424  */
6425 xcb_xkb_per_client_flags_reply_t *
6426 xcb_xkb_per_client_flags_reply (xcb_connection_t                   *c,
6427                                 xcb_xkb_per_client_flags_cookie_t   cookie  /**< */,
6428                                 xcb_generic_error_t               **e);
6429 
6430 int
6431 xcb_xkb_list_components_sizeof (const void  *_buffer);
6432 
6433 /**
6434  *
6435  * @param c The connection
6436  * @return A cookie
6437  *
6438  * Delivers a request to the X server.
6439  *
6440  */
6441 xcb_xkb_list_components_cookie_t
6442 xcb_xkb_list_components (xcb_connection_t      *c,
6443                          xcb_xkb_device_spec_t  deviceSpec,
6444                          uint16_t               maxNames);
6445 
6446 /**
6447  *
6448  * @param c The connection
6449  * @return A cookie
6450  *
6451  * Delivers a request to the X server.
6452  *
6453  * This form can be used only if the request will cause
6454  * a reply to be generated. Any returned error will be
6455  * placed in the event queue.
6456  */
6457 xcb_xkb_list_components_cookie_t
6458 xcb_xkb_list_components_unchecked (xcb_connection_t      *c,
6459                                    xcb_xkb_device_spec_t  deviceSpec,
6460                                    uint16_t               maxNames);
6461 
6462 int
6463 xcb_xkb_list_components_keymaps_length (const xcb_xkb_list_components_reply_t *R);
6464 
6465 xcb_xkb_listing_iterator_t
6466 xcb_xkb_list_components_keymaps_iterator (const xcb_xkb_list_components_reply_t *R);
6467 
6468 int
6469 xcb_xkb_list_components_keycodes_length (const xcb_xkb_list_components_reply_t *R);
6470 
6471 xcb_xkb_listing_iterator_t
6472 xcb_xkb_list_components_keycodes_iterator (const xcb_xkb_list_components_reply_t *R);
6473 
6474 int
6475 xcb_xkb_list_components_types_length (const xcb_xkb_list_components_reply_t *R);
6476 
6477 xcb_xkb_listing_iterator_t
6478 xcb_xkb_list_components_types_iterator (const xcb_xkb_list_components_reply_t *R);
6479 
6480 int
6481 xcb_xkb_list_components_compat_maps_length (const xcb_xkb_list_components_reply_t *R);
6482 
6483 xcb_xkb_listing_iterator_t
6484 xcb_xkb_list_components_compat_maps_iterator (const xcb_xkb_list_components_reply_t *R);
6485 
6486 int
6487 xcb_xkb_list_components_symbols_length (const xcb_xkb_list_components_reply_t *R);
6488 
6489 xcb_xkb_listing_iterator_t
6490 xcb_xkb_list_components_symbols_iterator (const xcb_xkb_list_components_reply_t *R);
6491 
6492 int
6493 xcb_xkb_list_components_geometries_length (const xcb_xkb_list_components_reply_t *R);
6494 
6495 xcb_xkb_listing_iterator_t
6496 xcb_xkb_list_components_geometries_iterator (const xcb_xkb_list_components_reply_t *R);
6497 
6498 /**
6499  * Return the reply
6500  * @param c      The connection
6501  * @param cookie The cookie
6502  * @param e      The xcb_generic_error_t supplied
6503  *
6504  * Returns the reply of the request asked by
6505  *
6506  * The parameter @p e supplied to this function must be NULL if
6507  * xcb_xkb_list_components_unchecked(). is used.
6508  * Otherwise, it stores the error if any.
6509  *
6510  * The returned value must be freed by the caller using free().
6511  */
6512 xcb_xkb_list_components_reply_t *
6513 xcb_xkb_list_components_reply (xcb_connection_t                  *c,
6514                                xcb_xkb_list_components_cookie_t   cookie  /**< */,
6515                                xcb_generic_error_t              **e);
6516 
6517 int
6518 xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6519                                                              const xcb_xkb_get_kbd_by_name_replies_t *S);
6520 
6521 xcb_xkb_key_type_iterator_t
6522 xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6523                                                                const xcb_xkb_get_kbd_by_name_replies_t *S);
6524 
6525 int
6526 xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6527                                                             const xcb_xkb_get_kbd_by_name_replies_t *S);
6528 
6529 xcb_xkb_key_sym_map_iterator_t
6530 xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6531                                                               const xcb_xkb_get_kbd_by_name_replies_t *S);
6532 
6533 uint8_t *
6534 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count (const xcb_xkb_get_kbd_by_name_replies_t *S);
6535 
6536 int
6537 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6538                                                                   const xcb_xkb_get_kbd_by_name_replies_t *S);
6539 
6540 xcb_generic_iterator_t
6541 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end (const xcb_xkb_get_kbd_by_name_reply_t *R,
6542                                                                const xcb_xkb_get_kbd_by_name_replies_t *S);
6543 
6544 xcb_xkb_action_t *
6545 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts (const xcb_xkb_get_kbd_by_name_replies_t *S);
6546 
6547 int
6548 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6549                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S);
6550 
6551 xcb_xkb_action_iterator_t
6552 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6553                                                                    const xcb_xkb_get_kbd_by_name_replies_t *S);
6554 
6555 xcb_xkb_set_behavior_t *
6556 xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6557 
6558 int
6559 xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6560                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S);
6561 
6562 xcb_xkb_set_behavior_iterator_t
6563 xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6564                                                                    const xcb_xkb_get_kbd_by_name_replies_t *S);
6565 
6566 uint8_t *
6567 xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6568 
6569 int
6570 xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6571                                                              const xcb_xkb_get_kbd_by_name_replies_t *S);
6572 
6573 xcb_generic_iterator_t
6574 xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end (const xcb_xkb_get_kbd_by_name_reply_t *R,
6575                                                           const xcb_xkb_get_kbd_by_name_replies_t *S);
6576 
6577 xcb_xkb_set_explicit_t *
6578 xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6579 
6580 int
6581 xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6582                                                                 const xcb_xkb_get_kbd_by_name_replies_t *S);
6583 
6584 xcb_xkb_set_explicit_iterator_t
6585 xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6586                                                                   const xcb_xkb_get_kbd_by_name_replies_t *S);
6587 
6588 xcb_xkb_key_mod_map_t *
6589 xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6590 
6591 int
6592 xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6593                                                               const xcb_xkb_get_kbd_by_name_replies_t *S);
6594 
6595 xcb_xkb_key_mod_map_iterator_t
6596 xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6597                                                                 const xcb_xkb_get_kbd_by_name_replies_t *S);
6598 
6599 xcb_xkb_key_v_mod_map_t *
6600 xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6601 
6602 int
6603 xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6604                                                                const xcb_xkb_get_kbd_by_name_replies_t *S);
6605 
6606 xcb_xkb_key_v_mod_map_iterator_t
6607 xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6608                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S);
6609 
6610 int
6611 xcb_xkb_get_kbd_by_name_replies_types_map_serialize (void                                              **_buffer,
6612                                                      uint8_t                                             nTypes,
6613                                                      uint8_t                                             nKeySyms,
6614                                                      uint8_t                                             nKeyActions,
6615                                                      uint16_t                                            totalActions,
6616                                                      uint8_t                                             totalKeyBehaviors,
6617                                                      uint16_t                                            virtualMods,
6618                                                      uint8_t                                             totalKeyExplicit,
6619                                                      uint8_t                                             totalModMapKeys,
6620                                                      uint8_t                                             totalVModMapKeys,
6621                                                      uint16_t                                            present,
6622                                                      const xcb_xkb_get_kbd_by_name_replies_types_map_t  *_aux);
6623 
6624 int
6625 xcb_xkb_get_kbd_by_name_replies_types_map_unpack (const void                                   *_buffer,
6626                                                   uint8_t                                       nTypes,
6627                                                   uint8_t                                       nKeySyms,
6628                                                   uint8_t                                       nKeyActions,
6629                                                   uint16_t                                      totalActions,
6630                                                   uint8_t                                       totalKeyBehaviors,
6631                                                   uint16_t                                      virtualMods,
6632                                                   uint8_t                                       totalKeyExplicit,
6633                                                   uint8_t                                       totalModMapKeys,
6634                                                   uint8_t                                       totalVModMapKeys,
6635                                                   uint16_t                                      present,
6636                                                   xcb_xkb_get_kbd_by_name_replies_types_map_t  *_aux);
6637 
6638 int
6639 xcb_xkb_get_kbd_by_name_replies_types_map_sizeof (const void  *_buffer,
6640                                                   uint8_t      nTypes,
6641                                                   uint8_t      nKeySyms,
6642                                                   uint8_t      nKeyActions,
6643                                                   uint16_t     totalActions,
6644                                                   uint8_t      totalKeyBehaviors,
6645                                                   uint16_t     virtualMods,
6646                                                   uint8_t      totalKeyExplicit,
6647                                                   uint8_t      totalModMapKeys,
6648                                                   uint8_t      totalVModMapKeys,
6649                                                   uint16_t     present);
6650 
6651 xcb_atom_t *
6652 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names (const xcb_xkb_get_kbd_by_name_replies_t *S);
6653 
6654 int
6655 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6656                                                                         const xcb_xkb_get_kbd_by_name_replies_t *S);
6657 
6658 xcb_generic_iterator_t
6659 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R,
6660                                                                      const xcb_xkb_get_kbd_by_name_replies_t *S);
6661 
6662 uint8_t *
6663 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);
6664 
6665 int
6666 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,
6667                                                                                const xcb_xkb_get_kbd_by_name_replies_t *S);
6668 
6669 xcb_generic_iterator_t
6670 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,
6671                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S);
6672 
6673 xcb_atom_t *
6674 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names (const xcb_xkb_get_kbd_by_name_replies_t *S);
6675 
6676 int
6677 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,
6678                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S);
6679 
6680 xcb_generic_iterator_t
6681 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,
6682                                                                          const xcb_xkb_get_kbd_by_name_replies_t *S);
6683 
6684 xcb_atom_t *
6685 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names (const xcb_xkb_get_kbd_by_name_replies_t *S);
6686 
6687 int
6688 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6689                                                                              const xcb_xkb_get_kbd_by_name_replies_t *S);
6690 
6691 xcb_generic_iterator_t
6692 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R,
6693                                                                           const xcb_xkb_get_kbd_by_name_replies_t *S);
6694 
6695 xcb_atom_t *
6696 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names (const xcb_xkb_get_kbd_by_name_replies_t *S);
6697 
6698 int
6699 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,
6700                                                                                const xcb_xkb_get_kbd_by_name_replies_t *S);
6701 
6702 xcb_generic_iterator_t
6703 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,
6704                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S);
6705 
6706 xcb_atom_t *
6707 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups (const xcb_xkb_get_kbd_by_name_replies_t *S);
6708 
6709 int
6710 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6711                                                                     const xcb_xkb_get_kbd_by_name_replies_t *S);
6712 
6713 xcb_generic_iterator_t
6714 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end (const xcb_xkb_get_kbd_by_name_reply_t *R,
6715                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S);
6716 
6717 xcb_xkb_key_name_t *
6718 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names (const xcb_xkb_get_kbd_by_name_replies_t *S);
6719 
6720 int
6721 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6722                                                                        const xcb_xkb_get_kbd_by_name_replies_t *S);
6723 
6724 xcb_xkb_key_name_iterator_t
6725 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6726                                                                          const xcb_xkb_get_kbd_by_name_replies_t *S);
6727 
6728 xcb_xkb_key_alias_t *
6729 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases (const xcb_xkb_get_kbd_by_name_replies_t *S);
6730 
6731 int
6732 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6733                                                                          const xcb_xkb_get_kbd_by_name_replies_t *S);
6734 
6735 xcb_xkb_key_alias_iterator_t
6736 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6737                                                                            const xcb_xkb_get_kbd_by_name_replies_t *S);
6738 
6739 xcb_atom_t *
6740 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names (const xcb_xkb_get_kbd_by_name_replies_t *S);
6741 
6742 int
6743 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,
6744                                                                                const xcb_xkb_get_kbd_by_name_replies_t *S);
6745 
6746 xcb_generic_iterator_t
6747 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,
6748                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S);
6749 
6750 int
6751 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize (void                                                         **_buffer,
6752                                                                 uint8_t                                                        nTypes,
6753                                                                 uint32_t                                                       indicators,
6754                                                                 uint16_t                                                       virtualMods,
6755                                                                 uint8_t                                                        groupNames,
6756                                                                 uint8_t                                                        nKeys,
6757                                                                 uint8_t                                                        nKeyAliases,
6758                                                                 uint8_t                                                        nRadioGroups,
6759                                                                 uint32_t                                                       which,
6760                                                                 const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t  *_aux);
6761 
6762 int
6763 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack (const void                                              *_buffer,
6764                                                              uint8_t                                                  nTypes,
6765                                                              uint32_t                                                 indicators,
6766                                                              uint16_t                                                 virtualMods,
6767                                                              uint8_t                                                  groupNames,
6768                                                              uint8_t                                                  nKeys,
6769                                                              uint8_t                                                  nKeyAliases,
6770                                                              uint8_t                                                  nRadioGroups,
6771                                                              uint32_t                                                 which,
6772                                                              xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t  *_aux);
6773 
6774 int
6775 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof (const void  *_buffer,
6776                                                              uint8_t      nTypes,
6777                                                              uint32_t     indicators,
6778                                                              uint16_t     virtualMods,
6779                                                              uint8_t      groupNames,
6780                                                              uint8_t      nKeys,
6781                                                              uint8_t      nKeyAliases,
6782                                                              uint8_t      nRadioGroups,
6783                                                              uint32_t     which);
6784 
6785 xcb_xkb_sym_interpret_t *
6786 xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6787 
6788 int
6789 xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6790                                                            const xcb_xkb_get_kbd_by_name_replies_t *S);
6791 
6792 xcb_xkb_sym_interpret_iterator_t
6793 xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6794                                                              const xcb_xkb_get_kbd_by_name_replies_t *S);
6795 
6796 xcb_xkb_mod_def_t *
6797 xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S);
6798 
6799 int
6800 xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6801                                                               const xcb_xkb_get_kbd_by_name_replies_t *S);
6802 
6803 xcb_xkb_mod_def_iterator_t
6804 xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6805                                                                 const xcb_xkb_get_kbd_by_name_replies_t *S);
6806 
6807 xcb_xkb_indicator_map_t *
6808 xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps (const xcb_xkb_get_kbd_by_name_replies_t *S);
6809 
6810 int
6811 xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length (const xcb_xkb_get_kbd_by_name_reply_t *R,
6812                                                             const xcb_xkb_get_kbd_by_name_replies_t *S);
6813 
6814 xcb_xkb_indicator_map_iterator_t
6815 xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R,
6816                                                               const xcb_xkb_get_kbd_by_name_replies_t *S);
6817 
6818 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
6819 xcb_xkb_get_kbd_by_name_replies_key_names_value_list (const xcb_xkb_get_kbd_by_name_replies_t *R);
6820 
6821 xcb_xkb_counted_string_16_t *
6822 xcb_xkb_get_kbd_by_name_replies_geometry_label_font (const xcb_xkb_get_kbd_by_name_replies_t *R);
6823 
6824 int
6825 xcb_xkb_get_kbd_by_name_replies_serialize (void                                    **_buffer,
6826                                            uint16_t                                  reported,
6827                                            const xcb_xkb_get_kbd_by_name_replies_t  *_aux);
6828 
6829 int
6830 xcb_xkb_get_kbd_by_name_replies_unpack (const void                         *_buffer,
6831                                         uint16_t                            reported,
6832                                         xcb_xkb_get_kbd_by_name_replies_t  *_aux);
6833 
6834 int
6835 xcb_xkb_get_kbd_by_name_replies_sizeof (const void  *_buffer,
6836                                         uint16_t     reported);
6837 
6838 int
6839 xcb_xkb_get_kbd_by_name_sizeof (const void  *_buffer);
6840 
6841 /**
6842  *
6843  * @param c The connection
6844  * @return A cookie
6845  *
6846  * Delivers a request to the X server.
6847  *
6848  */
6849 xcb_xkb_get_kbd_by_name_cookie_t
6850 xcb_xkb_get_kbd_by_name (xcb_connection_t      *c,
6851                          xcb_xkb_device_spec_t  deviceSpec,
6852                          uint16_t               need,
6853                          uint16_t               want,
6854                          uint8_t                load);
6855 
6856 /**
6857  *
6858  * @param c The connection
6859  * @return A cookie
6860  *
6861  * Delivers a request to the X server.
6862  *
6863  * This form can be used only if the request will cause
6864  * a reply to be generated. Any returned error will be
6865  * placed in the event queue.
6866  */
6867 xcb_xkb_get_kbd_by_name_cookie_t
6868 xcb_xkb_get_kbd_by_name_unchecked (xcb_connection_t      *c,
6869                                    xcb_xkb_device_spec_t  deviceSpec,
6870                                    uint16_t               need,
6871                                    uint16_t               want,
6872                                    uint8_t                load);
6873 
6874 void *
6875 xcb_xkb_get_kbd_by_name_replies (const xcb_xkb_get_kbd_by_name_reply_t *R);
6876 
6877 /**
6878  * Return the reply
6879  * @param c      The connection
6880  * @param cookie The cookie
6881  * @param e      The xcb_generic_error_t supplied
6882  *
6883  * Returns the reply of the request asked by
6884  *
6885  * The parameter @p e supplied to this function must be NULL if
6886  * xcb_xkb_get_kbd_by_name_unchecked(). is used.
6887  * Otherwise, it stores the error if any.
6888  *
6889  * The returned value must be freed by the caller using free().
6890  */
6891 xcb_xkb_get_kbd_by_name_reply_t *
6892 xcb_xkb_get_kbd_by_name_reply (xcb_connection_t                  *c,
6893                                xcb_xkb_get_kbd_by_name_cookie_t   cookie  /**< */,
6894                                xcb_generic_error_t              **e);
6895 
6896 int
6897 xcb_xkb_get_device_info_sizeof (const void  *_buffer);
6898 
6899 /**
6900  *
6901  * @param c The connection
6902  * @return A cookie
6903  *
6904  * Delivers a request to the X server.
6905  *
6906  */
6907 xcb_xkb_get_device_info_cookie_t
6908 xcb_xkb_get_device_info (xcb_connection_t         *c,
6909                          xcb_xkb_device_spec_t     deviceSpec,
6910                          uint16_t                  wanted,
6911                          uint8_t                   allButtons,
6912                          uint8_t                   firstButton,
6913                          uint8_t                   nButtons,
6914                          xcb_xkb_led_class_spec_t  ledClass,
6915                          xcb_xkb_id_spec_t         ledID);
6916 
6917 /**
6918  *
6919  * @param c The connection
6920  * @return A cookie
6921  *
6922  * Delivers a request to the X server.
6923  *
6924  * This form can be used only if the request will cause
6925  * a reply to be generated. Any returned error will be
6926  * placed in the event queue.
6927  */
6928 xcb_xkb_get_device_info_cookie_t
6929 xcb_xkb_get_device_info_unchecked (xcb_connection_t         *c,
6930                                    xcb_xkb_device_spec_t     deviceSpec,
6931                                    uint16_t                  wanted,
6932                                    uint8_t                   allButtons,
6933                                    uint8_t                   firstButton,
6934                                    uint8_t                   nButtons,
6935                                    xcb_xkb_led_class_spec_t  ledClass,
6936                                    xcb_xkb_id_spec_t         ledID);
6937 
6938 xcb_xkb_string8_t *
6939 xcb_xkb_get_device_info_name (const xcb_xkb_get_device_info_reply_t *R);
6940 
6941 int
6942 xcb_xkb_get_device_info_name_length (const xcb_xkb_get_device_info_reply_t *R);
6943 
6944 xcb_generic_iterator_t
6945 xcb_xkb_get_device_info_name_end (const xcb_xkb_get_device_info_reply_t *R);
6946 
6947 xcb_xkb_action_t *
6948 xcb_xkb_get_device_info_btn_actions (const xcb_xkb_get_device_info_reply_t *R);
6949 
6950 int
6951 xcb_xkb_get_device_info_btn_actions_length (const xcb_xkb_get_device_info_reply_t *R);
6952 
6953 xcb_xkb_action_iterator_t
6954 xcb_xkb_get_device_info_btn_actions_iterator (const xcb_xkb_get_device_info_reply_t *R);
6955 
6956 int
6957 xcb_xkb_get_device_info_leds_length (const xcb_xkb_get_device_info_reply_t *R);
6958 
6959 xcb_xkb_device_led_info_iterator_t
6960 xcb_xkb_get_device_info_leds_iterator (const xcb_xkb_get_device_info_reply_t *R);
6961 
6962 /**
6963  * Return the reply
6964  * @param c      The connection
6965  * @param cookie The cookie
6966  * @param e      The xcb_generic_error_t supplied
6967  *
6968  * Returns the reply of the request asked by
6969  *
6970  * The parameter @p e supplied to this function must be NULL if
6971  * xcb_xkb_get_device_info_unchecked(). is used.
6972  * Otherwise, it stores the error if any.
6973  *
6974  * The returned value must be freed by the caller using free().
6975  */
6976 xcb_xkb_get_device_info_reply_t *
6977 xcb_xkb_get_device_info_reply (xcb_connection_t                  *c,
6978                                xcb_xkb_get_device_info_cookie_t   cookie  /**< */,
6979                                xcb_generic_error_t              **e);
6980 
6981 int
6982 xcb_xkb_set_device_info_sizeof (const void  *_buffer);
6983 
6984 /**
6985  *
6986  * @param c The connection
6987  * @return A cookie
6988  *
6989  * Delivers a request to the X server.
6990  *
6991  * This form can be used only if the request will not cause
6992  * a reply to be generated. Any returned error will be
6993  * saved for handling by xcb_request_check().
6994  */
6995 xcb_void_cookie_t
6996 xcb_xkb_set_device_info_checked (xcb_connection_t                *c,
6997                                  xcb_xkb_device_spec_t            deviceSpec,
6998                                  uint8_t                          firstBtn,
6999                                  uint8_t                          nBtns,
7000                                  uint16_t                         change,
7001                                  uint16_t                         nDeviceLedFBs,
7002                                  const xcb_xkb_action_t          *btnActions,
7003                                  const xcb_xkb_device_led_info_t *leds);
7004 
7005 /**
7006  *
7007  * @param c The connection
7008  * @return A cookie
7009  *
7010  * Delivers a request to the X server.
7011  *
7012  */
7013 xcb_void_cookie_t
7014 xcb_xkb_set_device_info (xcb_connection_t                *c,
7015                          xcb_xkb_device_spec_t            deviceSpec,
7016                          uint8_t                          firstBtn,
7017                          uint8_t                          nBtns,
7018                          uint16_t                         change,
7019                          uint16_t                         nDeviceLedFBs,
7020                          const xcb_xkb_action_t          *btnActions,
7021                          const xcb_xkb_device_led_info_t *leds);
7022 
7023 xcb_xkb_action_t *
7024 xcb_xkb_set_device_info_btn_actions (const xcb_xkb_set_device_info_request_t *R);
7025 
7026 int
7027 xcb_xkb_set_device_info_btn_actions_length (const xcb_xkb_set_device_info_request_t *R);
7028 
7029 xcb_xkb_action_iterator_t
7030 xcb_xkb_set_device_info_btn_actions_iterator (const xcb_xkb_set_device_info_request_t *R);
7031 
7032 int
7033 xcb_xkb_set_device_info_leds_length (const xcb_xkb_set_device_info_request_t *R);
7034 
7035 xcb_xkb_device_led_info_iterator_t
7036 xcb_xkb_set_device_info_leds_iterator (const xcb_xkb_set_device_info_request_t *R);
7037 
7038 int
7039 xcb_xkb_set_debugging_flags_sizeof (const void  *_buffer);
7040 
7041 /**
7042  *
7043  * @param c The connection
7044  * @return A cookie
7045  *
7046  * Delivers a request to the X server.
7047  *
7048  */
7049 xcb_xkb_set_debugging_flags_cookie_t
7050 xcb_xkb_set_debugging_flags (xcb_connection_t        *c,
7051                              uint16_t                 msgLength,
7052                              uint32_t                 affectFlags,
7053                              uint32_t                 flags,
7054                              uint32_t                 affectCtrls,
7055                              uint32_t                 ctrls,
7056                              const xcb_xkb_string8_t *message);
7057 
7058 /**
7059  *
7060  * @param c The connection
7061  * @return A cookie
7062  *
7063  * Delivers a request to the X server.
7064  *
7065  * This form can be used only if the request will cause
7066  * a reply to be generated. Any returned error will be
7067  * placed in the event queue.
7068  */
7069 xcb_xkb_set_debugging_flags_cookie_t
7070 xcb_xkb_set_debugging_flags_unchecked (xcb_connection_t        *c,
7071                                        uint16_t                 msgLength,
7072                                        uint32_t                 affectFlags,
7073                                        uint32_t                 flags,
7074                                        uint32_t                 affectCtrls,
7075                                        uint32_t                 ctrls,
7076                                        const xcb_xkb_string8_t *message);
7077 
7078 /**
7079  * Return the reply
7080  * @param c      The connection
7081  * @param cookie The cookie
7082  * @param e      The xcb_generic_error_t supplied
7083  *
7084  * Returns the reply of the request asked by
7085  *
7086  * The parameter @p e supplied to this function must be NULL if
7087  * xcb_xkb_set_debugging_flags_unchecked(). is used.
7088  * Otherwise, it stores the error if any.
7089  *
7090  * The returned value must be freed by the caller using free().
7091  */
7092 xcb_xkb_set_debugging_flags_reply_t *
7093 xcb_xkb_set_debugging_flags_reply (xcb_connection_t                      *c,
7094                                    xcb_xkb_set_debugging_flags_cookie_t   cookie  /**< */,
7095                                    xcb_generic_error_t                  **e);
7096 
7097 
7098 #ifdef __cplusplus
7099 }
7100 #endif
7101 
7102 #endif
7103 
7104 /**
7105  * @}
7106  */