aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/x11-extension-implementation.h
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss@ulticom.com>2010-04-20 00:18:51 +0000
committerJeff Morriss <jeff.morriss@ulticom.com>2010-04-20 00:18:51 +0000
commitea254104154f58affdedbb6b641235e8c66a3049 (patch)
tree3ffe6b27bbd8427cd6747a44bcf5e02c7d56ec47 /epan/dissectors/x11-extension-implementation.h
parentc10087d7f4a907364c1a41be9038e5ea10e8096c (diff)
From Peter Harris via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4481 :
The XKEYBOARD extension is a pain in the... so XCB had to grow new ways to describe the protocol. This patch adds support to the Wireshark dissector, so it can successfully process the XCB description of the XKEYBOARD extension. Without this patch, "make x11-dissector" chokes on the current xcbproto from git. Also update the script to deal with the new mesa directory structure. svn path=/trunk/; revision=32520
Diffstat (limited to 'epan/dissectors/x11-extension-implementation.h')
-rw-r--r--epan/dissectors/x11-extension-implementation.h7743
1 files changed, 7728 insertions, 15 deletions
diff --git a/epan/dissectors/x11-extension-implementation.h b/epan/dissectors/x11-extension-implementation.h
index 813dbb3d2c..48eced50fe 100644
--- a/epan/dissectors/x11-extension-implementation.h
+++ b/epan/dissectors/x11-extension-implementation.h
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It was automatically generated by ../../tools/process-x11-xcb.pl
- using xcbproto version 1.5-5-g4f4d43e */
+ using xcbproto version 1.6-4-g2d873a3 */
/* $Id$ */
/*
@@ -4882,6 +4882,26 @@ static void register_bigreq(void)
set_handler("BIG-REQUESTS", dispatch_bigreq, bigreq_errors, bigreq_events, bigreq_replies);
}
+static void struct_POINT(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_x;
+ int f_y;
+
+ item = proto_tree_add_item(root, hf_x11_struct_POINT, tvb, *offsetp, 4, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_x = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_POINT_x, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_y = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_POINT_y, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ }
+}
+
static void struct_RECTANGLE(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
{
int i;
@@ -5955,6 +5975,370 @@ static void register_dpms(void)
set_handler("DPMS", dispatch_dpms, dpms_errors, dpms_events, dpms_replies);
}
+static void struct_DRI2Buffer(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_attachment;
+ int f_name;
+ int f_pitch;
+ int f_cpp;
+ int f_flags;
+
+ item = proto_tree_add_item(root, hf_x11_struct_DRI2Buffer, tvb, *offsetp, 20, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_attachment = field32(tvb, offsetp, t, hf_x11_struct_DRI2Buffer_attachment, little_endian);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_pitch = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_pitch, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_cpp = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_cpp, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_flags = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DRI2Buffer_flags, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+}
+
+static void struct_AttachFormat(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_attachment;
+ int f_format;
+
+ item = proto_tree_add_item(root, hf_x11_struct_AttachFormat, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_attachment = field32(tvb, offsetp, t, hf_x11_struct_AttachFormat_attachment, little_endian);
+ f_format = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_AttachFormat_format, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+}
+
+static void dri2QueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_major_version;
+ int f_minor_version;
+ f_major_version = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_QueryVersion_major_version, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_minor_version = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_QueryVersion_minor_version, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+static void dri2QueryVersion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_major_version;
+ int f_minor_version;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-QueryVersion");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (dri2-QueryVersion)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_major_version = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_QueryVersion_reply_major_version, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_minor_version = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_QueryVersion_reply_minor_version, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+
+static void dri2Connect(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_window;
+ int f_driver_type;
+ f_window = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_Connect_window, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_driver_type = field32(tvb, offsetp, t, hf_x11_dri2_Connect_driver_type, little_endian);
+}
+static void dri2Connect_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_driver_name_length;
+ int f_device_name_length;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-Connect");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (dri2-Connect)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_driver_name_length = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_Connect_reply_driver_name_length, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_device_name_length = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_Connect_reply_device_name_length, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(16);
+ listOfByte(tvb, offsetp, t, hf_x11_dri2_Connect_reply_driver_name, f_driver_name_length, little_endian);
+ listOfByte(tvb, offsetp, t, hf_x11_dri2_Connect_reply_device_name, f_device_name_length, little_endian);
+}
+
+static void dri2Authenticate(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_window;
+ int f_magic;
+ f_window = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_Authenticate_window, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_magic = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_Authenticate_magic, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+static void dri2Authenticate_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_authenticated;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-Authenticate");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (dri2-Authenticate)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_authenticated = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_Authenticate_reply_authenticated, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+
+static void dri2CreateDrawable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_drawable;
+ f_drawable = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_CreateDrawable_drawable, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+
+static void dri2DestroyDrawable(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_drawable;
+ f_drawable = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_DestroyDrawable_drawable, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+
+static void dri2GetBuffers(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_drawable;
+ int f_count;
+ f_drawable = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffers_drawable, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_count = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffers_count, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ listOfCard32(tvb, offsetp, t, hf_x11_dri2_GetBuffers_attachments, hf_x11_dri2_GetBuffers_attachments_item, (length - 12) / 4, little_endian);
+}
+static void dri2GetBuffers_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_width;
+ int f_height;
+ int f_count;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetBuffers");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (dri2-GetBuffers)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_width = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffers_reply_width, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_height = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffers_reply_height, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_count = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffers_reply_count, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(12);
+ struct_DRI2Buffer(tvb, offsetp, t, little_endian, f_count);
+}
+
+static void dri2CopyRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_drawable;
+ int f_region;
+ int f_dest;
+ int f_src;
+ f_drawable = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_CopyRegion_drawable, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_region = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_CopyRegion_region, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_dest = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_CopyRegion_dest, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_src = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_CopyRegion_src, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+static void dri2CopyRegion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-CopyRegion");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (dri2-CopyRegion)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+
+static void dri2GetBuffersWithFormat(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_drawable;
+ int f_count;
+ f_drawable = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_drawable, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_count = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_count, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ struct_AttachFormat(tvb, offsetp, t, little_endian, (length - 12) / 8);
+}
+static void dri2GetBuffersWithFormat_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_width;
+ int f_height;
+ int f_count;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetBuffersWithFormat");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (dri2-GetBuffersWithFormat)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_width = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_reply_width, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_height = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_reply_height, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_count = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_dri2_GetBuffersWithFormat_reply_count, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(12);
+ struct_DRI2Buffer(tvb, offsetp, t, little_endian, f_count);
+}
+static const value_string dri2_extension_minor[] = {
+ { 0, "QueryVersion" },
+ { 1, "Connect" },
+ { 2, "Authenticate" },
+ { 3, "CreateDrawable" },
+ { 4, "DestroyDrawable" },
+ { 5, "GetBuffers" },
+ { 6, "CopyRegion" },
+ { 7, "GetBuffersWithFormat" },
+ { 0, NULL }
+};
+const x11_event_info dri2_events[] = {
+ { NULL, NULL }
+};
+static x11_reply_info dri2_replies[] = {
+ { 0, dri2QueryVersion_Reply },
+ { 1, dri2Connect_Reply },
+ { 2, dri2Authenticate_Reply },
+ { 5, dri2GetBuffers_Reply },
+ { 6, dri2CopyRegion_Reply },
+ { 7, dri2GetBuffersWithFormat_Reply },
+ { 0, NULL }
+};
+
+static void dispatch_dri2(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int minor, length;
+ minor = CARD8(dri2_extension_minor);
+ length = REQUEST_LENGTH();
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-%s",
+ val_to_str(minor, dri2_extension_minor,
+ "<Unknown opcode %d>"));
+ switch (minor) {
+ case 0:
+ dri2QueryVersion(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 1:
+ dri2Connect(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 2:
+ dri2Authenticate(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 3:
+ dri2CreateDrawable(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 4:
+ dri2DestroyDrawable(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 5:
+ dri2GetBuffers(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 6:
+ dri2CopyRegion(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 7:
+ dri2GetBuffersWithFormat(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ /* No need for a default case here, since Unknown is printed above,
+ and UNDECODED() is taken care of by dissect_x11_request */
+ }
+}
+
+static void register_dri2(void)
+{
+ set_handler("DRI2", dispatch_dri2, dri2_errors, dri2_events, dri2_replies);
+}
+
static void geQueryVersion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
{
int f_client_major_version;
@@ -11303,7 +11687,6 @@ static void struct_NotifyData(tvbuff_t *tvb, int *offsetp, proto_tree *root, int
for (i = 0; i < count; i++) {
proto_item *item;
proto_tree *t;
-
item = proto_tree_add_item(root, hf_x11_union_NotifyData, tvb, base, 28, little_endian);
t = proto_item_add_subtree(item, ett_x11_rectangle);
@@ -14776,8 +15159,6 @@ static void xf86driOpenConnection(tvbuff_t *tvb, packet_info *pinfo _U_, int *of
static void xf86driOpenConnection_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
{
int f_length, length, sequence_number;
- int f_drm_client_key_low;
- int f_drm_client_key_high;
int f_sarea_handle_low;
int f_sarea_handle_high;
int f_bus_id_len;
@@ -14794,12 +15175,6 @@ static void xf86driOpenConnection_Reply(tvbuff_t *tvb, packet_info *pinfo, int *
length = f_length * 4 + 32;
proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
*offsetp += 4;
- f_drm_client_key_low = VALUE32(tvb, *offsetp);
- proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_reply_drm_client_key_low, tvb, *offsetp, 4, little_endian);
- *offsetp += 4;
- f_drm_client_key_high = VALUE32(tvb, *offsetp);
- proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_reply_drm_client_key_high, tvb, *offsetp, 4, little_endian);
- *offsetp += 4;
f_sarea_handle_low = VALUE32(tvb, *offsetp);
proto_tree_add_item(t, hf_x11_xf86dri_OpenConnection_reply_sarea_handle_low, tvb, *offsetp, 4, little_endian);
*offsetp += 4;
@@ -14866,15 +15241,15 @@ static void xf86driGetClientDriverName_Reply(tvbuff_t *tvb, packet_info *pinfo,
static void xf86driCreateContext(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
{
- int f_visual;
int f_screen;
+ int f_visual;
int f_context;
- f_visual = VALUE32(tvb, *offsetp);
- proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_visual, tvb, *offsetp, 4, little_endian);
- *offsetp += 4;
f_screen = VALUE32(tvb, *offsetp);
proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_screen, tvb, *offsetp, 4, little_endian);
*offsetp += 4;
+ f_visual = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_visual, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
f_context = VALUE32(tvb, *offsetp);
proto_tree_add_item(t, hf_x11_xf86dri_CreateContext_context, tvb, *offsetp, 4, little_endian);
*offsetp += 4;
@@ -16689,7 +17064,7 @@ static void xfixesFetchRegion_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offs
*offsetp += 4;
struct_RECTANGLE(tvb, offsetp, t, little_endian, 1);
UNUSED(16);
- struct_RECTANGLE(tvb, offsetp, t, little_endian, f_length);
+ struct_RECTANGLE(tvb, offsetp, t, little_endian, (f_length / 2));
}
static void xfixesSetGCClipRegion(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
@@ -18832,6 +19207,7342 @@ static void register_xinput(void)
set_handler("XInputExtension", dispatch_xinput, xinput_errors, xinput_events, xinput_replies);
}
+static void struct_AXOption(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ int base = *offsetp;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_fbopt;
+ int f_skopt;
+ item = proto_tree_add_item(root, hf_x11_union_AXOption, tvb, base, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+
+ *offsetp = base;
+ f_fbopt = field16(tvb, offsetp, t, hf_x11_union_AXOption_fbopt, little_endian);
+ *offsetp = base;
+ f_skopt = field16(tvb, offsetp, t, hf_x11_union_AXOption_skopt, little_endian);
+ base += 2;
+ }
+ *offsetp = base;
+}
+
+static void struct_IndicatorMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_flags;
+ int f_whichGroups;
+ int f_groups;
+ int f_whichMods;
+ int f_mods;
+ int f_realMods;
+ int f_vmods;
+ int f_ctrls;
+
+ item = proto_tree_add_item(root, hf_x11_struct_IndicatorMap, tvb, *offsetp, 12, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_flags = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_flags, little_endian);
+ f_whichGroups = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_whichGroups, little_endian);
+ f_groups = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_groups, little_endian);
+ f_whichMods = field8(tvb, offsetp, t, hf_x11_struct_IndicatorMap_whichMods, little_endian);
+ f_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_IndicatorMap_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_IndicatorMap_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_IndicatorMap_vmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_IndicatorMap_vmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_ctrls = field32(tvb, offsetp, t, hf_x11_struct_IndicatorMap_ctrls, little_endian);
+ }
+}
+
+static void struct_ModDef(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_mask;
+ int f_realMods;
+ int f_vmods;
+
+ item = proto_tree_add_item(root, hf_x11_struct_ModDef, tvb, *offsetp, 4, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModDef_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModDef_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_ModDef_vmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_ModDef_vmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+}
+
+static void struct_KeyName(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KeyName, tvb, *offsetp, 1, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_KeyName_name, 4, little_endian);
+ }
+}
+
+static void struct_KeyAlias(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KeyAlias, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_KeyAlias_real, 4, little_endian);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_KeyAlias_alias, 4, little_endian);
+ }
+}
+
+static int struct_size_CountedString16(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_length;
+ f_length = VALUE16(tvb, *offsetp + size + 0);
+ size += f_length * 1;
+ return size + 3;
+}
+
+static void struct_CountedString16(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_length;
+
+ item = proto_tree_add_item(root, hf_x11_struct_CountedString16, tvb, *offsetp, struct_size_CountedString16(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_length = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CountedString16_length, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ listOfByte(tvb, offsetp, t, hf_x11_struct_CountedString16_string, f_length, little_endian);
+ UNUSED(1);
+ }
+}
+
+static void struct_KTMapEntry(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_active;
+ int f_mods_mask;
+ int f_level;
+ int f_mods_mods;
+ int f_mods_vmods;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KTMapEntry, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_active = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KTMapEntry_active, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_mods_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTMapEntry_mods_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_level = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KTMapEntry_level, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_mods_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTMapEntry_mods_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_mods_vmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTMapEntry_mods_vmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTMapEntry_mods_vmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ UNUSED(2);
+ }
+}
+
+static int struct_size_KeyType(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_nMapEntries;
+ int f_hasPreserve;
+ f_nMapEntries = VALUE8(tvb, *offsetp + size + 5);
+ f_hasPreserve = VALUE8(tvb, *offsetp + size + 6);
+ size += f_nMapEntries * 8;
+ size += (f_hasPreserve * f_nMapEntries) * 4;
+ return size + 8;
+}
+
+static void struct_KeyType(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_mods_mask;
+ int f_mods_mods;
+ int f_mods_vmods;
+ int f_numLevels;
+ int f_nMapEntries;
+ int f_hasPreserve;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KeyType, tvb, *offsetp, struct_size_KeyType(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_mods_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyType_mods_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_mods_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyType_mods_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_mods_vmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyType_mods_vmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyType_mods_vmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_numLevels = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeyType_numLevels, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nMapEntries = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeyType_nMapEntries, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_hasPreserve = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeyType_hasPreserve, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ struct_KTMapEntry(tvb, offsetp, t, little_endian, f_nMapEntries);
+ struct_ModDef(tvb, offsetp, t, little_endian, (f_hasPreserve * f_nMapEntries));
+ }
+}
+
+static int struct_size_KeySymMap(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_nSyms;
+ f_nSyms = VALUE16(tvb, *offsetp + size + 6);
+ size += f_nSyms * 4;
+ return size + 8;
+}
+
+static void struct_KeySymMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_groupInfo;
+ int f_width;
+ int f_nSyms;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KeySymMap, tvb, *offsetp, struct_size_KeySymMap(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_KeySymMap_kt_index, 4, little_endian);
+ f_groupInfo = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeySymMap_groupInfo, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_width = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeySymMap_width, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nSyms = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeySymMap_nSyms, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ listOfCard32(tvb, offsetp, t, hf_x11_struct_KeySymMap_syms, hf_x11_struct_KeySymMap_syms_item, f_nSyms, little_endian);
+ }
+}
+
+static void struct_CommonBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_data;
+
+ item = proto_tree_add_item(root, hf_x11_struct_CommonBehavior, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonBehavior_type, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_data = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonBehavior_data, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_DefaultBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+
+ item = proto_tree_add_item(root, hf_x11_struct_DefaultBehavior, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DefaultBehavior_type, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ }
+}
+
+static void struct_RadioGroupBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_group;
+
+ item = proto_tree_add_item(root, hf_x11_struct_RadioGroupBehavior, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_RadioGroupBehavior_type, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_group = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_RadioGroupBehavior_group, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_Overlay1Behavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_key;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Overlay1Behavior, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Overlay1Behavior_type, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_key = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Overlay1Behavior_key, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_Overlay2Behavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_key;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Overlay2Behavior, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Overlay2Behavior_type, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_key = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Overlay2Behavior_key, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_Behavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ int base = *offsetp;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ item = proto_tree_add_item(root, hf_x11_union_Behavior, tvb, base, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+
+ *offsetp = base;
+ struct_CommonBehavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_DefaultBehavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_DefaultBehavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_RadioGroupBehavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_Overlay1Behavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_Overlay2Behavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_DefaultBehavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_RadioGroupBehavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_Overlay1Behavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_Overlay2Behavior(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ f_type = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_union_Behavior_type, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ base += 2;
+ }
+ *offsetp = base;
+}
+
+static void struct_SetBehavior(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_keycode;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SetBehavior, tvb, *offsetp, 4, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SetBehavior_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ struct_Behavior(tvb, offsetp, t, little_endian, 1);
+ UNUSED(1);
+ }
+}
+
+static void struct_SetExplicit(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_keycode;
+ int f_explicit;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SetExplicit, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SetExplicit_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_explicit = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetExplicit_explicit, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_KeyType4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_Interpret, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_AutoRepeat, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_Behavior, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetExplicit_explicit_mask_VModMap, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ }
+}
+
+static void struct_KeyModMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_keycode;
+ int f_mods;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KeyModMap, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeyModMap_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyModMap_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyModMap_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ }
+}
+
+static void struct_KeyVModMap(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_keycode;
+ int f_vmods;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KeyVModMap, tvb, *offsetp, 4, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KeyVModMap_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_vmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KeyVModMap_vmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KeyVModMap_vmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+}
+
+static void struct_KTSetMapEntry(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_level;
+ int f_realMods;
+ int f_virtualMods;
+
+ item = proto_tree_add_item(root, hf_x11_struct_KTSetMapEntry, tvb, *offsetp, 4, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_level = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_KTSetMapEntry_level, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTSetMapEntry_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_KTSetMapEntry_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_KTSetMapEntry_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+}
+
+static int struct_size_SetKeyType(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_nMapEntries;
+ int f_preserve;
+ f_nMapEntries = VALUE8(tvb, *offsetp + size + 5);
+ f_preserve = VALUE8(tvb, *offsetp + size + 6);
+ size += f_nMapEntries * 4;
+ size += (f_preserve * f_nMapEntries) * 4;
+ return size + 8;
+}
+
+static void struct_SetKeyType(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_mask;
+ int f_realMods;
+ int f_virtualMods;
+ int f_numLevels;
+ int f_nMapEntries;
+ int f_preserve;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SetKeyType, tvb, *offsetp, struct_size_SetKeyType(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetKeyType_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetKeyType_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SetKeyType_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SetKeyType_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_numLevels = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SetKeyType_numLevels, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nMapEntries = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SetKeyType_nMapEntries, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_preserve = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SetKeyType_preserve, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ struct_KTSetMapEntry(tvb, offsetp, t, little_endian, f_nMapEntries);
+ struct_KTSetMapEntry(tvb, offsetp, t, little_endian, (f_preserve * f_nMapEntries));
+ }
+}
+
+static int struct_size_Property(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_valueLength;
+ int f_nameLength;
+ f_nameLength = VALUE16(tvb, *offsetp + size + 0);
+ size += f_nameLength * 1;
+ f_valueLength = VALUE16(tvb, *offsetp + size + 2);
+ size += f_valueLength * 1;
+ return size + 4;
+}
+
+static void struct_Property(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_nameLength;
+ int f_valueLength;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Property, tvb, *offsetp, struct_size_Property(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_nameLength = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Property_nameLength, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ listOfByte(tvb, offsetp, t, hf_x11_struct_Property_name, f_nameLength, little_endian);
+ f_valueLength = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Property_valueLength, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ listOfByte(tvb, offsetp, t, hf_x11_struct_Property_value, f_valueLength, little_endian);
+ }
+}
+
+static int struct_size_Outline(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_nPoints;
+ f_nPoints = VALUE8(tvb, *offsetp + size + 0);
+ size += f_nPoints * 4;
+ return size + 4;
+}
+
+static void struct_Outline(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_nPoints;
+ int f_cornerRadius;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Outline, tvb, *offsetp, struct_size_Outline(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_nPoints = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Outline_nPoints, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_cornerRadius = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Outline_cornerRadius, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ struct_POINT(tvb, offsetp, t, little_endian, f_nPoints);
+ }
+}
+
+static int struct_size_Shape(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int i, off;
+ int f_nOutlines;
+ f_nOutlines = VALUE8(tvb, *offsetp + size + 4);
+ for (i = 0; i < f_nOutlines; i++) {
+ off = (*offsetp) + size + 8;
+ size += struct_size_Outline(tvb, &off, little_endian);
+ }
+ return size + 8;
+}
+
+static void struct_Shape(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_nOutlines;
+ int f_primaryNdx;
+ int f_approxNdx;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Shape, tvb, *offsetp, struct_size_Shape(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Shape_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nOutlines = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Shape_nOutlines, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_primaryNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Shape_primaryNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_approxNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Shape_approxNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ struct_Outline(tvb, offsetp, t, little_endian, f_nOutlines);
+ }
+}
+
+static void struct_Key(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_gap;
+ int f_shapeNdx;
+ int f_colorNdx;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Key, tvb, *offsetp, 5, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_Key_name, 4, little_endian);
+ f_gap = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Key_gap, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_shapeNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Key_shapeNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_colorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Key_colorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_OverlayKey(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+
+ item = proto_tree_add_item(root, hf_x11_struct_OverlayKey, tvb, *offsetp, 2, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_OverlayKey_over, 4, little_endian);
+ listOfByte(tvb, offsetp, t, hf_x11_struct_OverlayKey_under, 4, little_endian);
+ }
+}
+
+static int struct_size_OverlayRow(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_nKeys;
+ f_nKeys = VALUE8(tvb, *offsetp + size + 1);
+ size += f_nKeys * 2;
+ return size + 4;
+}
+
+static void struct_OverlayRow(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_rowUnder;
+ int f_nKeys;
+
+ item = proto_tree_add_item(root, hf_x11_struct_OverlayRow, tvb, *offsetp, struct_size_OverlayRow(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_rowUnder = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_OverlayRow_rowUnder, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_OverlayRow_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ struct_OverlayKey(tvb, offsetp, t, little_endian, f_nKeys);
+ }
+}
+
+static int struct_size_Overlay(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int i, off;
+ int f_nRows;
+ f_nRows = VALUE8(tvb, *offsetp + size + 4);
+ for (i = 0; i < f_nRows; i++) {
+ off = (*offsetp) + size + 8;
+ size += struct_size_OverlayRow(tvb, &off, little_endian);
+ }
+ return size + 8;
+}
+
+static void struct_Overlay(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_nRows;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Overlay, tvb, *offsetp, struct_size_Overlay(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Overlay_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nRows = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Overlay_nRows, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(3);
+ struct_OverlayRow(tvb, offsetp, t, little_endian, f_nRows);
+ }
+}
+
+static int struct_size_Row(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_nKeys;
+ f_nKeys = VALUE8(tvb, *offsetp + size + 4);
+ size += f_nKeys * 5;
+ return size + 8;
+}
+
+static void struct_Row(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_top;
+ int f_left;
+ int f_nKeys;
+ int f_vertical;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Row, tvb, *offsetp, struct_size_Row(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Row_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Row_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Row_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_vertical = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Row_vertical, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ struct_Key(tvb, offsetp, t, little_endian, f_nKeys);
+ }
+}
+
+static void struct_CommonDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_type;
+ int f_priority;
+ int f_top;
+ int f_left;
+ int f_angle;
+
+ item = proto_tree_add_item(root, hf_x11_struct_CommonDoodad, tvb, *offsetp, 12, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonDoodad_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_CommonDoodad_type, little_endian);
+ f_priority = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonDoodad_priority, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonDoodad_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonDoodad_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_angle = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_CommonDoodad_angle, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ }
+}
+
+static void struct_ShapeDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_type;
+ int f_priority;
+ int f_top;
+ int f_left;
+ int f_angle;
+ int f_colorNdx;
+ int f_shapeNdx;
+
+ item = proto_tree_add_item(root, hf_x11_struct_ShapeDoodad, tvb, *offsetp, 20, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_ShapeDoodad_type, little_endian);
+ f_priority = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_priority, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_angle = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_angle, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_colorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_colorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_shapeNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_ShapeDoodad_shapeNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(6);
+ }
+}
+
+static void struct_TextDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_type;
+ int f_priority;
+ int f_top;
+ int f_left;
+ int f_angle;
+ int f_width;
+ int f_height;
+ int f_colorNdx;
+
+ item = proto_tree_add_item(root, hf_x11_struct_TextDoodad, tvb, *offsetp, 20, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_TextDoodad_type, little_endian);
+ f_priority = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_priority, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_angle = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_angle, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_width = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_width, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_height = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_height, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_colorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_TextDoodad_colorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(3);
+ struct_CountedString16(tvb, offsetp, t, little_endian, 1);
+ struct_CountedString16(tvb, offsetp, t, little_endian, 1);
+ }
+}
+
+static void struct_IndicatorDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_type;
+ int f_priority;
+ int f_top;
+ int f_left;
+ int f_angle;
+ int f_shapeNdx;
+ int f_onColorNdx;
+ int f_offColorNdx;
+
+ item = proto_tree_add_item(root, hf_x11_struct_IndicatorDoodad, tvb, *offsetp, 20, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_IndicatorDoodad_type, little_endian);
+ f_priority = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_priority, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_angle = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_angle, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_shapeNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_shapeNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_onColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_onColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_offColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_IndicatorDoodad_offColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(5);
+ }
+}
+
+static void struct_LogoDoodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_type;
+ int f_priority;
+ int f_top;
+ int f_left;
+ int f_angle;
+ int f_colorNdx;
+ int f_shapeNdx;
+
+ item = proto_tree_add_item(root, hf_x11_struct_LogoDoodad, tvb, *offsetp, 20, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_LogoDoodad_type, little_endian);
+ f_priority = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_priority, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_angle = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_angle, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_colorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_colorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_shapeNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_LogoDoodad_shapeNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(6);
+ struct_CountedString16(tvb, offsetp, t, little_endian, 1);
+ }
+}
+
+static void struct_Doodad(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ int base = *offsetp;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ item = proto_tree_add_item(root, hf_x11_union_Doodad, tvb, base, 20, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+
+ *offsetp = base;
+ struct_CommonDoodad(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_ShapeDoodad(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_TextDoodad(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_IndicatorDoodad(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_LogoDoodad(tvb, offsetp, t, little_endian, 1);
+ base += 20;
+ }
+ *offsetp = base;
+}
+
+static int struct_size_Section(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int i, off;
+ int f_nOverlays;
+ int f_nDoodads;
+ int f_nRows;
+ f_nRows = VALUE8(tvb, *offsetp + size + 15);
+ f_nDoodads = VALUE8(tvb, *offsetp + size + 16);
+ f_nOverlays = VALUE8(tvb, *offsetp + size + 17);
+ for (i = 0; i < f_nRows; i++) {
+ off = (*offsetp) + size + 20;
+ size += struct_size_Row(tvb, &off, little_endian);
+ }
+ size += f_nDoodads * 20;
+ for (i = 0; i < f_nOverlays; i++) {
+ off = (*offsetp) + size + 20;
+ size += struct_size_Overlay(tvb, &off, little_endian);
+ }
+ return size + 20;
+}
+
+static void struct_Section(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_name;
+ int f_top;
+ int f_left;
+ int f_width;
+ int f_height;
+ int f_angle;
+ int f_priority;
+ int f_nRows;
+ int f_nDoodads;
+ int f_nOverlays;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Section, tvb, *offsetp, struct_size_Section(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_top = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_top, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_left = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_left, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_width = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_width, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_height = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_height, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_angle = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_angle, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_priority = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_priority, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nRows = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_nRows, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nDoodads = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_nDoodads, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nOverlays = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Section_nOverlays, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ struct_Row(tvb, offsetp, t, little_endian, f_nRows);
+ struct_Doodad(tvb, offsetp, t, little_endian, f_nDoodads);
+ struct_Overlay(tvb, offsetp, t, little_endian, f_nOverlays);
+ }
+}
+
+static int struct_size_Listing(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_length;
+ f_length = VALUE16(tvb, *offsetp + size + 2);
+ size += f_length * 1;
+ return size + 4;
+}
+
+static void struct_Listing(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_flags;
+ int f_length;
+
+ item = proto_tree_add_item(root, hf_x11_struct_Listing, tvb, *offsetp, struct_size_Listing(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_flags = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Listing_flags, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_length = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_Listing_length, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ listOfByte(tvb, offsetp, t, hf_x11_struct_Listing_string, f_length, little_endian);
+ }
+}
+
+static int struct_size_DeviceLedInfo(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
+{
+ int size = 0;
+ int f_mapsPresent;
+ int f_namesPresent;
+ f_namesPresent = VALUE32(tvb, *offsetp + size + 4);
+ f_mapsPresent = VALUE32(tvb, *offsetp + size + 8);
+ size += popcount(f_namesPresent) * 4;
+ size += popcount(f_mapsPresent) * 12;
+ return size + 20;
+}
+
+static void struct_DeviceLedInfo(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_ledClass;
+ int f_ledID;
+ int f_namesPresent;
+ int f_mapsPresent;
+ int f_physIndicators;
+ int f_state;
+
+ item = proto_tree_add_item(root, hf_x11_struct_DeviceLedInfo, tvb, *offsetp, struct_size_DeviceLedInfo(tvb, offsetp, little_endian), little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_ledClass = field16(tvb, offsetp, t, hf_x11_struct_DeviceLedInfo_ledClass, little_endian);
+ f_ledID = field16(tvb, offsetp, t, hf_x11_struct_DeviceLedInfo_ledID, little_endian);
+ f_namesPresent = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_namesPresent, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_mapsPresent = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_mapsPresent, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_physIndicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_physIndicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_state = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_DeviceLedInfo_state, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ listOfCard32(tvb, offsetp, t, hf_x11_struct_DeviceLedInfo_names, hf_x11_struct_DeviceLedInfo_names_item, popcount(f_namesPresent), little_endian);
+ struct_IndicatorMap(tvb, offsetp, t, little_endian, popcount(f_mapsPresent));
+ }
+}
+
+static void struct_SANoAction(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SANoAction, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SANoAction_type, little_endian);
+ UNUSED(7);
+ }
+}
+
+static void struct_SASetMods(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_mask;
+ int f_realMods;
+ int f_vmodsHigh;
+ int f_vmodsLow;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SASetMods, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetMods_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_flags_mask_ClearLocks, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_flags_mask_LatchToLock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_flags_mask_GroupAbsolute, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsHigh = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_vmodsHigh, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_8, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_9, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_10, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_11, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_12, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_13, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_14, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsHigh_mask_15, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsLow = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetMods_vmodsLow, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_0, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_6, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetMods_vmodsLow_mask_7, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(2);
+ }
+}
+
+static void struct_SASetGroup(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_group;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SASetGroup, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetGroup_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetGroup_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetGroup_flags_mask_ClearLocks, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetGroup_flags_mask_LatchToLock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetGroup_flags_mask_GroupAbsolute, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_group = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SASetGroup_group, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(5);
+ }
+}
+
+static void struct_SAMovePtr(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_xHigh;
+ int f_xLow;
+ int f_yHigh;
+ int f_yLow;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SAMovePtr, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SAMovePtr_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAMovePtr_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAMovePtr_flags_mask_NoAcceleration, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAMovePtr_flags_mask_MoveAbsoluteX, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAMovePtr_flags_mask_MoveAbsoluteY, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_xHigh = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAMovePtr_xHigh, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_xLow = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAMovePtr_xLow, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_yHigh = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAMovePtr_yHigh, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_yLow = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAMovePtr_yLow, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ }
+}
+
+static void struct_SAPtrBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_count;
+ int f_button;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SAPtrBtn, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SAPtrBtn_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAPtrBtn_flags, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_count = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAPtrBtn_count, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_button = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAPtrBtn_button, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(4);
+ }
+}
+
+static void struct_SALockPtrBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_button;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SALockPtrBtn, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SALockPtrBtn_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SALockPtrBtn_flags, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_button = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SALockPtrBtn_button, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(4);
+ }
+}
+
+static void struct_SASetPtrDflt(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_affect;
+ int f_value;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SASetPtrDflt, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetPtrDflt_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetPtrDflt_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_flags_mask_AffectDfltButton, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_flags_mask_DfltBtnAbsolute, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_affect = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetPtrDflt_affect, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_affect_mask_AffectDfltButton, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetPtrDflt_affect_mask_DfltBtnAbsolute, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_value = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SASetPtrDflt_value, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(4);
+ }
+}
+
+static void struct_SAIsoLock(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_mask;
+ int f_realMods;
+ int f_group;
+ int f_affect;
+ int f_vmodsHigh;
+ int f_vmodsLow;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SAIsoLock, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SAIsoLock_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_NoLock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_NoUnlock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_GroupAbsolute, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_flags_mask_ISODfltIsGroup, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_group = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SAIsoLock_group, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_affect = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_affect, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Ctrls, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Ptr, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Group, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_affect_mask_Mods, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsHigh = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_vmodsHigh, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_8, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_9, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_10, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_11, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_12, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_13, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_14, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsHigh_mask_15, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsLow = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAIsoLock_vmodsLow, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_0, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_6, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAIsoLock_vmodsLow_mask_7, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ }
+}
+
+static void struct_SATerminate(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SATerminate, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SATerminate_type, little_endian);
+ UNUSED(7);
+ }
+}
+
+static void struct_SASwitchScreen(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_newScreen;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SASwitchScreen, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SASwitchScreen_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SASwitchScreen_flags, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_newScreen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SASwitchScreen_newScreen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(5);
+ }
+}
+
+static void struct_SASetControls(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_boolCtrlsHigh;
+ int f_boolCtrlsLow;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SASetControls, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SASetControls_type, little_endian);
+ UNUSED(3);
+ f_boolCtrlsHigh = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetControls_boolCtrlsHigh, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_AccessXFeedback, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_AudibleBell, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_Overlay1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_Overlay2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsHigh_mask_IgnoreGroupLock, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_boolCtrlsLow = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SASetControls_boolCtrlsLow, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_RepeatKeys, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_SlowKeys, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_BounceKeys, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_StickyKeys, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_MouseKeys, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_MouseKeysAccel, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_AccessXKeys, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SASetControls_boolCtrlsLow_mask_AccessXTimeout, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(2);
+ }
+}
+
+static void struct_SAActionMessage(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SAActionMessage, tvb, *offsetp, 3, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SAActionMessage_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SAActionMessage_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAActionMessage_flags_mask_OnPress, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAActionMessage_flags_mask_OnRelease, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SAActionMessage_flags_mask_GenKeyEvent, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_struct_SAActionMessage_message, 6, little_endian);
+ }
+}
+
+static void struct_SARedirectKey(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_newkey;
+ int f_mask;
+ int f_realModifiers;
+ int f_vmodsMaskHigh;
+ int f_vmodsMaskLow;
+ int f_vmodsHigh;
+ int f_vmodsLow;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SARedirectKey, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SARedirectKey_type, little_endian);
+ f_newkey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SARedirectKey_newkey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_mask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_mask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_mask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_realModifiers = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_realModifiers, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_realModifiers_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsMaskHigh = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsMaskHigh, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_8, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_9, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_10, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_11, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_12, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_13, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_14, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskHigh_mask_15, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsMaskLow = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsMaskLow, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_0, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_6, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsMaskLow_mask_7, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsHigh = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsHigh, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_8, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_9, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_10, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_11, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_12, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_13, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_14, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsHigh_mask_15, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_vmodsLow = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SARedirectKey_vmodsLow, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_0, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_6, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SARedirectKey_vmodsLow_mask_7, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ }
+}
+
+static void struct_SADeviceBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_count;
+ int f_button;
+ int f_device;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SADeviceBtn, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SADeviceBtn_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_flags, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_count = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_count, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_button = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_button, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_device = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceBtn_device, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(3);
+ }
+}
+
+static void struct_SALockDeviceBtn(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_flags;
+ int f_button;
+ int f_device;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SALockDeviceBtn, tvb, *offsetp, 5, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SALockDeviceBtn_type, little_endian);
+ f_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_struct_SALockDeviceBtn_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SALockDeviceBtn_flags_mask_NoLock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_struct_SALockDeviceBtn_flags_mask_NoUnlock, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(1);
+ f_button = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SALockDeviceBtn_button, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_device = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SALockDeviceBtn_device, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_SADeviceValuator(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ int f_device;
+ int f_val1what;
+ int f_val1index;
+ int f_val1value;
+ int f_val2what;
+ int f_val2index;
+ int f_val2value;
+
+ item = proto_tree_add_item(root, hf_x11_struct_SADeviceValuator, tvb, *offsetp, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+ f_type = field8(tvb, offsetp, t, hf_x11_struct_SADeviceValuator_type, little_endian);
+ f_device = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_device, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_val1what = field8(tvb, offsetp, t, hf_x11_struct_SADeviceValuator_val1what, little_endian);
+ f_val1index = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val1index, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_val1value = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val1value, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_val2what = field8(tvb, offsetp, t, hf_x11_struct_SADeviceValuator_val2what, little_endian);
+ f_val2index = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val2index, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_val2value = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_struct_SADeviceValuator_val2value, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+}
+
+static void struct_Action(tvbuff_t *tvb, int *offsetp, proto_tree *root, int little_endian, int count)
+{
+ int i;
+ int base = *offsetp;
+ for (i = 0; i < count; i++) {
+ proto_item *item;
+ proto_tree *t;
+ int f_type;
+ item = proto_tree_add_item(root, hf_x11_union_Action, tvb, base, 8, little_endian);
+ t = proto_item_add_subtree(item, ett_x11_rectangle);
+
+ *offsetp = base;
+ struct_SANoAction(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetMods(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetMods(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetMods(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetGroup(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetGroup(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetGroup(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SAMovePtr(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SAPtrBtn(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SALockPtrBtn(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetPtrDflt(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SAIsoLock(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SATerminate(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASwitchScreen(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetControls(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SASetControls(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SAActionMessage(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SARedirectKey(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SADeviceBtn(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SALockDeviceBtn(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ struct_SADeviceValuator(tvb, offsetp, t, little_endian, 1);
+ *offsetp = base;
+ f_type = field8(tvb, offsetp, t, hf_x11_union_Action_type, little_endian);
+ base += 8;
+ }
+ *offsetp = base;
+}
+
+static void xkbUseExtension(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_wantedMajor;
+ int f_wantedMinor;
+ f_wantedMajor = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_UseExtension_wantedMajor, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_wantedMinor = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_UseExtension_wantedMinor, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+}
+static void xkbUseExtension_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_supported;
+ int f_serverMajor;
+ int f_serverMinor;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-UseExtension");
+
+ REPLY(reply);
+ f_supported = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_UseExtension_reply_supported, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-UseExtension)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_serverMajor = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_UseExtension_reply_serverMajor, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_serverMinor = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_UseExtension_reply_serverMinor, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(20);
+}
+
+static void xkbSelectEvents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_affectWhich;
+ int f_clear;
+ int f_selectAll;
+ int f_affectMap;
+ int f_map;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_affectWhich = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_affectWhich, little_endian);
+ f_clear = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_clear, little_endian);
+ f_selectAll = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_selectAll, little_endian);
+ f_affectMap = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_affectMap, little_endian);
+ f_map = field16(tvb, offsetp, t, hf_x11_xkb_SelectEvents_map, little_endian);
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 0)) != 0) {
+ int f_affectNewKeyboard;
+ int f_newKeyboardDetails;
+ f_affectNewKeyboard = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard_mask_Keycodes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_affectNewKeyboard_mask_DeviceID, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_newKeyboardDetails = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails_mask_Keycodes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NewKeyboardNotify_newKeyboardDetails_mask_DeviceID, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 2)) != 0) {
+ int f_affectState;
+ int f_stateDetails;
+ f_affectState = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_StateNotify_affectState, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierBase, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierLatch, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_ModifierLock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupBase, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupLatch, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GroupLock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_CompatState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_GrabMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_CompatGrabMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_LookupMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_CompatLookupMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_affectState_mask_PointerButtons, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_stateDetails = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_StateNotify_stateDetails, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierBase, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierLatch, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_ModifierLock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupBase, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupLatch, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GroupLock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_CompatState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_GrabMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_CompatGrabMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_LookupMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_CompatLookupMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_StateNotify_stateDetails_mask_PointerButtons, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 3)) != 0) {
+ int f_affectCtrls;
+ int f_ctrlDetails;
+ f_affectCtrls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_GroupsWrap, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_InternalMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_IgnoreLockMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_PerKeyRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_affectCtrls_mask_ControlsEnabled, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_ctrlDetails = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_GroupsWrap, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_InternalMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_IgnoreLockMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_PerKeyRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ControlsNotify_ctrlDetails_mask_ControlsEnabled, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 4)) != 0) {
+ int f_affectIndicatorState;
+ int f_indicatorStateDetails;
+ f_affectIndicatorState = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorStateNotify_affectIndicatorState, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_indicatorStateDetails = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorStateNotify_indicatorStateDetails, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 5)) != 0) {
+ int f_affectIndicatorMap;
+ int f_indicatorMapDetails;
+ f_affectIndicatorMap = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorMapNotify_affectIndicatorMap, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_indicatorMapDetails = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_IndicatorMapNotify_indicatorMapDetails, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 6)) != 0) {
+ int f_affectNames;
+ int f_namesDetails;
+ f_affectNames = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NamesNotify_affectNames, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Keycodes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Symbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_PhysSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_Compat, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KeyTypeNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KTLevelNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_KeyAliases, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_VirtualModNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_GroupNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_affectNames_mask_RGNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_namesDetails = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Keycodes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Symbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_PhysSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_Compat, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KeyTypeNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KTLevelNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_KeyAliases, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_VirtualModNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_GroupNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_NamesNotify_namesDetails_mask_RGNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 7)) != 0) {
+ int f_affectCompat;
+ int f_compatDetails;
+ f_affectCompat = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_CompatMapNotify_affectCompat, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_affectCompat_mask_SymInterp, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_affectCompat_mask_GroupCompat, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_compatDetails = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_CompatMapNotify_compatDetails, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_compatDetails_mask_SymInterp, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_CompatMapNotify_compatDetails_mask_GroupCompat, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 8)) != 0) {
+ int f_affectBell;
+ int f_bellDetails;
+ f_affectBell = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_BellNotify_affectBell, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_bellDetails = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_BellNotify_bellDetails, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 9)) != 0) {
+ int f_affectMsgDetails;
+ int f_msgDetails;
+ f_affectMsgDetails = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ActionMessage_affectMsgDetails, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_msgDetails = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ActionMessage_msgDetails, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 10)) != 0) {
+ int f_affectAccessX;
+ int f_accessXDetails;
+ f_affectAccessX = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKPress, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKAccept, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKReject, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_SKRelease, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_BKAccept, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_BKReject, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_affectAccessX_mask_AXKWarning, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_accessXDetails = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKPress, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKAccept, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKReject, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_SKRelease, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_BKAccept, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_BKReject, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_AccessXNotify_accessXDetails_mask_AXKWarning, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+ if (((f_affectWhich & ((~f_clear) & (~f_selectAll))) & (1 << 11)) != 0) {
+ int f_affectExtDev;
+ int f_extdevDetails;
+ f_affectExtDev = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_affectExtDev_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_extdevDetails = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SelectEvents_ExtensionDeviceNotify_extdevDetails_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ }
+}
+
+static void xkbBell(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_bellClass;
+ int f_bellID;
+ int f_percent;
+ int f_forceSound;
+ int f_eventOnly;
+ int f_pitch;
+ int f_duration;
+ int f_name;
+ int f_window;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_bellClass = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_bellClass, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_bellID = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_bellID, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_percent = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_percent, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_forceSound = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_forceSound, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_eventOnly = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_eventOnly, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_pitch = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_pitch, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_duration = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_duration, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_window = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_Bell_window, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+
+static void xkbGetState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetState_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+}
+static void xkbGetState_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_mods;
+ int f_baseMods;
+ int f_latchedMods;
+ int f_lockedMods;
+ int f_group;
+ int f_lockedGroup;
+ int f_baseGroup;
+ int f_latchedGroup;
+ int f_compatState;
+ int f_grabMods;
+ int f_compatGrabMods;
+ int f_compatLookupMods;
+ int f_ptrBtnState;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetState");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetState_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetState)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_baseMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_baseMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_baseMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_latchedMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_latchedMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_latchedMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_lockedMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_lockedMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_lockedMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_group = field8(tvb, offsetp, t, hf_x11_xkb_GetState_reply_group, little_endian);
+ f_lockedGroup = field8(tvb, offsetp, t, hf_x11_xkb_GetState_reply_lockedGroup, little_endian);
+ f_baseGroup = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetState_reply_baseGroup, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_latchedGroup = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetState_reply_latchedGroup, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_compatState = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_compatState, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatState_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_grabMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_grabMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_grabMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_compatGrabMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_compatGrabMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatGrabMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_compatLookupMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_compatLookupMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_compatLookupMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(1);
+ f_ptrBtnState = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetState_reply_ptrBtnState, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Shift, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Lock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Control, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Mod5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetState_reply_ptrBtnState_mask_Button5, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ UNUSED(6);
+}
+
+static void xkbLatchLockState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_affectModLocks;
+ int f_modLocks;
+ int f_lockGroup;
+ int f_groupLock;
+ int f_affectModLatches;
+ int f_latchGroup;
+ int f_groupLatch;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_LatchLockState_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_affectModLocks = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_LatchLockState_affectModLocks, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLocks_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_modLocks = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_LatchLockState_modLocks, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_modLocks_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_lockGroup = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_LatchLockState_lockGroup, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupLock = field8(tvb, offsetp, t, hf_x11_xkb_LatchLockState_groupLock, little_endian);
+ f_affectModLatches = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_LatchLockState_affectModLatches, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_LatchLockState_affectModLatches_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(1);
+ f_latchGroup = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_LatchLockState_latchGroup, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupLatch = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_LatchLockState_groupLatch, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+}
+
+static void xkbGetControls(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+}
+static void xkbGetControls_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_mouseKeysDfltBtn;
+ int f_numGroups;
+ int f_groupsWrap;
+ int f_internalModsMask;
+ int f_ignoreLockModsMask;
+ int f_internalModsRealMods;
+ int f_ignoreLockModsRealMods;
+ int f_internalModsVmods;
+ int f_ignoreLockModsVmods;
+ int f_repeatDelay;
+ int f_repeatInterval;
+ int f_slowKeysDelay;
+ int f_debounceDelay;
+ int f_mouseKeysDelay;
+ int f_mouseKeysInterval;
+ int f_mouseKeysTimeToMax;
+ int f_mouseKeysMaxSpeed;
+ int f_mouseKeysCurve;
+ int f_accessXTimeout;
+ int f_accessXTimeoutMask;
+ int f_accessXTimeoutValues;
+ int f_enabledControls;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetControls");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetControls)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_mouseKeysDfltBtn = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysDfltBtn, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_numGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_numGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupsWrap = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_groupsWrap, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_internalModsMask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_internalModsMask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsMask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_ignoreLockModsMask = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_ignoreLockModsMask, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsMask_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_internalModsRealMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_internalModsRealMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsRealMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_ignoreLockModsRealMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsRealMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(1);
+ f_internalModsVmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_internalModsVmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_internalModsVmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_ignoreLockModsVmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetControls_reply_ignoreLockModsVmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_repeatDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_repeatDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_repeatInterval = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_repeatInterval, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_slowKeysDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_slowKeysDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_debounceDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_debounceDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysInterval = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysInterval, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysTimeToMax = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysTimeToMax, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysMaxSpeed = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysMaxSpeed, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysCurve = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_mouseKeysCurve, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ struct_AXOption(tvb, offsetp, t, little_endian, 1);
+ f_accessXTimeout = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetControls_reply_accessXTimeout, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ struct_AXOption(tvb, offsetp, t, little_endian, 1);
+ struct_AXOption(tvb, offsetp, t, little_endian, 1);
+ UNUSED(2);
+ f_accessXTimeoutMask = field32(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_accessXTimeoutMask, little_endian);
+ f_accessXTimeoutValues = field32(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_accessXTimeoutValues, little_endian);
+ f_enabledControls = field32(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_enabledControls, little_endian);
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetControls_reply_perKeyRepeat, 32, little_endian);
+}
+
+static void xkbSetControls(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_affectInternalRealMods;
+ int f_interanlRealMods;
+ int f_affectIgnoreLockRealMods;
+ int f_ignoreLockRealMods;
+ int f_affectInternalVirtualMods;
+ int f_internalVirtualMods;
+ int f_affectInternalLockVirtualMods;
+ int f_internalLockVirtualMods;
+ int f_mouseKeysDfltBtn;
+ int f_groupsWrap;
+ int f_affectEnabledControls;
+ int f_enabledControls;
+ int f_changeControls;
+ int f_repeatDelay;
+ int f_repeatInterval;
+ int f_slowKeysDelay;
+ int f_debounceDelay;
+ int f_mouseKeysDelay;
+ int f_mouseKeysInterval;
+ int f_mouseKeysTimeToMax;
+ int f_mouseKeysMaxSpeed;
+ int f_mouseKeysCurve;
+ int f_accessXTimeout;
+ int f_accessXTimeoutMask;
+ int f_accessXTimeoutValues;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_affectInternalRealMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectInternalRealMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalRealMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_interanlRealMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_interanlRealMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_interanlRealMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_affectIgnoreLockRealMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectIgnoreLockRealMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectIgnoreLockRealMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_ignoreLockRealMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_ignoreLockRealMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_ignoreLockRealMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_affectInternalVirtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectInternalVirtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalVirtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_internalVirtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_internalVirtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalVirtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_affectInternalLockVirtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_affectInternalLockVirtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_affectInternalLockVirtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_internalLockVirtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_internalLockVirtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_internalLockVirtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_mouseKeysDfltBtn = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysDfltBtn, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupsWrap = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_groupsWrap, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ struct_AXOption(tvb, offsetp, t, little_endian, 1);
+ UNUSED(2);
+ f_affectEnabledControls = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_affectEnabledControls, little_endian);
+ f_enabledControls = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_enabledControls, little_endian);
+ f_changeControls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetControls_changeControls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_GroupsWrap, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_InternalMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_IgnoreLockMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_PerKeyRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetControls_changeControls_mask_ControlsEnabled, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_repeatDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_repeatDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_repeatInterval = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_repeatInterval, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_slowKeysDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_slowKeysDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_debounceDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_debounceDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysInterval = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysInterval, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysTimeToMax = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysTimeToMax, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysMaxSpeed = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysMaxSpeed, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_mouseKeysCurve = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_mouseKeysCurve, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_accessXTimeout = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetControls_accessXTimeout, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_accessXTimeoutMask = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_accessXTimeoutMask, little_endian);
+ f_accessXTimeoutValues = field32(tvb, offsetp, t, hf_x11_xkb_SetControls_accessXTimeoutValues, little_endian);
+ struct_AXOption(tvb, offsetp, t, little_endian, 1);
+ struct_AXOption(tvb, offsetp, t, little_endian, 1);
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_SetControls_perKeyRepeat, 32, little_endian);
+ length -= 32 * 1;
+}
+
+static void xkbGetMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_full;
+ int f_partial;
+ int f_firstType;
+ int f_nTypes;
+ int f_firstKeySym;
+ int f_nKeySyms;
+ int f_firstKeyAction;
+ int f_nKeyActions;
+ int f_firstKeyBehavior;
+ int f_nKeyBehaviors;
+ int f_virtualMods;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_full = field16(tvb, offsetp, t, hf_x11_xkb_GetMap_full, little_endian);
+ f_partial = field16(tvb, offsetp, t, hf_x11_xkb_GetMap_partial, little_endian);
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyAction = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeyAction, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeyActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetMap_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+}
+static void xkbGetMap_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_minKeyCode;
+ int f_maxKeyCode;
+ int f_present;
+ int f_firstType;
+ int f_nTypes;
+ int f_totalTypes;
+ int f_firstKeySym;
+ int f_totalSyms;
+ int f_nKeySyms;
+ int f_firstKeyAction;
+ int f_totalActions;
+ int f_nKeyActions;
+ int f_firstKeyBehavior;
+ int f_nKeyBehaviors;
+ int f_totalKeyBehaviors;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_totalKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_totalModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ int f_totalVModMapKeys;
+ int f_virtualMods;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetMap");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetMap)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(2);
+ f_minKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_minKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_maxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_maxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetMap_reply_present, little_endian);
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalSyms = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalSyms, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyAction = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeyAction, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalActions = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalActions, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeyActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_totalVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetMap_reply_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetMap_reply_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ if ((f_present & (1 << 0)) != 0) {
+ struct_KeyType(tvb, offsetp, t, little_endian, f_nTypes);
+ }
+ if ((f_present & (1 << 1)) != 0) {
+ struct_KeySymMap(tvb, offsetp, t, little_endian, f_nKeySyms);
+ }
+ if ((f_present & (1 << 4)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetMap_reply_KeyActions_acts_rtrn_count, f_nKeyActions, little_endian);
+ struct_Action(tvb, offsetp, t, little_endian, f_totalActions);
+ }
+ if ((f_present & (1 << 5)) != 0) {
+ struct_SetBehavior(tvb, offsetp, t, little_endian, f_totalKeyBehaviors);
+ }
+ if ((f_present & (1 << 6)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetMap_reply_VirtualMods_vmods_rtrn, f_nVModMapKeys, little_endian);
+ }
+ if ((f_present & (1 << 3)) != 0) {
+ struct_SetExplicit(tvb, offsetp, t, little_endian, f_totalKeyExplicit);
+ }
+ if ((f_present & (1 << 2)) != 0) {
+ struct_KeyModMap(tvb, offsetp, t, little_endian, f_totalModMapKeys);
+ }
+ if ((f_present & (1 << 7)) != 0) {
+ struct_KeyVModMap(tvb, offsetp, t, little_endian, f_totalVModMapKeys);
+ }
+}
+
+static void xkbSetMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_present;
+ int f_flags;
+ int f_minKeyCode;
+ int f_maxKeyCode;
+ int f_firstType;
+ int f_nTypes;
+ int f_firstKeySym;
+ int f_nKeySyms;
+ int f_totalSyms;
+ int f_firstKeyAction;
+ int f_nKeyActions;
+ int f_totalActions;
+ int f_firstKeyBehavior;
+ int f_nKeyBehaviors;
+ int f_totalKeyBehaviors;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_totalKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_totalModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ int f_totalVModMapKeys;
+ int f_virtualMods;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_present = field16(tvb, offsetp, t, hf_x11_xkb_SetMap_present, little_endian);
+ f_flags = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetMap_flags, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_flags_mask_ResizeTypes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_flags_mask_RecomputeActions, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_minKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_minKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_maxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_maxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalSyms = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_totalSyms, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_firstKeyAction = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeyAction, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeyActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalActions = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_totalActions, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_totalKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_totalKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_totalModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetMap_totalVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetMap_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetMap_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ if ((f_present & (1 << 0)) != 0) {
+ struct_SetKeyType(tvb, offsetp, t, little_endian, f_nTypes);
+ length -= f_nTypes * 0;
+ }
+ if ((f_present & (1 << 1)) != 0) {
+ struct_KeySymMap(tvb, offsetp, t, little_endian, f_nKeySyms);
+ length -= f_nKeySyms * 0;
+ }
+ if ((f_present & (1 << 4)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_SetMap_KeyActions_actionsCount, f_nKeyActions, little_endian);
+ length -= f_nKeyActions * 1;
+ struct_Action(tvb, offsetp, t, little_endian, f_totalActions);
+ length -= f_totalActions * 8;
+ }
+ if ((f_present & (1 << 5)) != 0) {
+ struct_SetBehavior(tvb, offsetp, t, little_endian, f_totalKeyBehaviors);
+ length -= f_totalKeyBehaviors * 4;
+ }
+ if ((f_present & (1 << 6)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_SetMap_VirtualMods_vmods, f_nVModMapKeys, little_endian);
+ length -= f_nVModMapKeys * 1;
+ }
+ if ((f_present & (1 << 3)) != 0) {
+ struct_SetExplicit(tvb, offsetp, t, little_endian, f_totalKeyExplicit);
+ length -= f_totalKeyExplicit * 2;
+ }
+ if ((f_present & (1 << 2)) != 0) {
+ struct_KeyModMap(tvb, offsetp, t, little_endian, f_totalModMapKeys);
+ length -= f_totalModMapKeys * 2;
+ }
+ if ((f_present & (1 << 7)) != 0) {
+ struct_KeyVModMap(tvb, offsetp, t, little_endian, f_totalVModMapKeys);
+ length -= f_totalVModMapKeys * 4;
+ }
+}
+
+static void xkbGetCompatMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_groups;
+ int f_getAllSI;
+ int f_firstSI;
+ int f_nSI;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_groups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_groups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_groups_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_getAllSI = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_getAllSI, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_firstSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_nSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+}
+static void xkbGetCompatMap_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_groupsRtrn;
+ int f_firstSIRtrn;
+ int f_nSIRtrn;
+ int f_nTotalSI;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetCompatMap");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetCompatMap)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_groupsRtrn = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_groupsRtrn, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetCompatMap_reply_groupsRtrn_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(1);
+ f_firstSIRtrn = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_firstSIRtrn, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSIRtrn = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_nSIRtrn, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nTotalSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetCompatMap_reply_nTotalSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(16);
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetCompatMap_reply_si_rtrn, (16 * f_nSIRtrn), little_endian);
+ struct_ModDef(tvb, offsetp, t, little_endian, popcount(f_groupsRtrn));
+}
+
+static void xkbSetCompatMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_recomputeActions;
+ int f_truncateSI;
+ int f_groups;
+ int f_firstSI;
+ int f_nSI;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(1);
+ f_recomputeActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_recomputeActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_truncateSI = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_truncateSI, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_groups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetCompatMap_groups_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_firstSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_firstSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetCompatMap_nSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_SetCompatMap_si, (16 * f_nSI), little_endian);
+ length -= (16 * f_nSI) * 1;
+ struct_ModDef(tvb, offsetp, t, little_endian, popcount(f_groups));
+ length -= popcount(f_groups) * 4;
+}
+
+static void xkbGetIndicatorState(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorState_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+}
+static void xkbGetIndicatorState_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_state;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetIndicatorState");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorState_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetIndicatorState)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_state = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorState_reply_state, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(20);
+}
+
+static void xkbGetIndicatorMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_which;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_which = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_which, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+static void xkbGetIndicatorMap_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_which;
+ int f_realIndicators;
+ int f_nIndicators;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetIndicatorMap");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetIndicatorMap)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_which = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_which, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_realIndicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_realIndicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nIndicators = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetIndicatorMap_reply_nIndicators, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(15);
+ struct_IndicatorMap(tvb, offsetp, t, little_endian, f_nIndicators);
+}
+
+static void xkbSetIndicatorMap(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_which;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetIndicatorMap_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_which = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetIndicatorMap_which, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ struct_IndicatorMap(tvb, offsetp, t, little_endian, popcount(f_which));
+ length -= popcount(f_which) * 12;
+}
+
+static void xkbGetNamedIndicator(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_ledClass;
+ int f_ledID;
+ int f_indicator;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_GetNamedIndicator_ledClass, little_endian);
+ f_ledID = field16(tvb, offsetp, t, hf_x11_xkb_GetNamedIndicator_ledID, little_endian);
+ UNUSED(2);
+ f_indicator = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_indicator, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+static void xkbGetNamedIndicator_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_indicator;
+ int f_found;
+ int f_on;
+ int f_realIndicator;
+ int f_ndx;
+ int f_map_flags;
+ int f_map_whichGroups;
+ int f_map_groups;
+ int f_map_whichMods;
+ int f_map_mods;
+ int f_map_realMods;
+ int f_map_vmod;
+ int f_map_ctrls;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetNamedIndicator");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetNamedIndicator)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_indicator = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_indicator, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_found = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_found, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_on = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_on, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_realIndicator = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_realIndicator, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_ndx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_ndx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_map_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_flags_mask_LEDDrivesKB, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_flags_mask_NoAutomatic, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_flags_mask_NoExplicit, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_whichGroups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseBase, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseLatched, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseLocked, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseEffective, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichGroups_mask_UseCompat, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_groups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_groups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_groups_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_whichMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseBase, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseLatched, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseLocked, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseEffective, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_whichMods_mask_UseCompat, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_vmod = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_vmod, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_vmod_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_map_ctrls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNamedIndicator_reply_map_ctrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ UNUSED(3);
+}
+
+static void xkbSetNamedIndicator(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_ledClass;
+ int f_ledID;
+ int f_indicator;
+ int f_setState;
+ int f_on;
+ int f_setMap;
+ int f_createMap;
+ int f_map_flags;
+ int f_map_whichGroups;
+ int f_map_groups;
+ int f_map_whichMods;
+ int f_map_realMods;
+ int f_map_vmods;
+ int f_map_ctrls;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_SetNamedIndicator_ledClass, little_endian);
+ f_ledID = field16(tvb, offsetp, t, hf_x11_xkb_SetNamedIndicator_ledID, little_endian);
+ UNUSED(2);
+ f_indicator = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_indicator, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_setState = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_setState, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_on = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_on, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_setMap = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_setMap, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_createMap = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_createMap, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_map_flags = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_flags, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_flags_mask_LEDDrivesKB, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_flags_mask_NoAutomatic, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_flags_mask_NoExplicit, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_whichGroups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_whichGroups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseBase, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseLatched, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseLocked, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseEffective, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichGroups_mask_UseCompat, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_groups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_groups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_groups_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_whichMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_whichMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseBase, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseLatched, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseLocked, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseEffective, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_whichMods_mask_UseCompat, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_realMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_realMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_realMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_map_vmods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_vmods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_vmods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_map_ctrls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNamedIndicator_map_ctrls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNamedIndicator_map_ctrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+}
+
+static void xkbGetNames(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_which;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_which = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_which, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Keycodes, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Geometry, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Symbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_PhysSymbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Types, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_Compat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KTLevelNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_IndicatorNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KeyNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_KeyAliases, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_VirtualModNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_GroupNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_which_mask_RGNames, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+}
+static void xkbGetNames_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_which;
+ int f_minKeyCode;
+ int f_maxKeyCode;
+ int f_nTypes;
+ int f_groupNames;
+ int f_virtualMods;
+ int f_firstKey;
+ int f_nKeys;
+ int f_indicators;
+ int f_nRadioGroups;
+ int f_nKeyAliases;
+ int f_nKTLevels;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetNames");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetNames)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_which = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_which, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Keycodes, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Geometry, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Symbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_PhysSymbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Types, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_Compat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KeyTypeNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KTLevelNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_IndicatorNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KeyNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_KeyAliases, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_VirtualModNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_GroupNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_which_mask_RGNames, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_minKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_minKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_maxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_maxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupNames = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_groupNames, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_groupNames_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetNames_reply_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_firstKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_firstKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_indicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_indicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nRadioGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nRadioGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyAliases = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nKeyAliases, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKTLevels = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_nKTLevels, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(4);
+ if ((f_which & (1 << 0)) != 0) {
+ int f_keycodesName;
+ f_keycodesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Keycodes_keycodesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 1)) != 0) {
+ int f_geometryName;
+ f_geometryName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Geometry_geometryName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 2)) != 0) {
+ int f_symbolsName;
+ f_symbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Symbols_symbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 3)) != 0) {
+ int f_physSymbolsName;
+ f_physSymbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 4)) != 0) {
+ int f_typesName;
+ f_typesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Types_typesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 5)) != 0) {
+ int f_compatName;
+ f_compatName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetNames_reply_Compat_compatName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 6)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_KeyTypeNames_typeNames, hf_x11_xkb_GetNames_reply_KeyTypeNames_typeNames_item, f_nTypes, little_endian);
+ }
+ if ((f_which & (1 << 7)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_KTLevelNames_nLevelsPerType, f_nKTLevels, little_endian);
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_KTLevelNames_ktLevelNames, hf_x11_xkb_GetNames_reply_KTLevelNames_ktLevelNames_item, (length - 56) / 4, little_endian);
+ }
+ if ((f_which & (1 << 8)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_IndicatorNames_indicatorNames, hf_x11_xkb_GetNames_reply_IndicatorNames_indicatorNames_item, popcount(f_indicators), little_endian);
+ }
+ if ((f_which & (1 << 11)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_VirtualModNames_virtualModNames, hf_x11_xkb_GetNames_reply_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), little_endian);
+ }
+ if ((f_which & (1 << 12)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_GroupNames_groups, hf_x11_xkb_GetNames_reply_GroupNames_groups_item, popcount(f_groupNames), little_endian);
+ }
+ if ((f_which & (1 << 9)) != 0) {
+ struct_KeyName(tvb, offsetp, t, little_endian, f_nKeys);
+ }
+ if ((f_which & (1 << 10)) != 0) {
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+ }
+ if ((f_which & (1 << 13)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetNames_reply_RGNames_radioGroupNames, hf_x11_xkb_GetNames_reply_RGNames_radioGroupNames_item, f_nRadioGroups, little_endian);
+ }
+}
+
+static void xkbSetNames(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_virtualMods;
+ int f_which;
+ int f_firstType;
+ int f_nTypes;
+ int f_firstKTLevelt;
+ int f_nKTLevels;
+ int f_indicators;
+ int f_groupNames;
+ int f_nRadioGroups;
+ int f_firstKey;
+ int f_nKeys;
+ int f_nKeyAliases;
+ int f_totalKTLevelNames;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNames_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_which = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNames_which, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Keycodes, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Geometry, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Symbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_PhysSymbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Types, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_Compat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KTLevelNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_IndicatorNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KeyNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_KeyAliases, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_VirtualModNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_GroupNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_which_mask_RGNames, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKTLevelt = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_firstKTLevelt, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKTLevels = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_nKTLevels, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_indicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_indicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_groupNames = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetNames_groupNames, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetNames_groupNames_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_nRadioGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_nRadioGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_firstKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyAliases = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_nKeyAliases, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_totalKTLevelNames = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_totalKTLevelNames, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ if ((f_which & (1 << 0)) != 0) {
+ int f_keycodesName;
+ f_keycodesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_Keycodes_keycodesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 1)) != 0) {
+ int f_geometryName;
+ f_geometryName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_Geometry_geometryName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 2)) != 0) {
+ int f_symbolsName;
+ f_symbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_Symbols_symbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 3)) != 0) {
+ int f_physSymbolsName;
+ f_physSymbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 4)) != 0) {
+ int f_typesName;
+ f_typesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_Types_typesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 5)) != 0) {
+ int f_compatName;
+ f_compatName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetNames_Compat_compatName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 6)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_KeyTypeNames_typeNames, hf_x11_xkb_SetNames_KeyTypeNames_typeNames_item, f_nTypes, little_endian);
+ length -= f_nTypes * 4;
+ }
+ if ((f_which & (1 << 7)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_SetNames_KTLevelNames_nLevelsPerType, f_nKTLevels, little_endian);
+ length -= f_nKTLevels * 1;
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_KTLevelNames_ktLevelNames, hf_x11_xkb_SetNames_KTLevelNames_ktLevelNames_item, (length - 52) / 4, little_endian);
+ length -= (length - 52) / 4 * 4;
+ }
+ if ((f_which & (1 << 8)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_IndicatorNames_indicatorNames, hf_x11_xkb_SetNames_IndicatorNames_indicatorNames_item, popcount(f_indicators), little_endian);
+ length -= popcount(f_indicators) * 4;
+ }
+ if ((f_which & (1 << 11)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_VirtualModNames_virtualModNames, hf_x11_xkb_SetNames_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), little_endian);
+ length -= popcount(f_virtualMods) * 4;
+ }
+ if ((f_which & (1 << 12)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_GroupNames_groups, hf_x11_xkb_SetNames_GroupNames_groups_item, popcount(f_groupNames), little_endian);
+ length -= popcount(f_groupNames) * 4;
+ }
+ if ((f_which & (1 << 9)) != 0) {
+ struct_KeyName(tvb, offsetp, t, little_endian, f_nKeys);
+ length -= f_nKeys * 1;
+ }
+ if ((f_which & (1 << 10)) != 0) {
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+ length -= f_nKeyAliases * 2;
+ }
+ if ((f_which & (1 << 13)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_SetNames_RGNames_radioGroupNames, hf_x11_xkb_SetNames_RGNames_radioGroupNames_item, f_nRadioGroups, little_endian);
+ length -= f_nRadioGroups * 4;
+ }
+}
+
+static void xkbGetGeometry(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_name;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+}
+static void xkbGetGeometry_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_name;
+ int f_found;
+ int f_widthMM;
+ int f_heightMM;
+ int f_nProperties;
+ int f_nColors;
+ int f_nShapes;
+ int f_nSections;
+ int f_nDoodads;
+ int f_nKeyAliases;
+ int f_baseColorNdx;
+ int f_labelColorNdx;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetGeometry");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetGeometry)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_found = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_found, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_widthMM = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_widthMM, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_heightMM = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_heightMM, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nProperties = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nProperties, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nColors = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nColors, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nShapes = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nShapes, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSections = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nSections, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nDoodads = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nDoodads, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyAliases = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_nKeyAliases, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_baseColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_baseColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_labelColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetGeometry_reply_labelColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ struct_CountedString16(tvb, offsetp, t, little_endian, 1);
+ struct_Property(tvb, offsetp, t, little_endian, f_nProperties);
+ struct_CountedString16(tvb, offsetp, t, little_endian, f_nColors);
+ struct_Shape(tvb, offsetp, t, little_endian, f_nShapes);
+ struct_Section(tvb, offsetp, t, little_endian, f_nSections);
+ struct_Doodad(tvb, offsetp, t, little_endian, f_nDoodads);
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+}
+
+static void xkbSetGeometry(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_nShapes;
+ int f_nSections;
+ int f_name;
+ int f_widthMM;
+ int f_heightMM;
+ int f_nProperties;
+ int f_nColors;
+ int f_nDoodads;
+ int f_nKeyAliases;
+ int f_baseColorNdx;
+ int f_labelColorNdx;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nShapes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nShapes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nSections = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nSections, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_widthMM = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_widthMM, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_heightMM = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_heightMM, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nProperties = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nProperties, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nColors = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nColors, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nDoodads = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nDoodads, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyAliases = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_nKeyAliases, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_baseColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_baseColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_labelColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetGeometry_labelColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ struct_CountedString16(tvb, offsetp, t, little_endian, 1);
+ struct_Property(tvb, offsetp, t, little_endian, f_nProperties);
+ length -= f_nProperties * 0;
+ struct_CountedString16(tvb, offsetp, t, little_endian, f_nColors);
+ length -= f_nColors * 0;
+ struct_Shape(tvb, offsetp, t, little_endian, f_nShapes);
+ length -= f_nShapes * 0;
+ struct_Section(tvb, offsetp, t, little_endian, f_nSections);
+ length -= f_nSections * 0;
+ struct_Doodad(tvb, offsetp, t, little_endian, f_nDoodads);
+ length -= f_nDoodads * 20;
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+ length -= f_nKeyAliases * 2;
+}
+
+static void xkbPerClientFlags(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_change;
+ int f_value;
+ int f_ctrlsToChange;
+ int f_autoCtrls;
+ int f_autoCtrlsValues;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_change = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_change, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_DetectableAutoRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_GrabsUseXKBState, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_AutoResetControls, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_change_mask_SendEventUsesXKBState, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_value = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_value, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_DetectableAutoRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_GrabsUseXKBState, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_AutoResetControls, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_value_mask_SendEventUsesXKBState, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_ctrlsToChange = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_ctrlsToChange, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_ctrlsToChange_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_autoCtrls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_autoCtrls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_autoCtrlsValues = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_autoCtrlsValues, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_autoCtrlsValues_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+}
+static void xkbPerClientFlags_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_supported;
+ int f_value;
+ int f_autoCtrls;
+ int f_autoCtrlsValues;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-PerClientFlags");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-PerClientFlags)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_supported = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_supported, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_DetectableAutoRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_GrabsUseXKBState, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_AutoResetControls, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_supported_mask_SendEventUsesXKBState, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_value = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_value, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_DetectableAutoRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_GrabsUseXKBState, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_AutoResetControls, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_LookupStateWhenGrabbed, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_value_mask_SendEventUsesXKBState, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_autoCtrls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_autoCtrls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_autoCtrlsValues = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_PerClientFlags_reply_autoCtrlsValues_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ UNUSED(8);
+}
+
+static void xkbListComponents(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_maxNames;
+ int f_keymapsSpecLen;
+ int f_keycodesSpecLen;
+ int f_typesSpecLen;
+ int f_compatMapSpecLen;
+ int f_symbolsSpecLen;
+ int f_geometrySpecLen;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_maxNames = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_maxNames, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_keymapsSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_keymapsSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_keymapsSpec, f_keymapsSpecLen, little_endian);
+ length -= f_keymapsSpecLen * 1;
+ f_keycodesSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_keycodesSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_keycodesSpec, f_keycodesSpecLen, little_endian);
+ length -= f_keycodesSpecLen * 1;
+ f_typesSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_typesSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_typesSpec, f_typesSpecLen, little_endian);
+ length -= f_typesSpecLen * 1;
+ f_compatMapSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_compatMapSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_compatMapSpec, f_compatMapSpecLen, little_endian);
+ length -= f_compatMapSpecLen * 1;
+ f_symbolsSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_symbolsSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_symbolsSpec, f_symbolsSpecLen, little_endian);
+ length -= f_symbolsSpecLen * 1;
+ f_geometrySpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_geometrySpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ListComponents_geometrySpec, f_geometrySpecLen, little_endian);
+ length -= f_geometrySpecLen * 1;
+}
+static void xkbListComponents_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_nKeymaps;
+ int f_nKeycodes;
+ int f_nTypes;
+ int f_nCompatMaps;
+ int f_nSymbols;
+ int f_nGeometries;
+ int f_extra;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-ListComponents");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-ListComponents)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nKeymaps = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nKeymaps, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeycodes = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nKeycodes, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nTypes = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nTypes, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nCompatMaps = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nCompatMaps, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSymbols = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nSymbols, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nGeometries = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_nGeometries, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_extra = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ListComponents_reply_extra, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(10);
+ struct_Listing(tvb, offsetp, t, little_endian, f_nKeymaps);
+ struct_Listing(tvb, offsetp, t, little_endian, f_nKeycodes);
+ struct_Listing(tvb, offsetp, t, little_endian, f_nTypes);
+ struct_Listing(tvb, offsetp, t, little_endian, f_nCompatMaps);
+ struct_Listing(tvb, offsetp, t, little_endian, f_nSymbols);
+ struct_Listing(tvb, offsetp, t, little_endian, f_nGeometries);
+}
+
+static void xkbGetKbdByName(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_need;
+ int f_want;
+ int f_load;
+ int f_keymapsSpecLen;
+ int f_keycodesSpecLen;
+ int f_typesSpecLen;
+ int f_compatMapSpecLen;
+ int f_symbolsSpecLen;
+ int f_geometrySpecLen;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_need = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_need, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_CompatMap, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_ClientSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_ServerSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_need_mask_OtherNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_want = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_want, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_CompatMap, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_ClientSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_ServerSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_want_mask_OtherNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_load = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_load, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_keymapsSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_keymapsSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_keymapsSpec, f_keymapsSpecLen, little_endian);
+ length -= f_keymapsSpecLen * 1;
+ f_keycodesSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_keycodesSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_keycodesSpec, f_keycodesSpecLen, little_endian);
+ length -= f_keycodesSpecLen * 1;
+ f_typesSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_typesSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_typesSpec, f_typesSpecLen, little_endian);
+ length -= f_typesSpecLen * 1;
+ f_compatMapSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_compatMapSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_compatMapSpec, f_compatMapSpecLen, little_endian);
+ length -= f_compatMapSpecLen * 1;
+ f_symbolsSpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_symbolsSpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_symbolsSpec, f_symbolsSpecLen, little_endian);
+ length -= f_symbolsSpecLen * 1;
+ f_geometrySpecLen = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_geometrySpecLen, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_geometrySpec, f_geometrySpecLen, little_endian);
+ length -= f_geometrySpecLen * 1;
+}
+static void xkbGetKbdByName_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_minKeyCode;
+ int f_maxKeyCode;
+ int f_loaded;
+ int f_newKeyboard;
+ int f_found;
+ int f_reported;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetKbdByName");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetKbdByName)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_minKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_minKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_maxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_maxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_loaded = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_loaded, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_newKeyboard = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_newKeyboard, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_found = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_found, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_CompatMap, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_ClientSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_ServerSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_found_mask_OtherNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_reported = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_reported, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_CompatMap, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_ClientSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_ServerSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_reported_mask_OtherNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ UNUSED(16);
+ if ((f_reported & (1 << 0)) != 0) {
+ int f_typeDeviceID;
+ int f_typeMinKeyCode;
+ int f_typeMaxKeyCode;
+ int f_present;
+ int f_firstType;
+ int f_nTypes;
+ int f_totalTypes;
+ int f_firstKeySym;
+ int f_totalSyms;
+ int f_nKeySyms;
+ int f_firstKeyAction;
+ int f_totalActions;
+ int f_nKeyActions;
+ int f_firstKeyBehavior;
+ int f_nKeyBehaviors;
+ int f_totalKeyBehaviors;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_totalKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_totalModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ int f_totalVModMapKeys;
+ int f_virtualMods;
+ f_typeDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_typeDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ f_typeMinKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_typeMinKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_typeMaxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_typeMaxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_Types_present, little_endian);
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalSyms = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalSyms, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyAction = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeyAction, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalActions = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalActions, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeyActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_totalVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_Types_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ if ((f_present & (1 << 0)) != 0) {
+ struct_KeyType(tvb, offsetp, t, little_endian, f_nTypes);
+ }
+ if ((f_present & (1 << 1)) != 0) {
+ struct_KeySymMap(tvb, offsetp, t, little_endian, f_nKeySyms);
+ }
+ if ((f_present & (1 << 4)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_Types_KeyActions_acts_rtrn_count, f_nKeyActions, little_endian);
+ struct_Action(tvb, offsetp, t, little_endian, f_totalActions);
+ }
+ if ((f_present & (1 << 5)) != 0) {
+ struct_SetBehavior(tvb, offsetp, t, little_endian, f_totalKeyBehaviors);
+ }
+ if ((f_present & (1 << 6)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_Types_VirtualMods_vmods_rtrn, f_nVModMapKeys, little_endian);
+ }
+ if ((f_present & (1 << 3)) != 0) {
+ struct_SetExplicit(tvb, offsetp, t, little_endian, f_totalKeyExplicit);
+ }
+ if ((f_present & (1 << 2)) != 0) {
+ struct_KeyModMap(tvb, offsetp, t, little_endian, f_totalModMapKeys);
+ }
+ if ((f_present & (1 << 7)) != 0) {
+ struct_KeyVModMap(tvb, offsetp, t, little_endian, f_totalVModMapKeys);
+ }
+ }
+ if ((f_reported & (1 << 1)) != 0) {
+ int f_compatDeviceID;
+ int f_groupsRtrn;
+ int f_firstSIRtrn;
+ int f_nSIRtrn;
+ int f_nTotalSI;
+ f_compatDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_compatDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupsRtrn = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_CompatMap_groupsRtrn_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ UNUSED(1);
+ f_firstSIRtrn = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_firstSIRtrn, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSIRtrn = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_nSIRtrn, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nTotalSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_CompatMap_nTotalSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(16);
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_CompatMap_si_rtrn, (16 * f_nSIRtrn), little_endian);
+ struct_ModDef(tvb, offsetp, t, little_endian, popcount(f_groupsRtrn));
+ }
+ if ((f_reported & (1 << 2)) != 0) {
+ int f_clientDeviceID;
+ int f_clientMinKeyCode;
+ int f_clientMaxKeyCode;
+ int f_present;
+ int f_firstType;
+ int f_nTypes;
+ int f_totalTypes;
+ int f_firstKeySym;
+ int f_totalSyms;
+ int f_nKeySyms;
+ int f_firstKeyAction;
+ int f_totalActions;
+ int f_nKeyActions;
+ int f_firstKeyBehavior;
+ int f_nKeyBehaviors;
+ int f_totalKeyBehaviors;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_totalKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_totalModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ int f_totalVModMapKeys;
+ int f_virtualMods;
+ f_clientDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_clientDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ f_clientMinKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_clientMinKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_clientMaxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_clientMaxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_present, little_endian);
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalSyms = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalSyms, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyAction = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeyAction, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalActions = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalActions, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeyActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_totalVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ if ((f_present & (1 << 0)) != 0) {
+ struct_KeyType(tvb, offsetp, t, little_endian, f_nTypes);
+ }
+ if ((f_present & (1 << 1)) != 0) {
+ struct_KeySymMap(tvb, offsetp, t, little_endian, f_nKeySyms);
+ }
+ if ((f_present & (1 << 4)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_KeyActions_acts_rtrn_count, f_nKeyActions, little_endian);
+ struct_Action(tvb, offsetp, t, little_endian, f_totalActions);
+ }
+ if ((f_present & (1 << 5)) != 0) {
+ struct_SetBehavior(tvb, offsetp, t, little_endian, f_totalKeyBehaviors);
+ }
+ if ((f_present & (1 << 6)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ClientSymbols_VirtualMods_vmods_rtrn, f_nVModMapKeys, little_endian);
+ }
+ if ((f_present & (1 << 3)) != 0) {
+ struct_SetExplicit(tvb, offsetp, t, little_endian, f_totalKeyExplicit);
+ }
+ if ((f_present & (1 << 2)) != 0) {
+ struct_KeyModMap(tvb, offsetp, t, little_endian, f_totalModMapKeys);
+ }
+ if ((f_present & (1 << 7)) != 0) {
+ struct_KeyVModMap(tvb, offsetp, t, little_endian, f_totalVModMapKeys);
+ }
+ }
+ if ((f_reported & (1 << 3)) != 0) {
+ int f_serverDeviceID;
+ int f_serverMinKeyCode;
+ int f_serverMaxKeyCode;
+ int f_present;
+ int f_firstType;
+ int f_nTypes;
+ int f_totalTypes;
+ int f_firstKeySym;
+ int f_totalSyms;
+ int f_nKeySyms;
+ int f_firstKeyAction;
+ int f_totalActions;
+ int f_nKeyActions;
+ int f_firstKeyBehavior;
+ int f_nKeyBehaviors;
+ int f_totalKeyBehaviors;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_totalKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_totalModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ int f_totalVModMapKeys;
+ int f_virtualMods;
+ f_serverDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_serverDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ f_serverMinKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_serverMinKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_serverMaxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_serverMaxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_present = field16(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_present, little_endian);
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalSyms = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalSyms, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyAction = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeyAction, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalActions = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalActions, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeyActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyBehaviors = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalKeyBehaviors, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_totalVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ if ((f_present & (1 << 0)) != 0) {
+ struct_KeyType(tvb, offsetp, t, little_endian, f_nTypes);
+ }
+ if ((f_present & (1 << 1)) != 0) {
+ struct_KeySymMap(tvb, offsetp, t, little_endian, f_nKeySyms);
+ }
+ if ((f_present & (1 << 4)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_KeyActions_acts_rtrn_count, f_nKeyActions, little_endian);
+ struct_Action(tvb, offsetp, t, little_endian, f_totalActions);
+ }
+ if ((f_present & (1 << 5)) != 0) {
+ struct_SetBehavior(tvb, offsetp, t, little_endian, f_totalKeyBehaviors);
+ }
+ if ((f_present & (1 << 6)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_ServerSymbols_VirtualMods_vmods_rtrn, f_nVModMapKeys, little_endian);
+ }
+ if ((f_present & (1 << 3)) != 0) {
+ struct_SetExplicit(tvb, offsetp, t, little_endian, f_totalKeyExplicit);
+ }
+ if ((f_present & (1 << 2)) != 0) {
+ struct_KeyModMap(tvb, offsetp, t, little_endian, f_totalModMapKeys);
+ }
+ if ((f_present & (1 << 7)) != 0) {
+ struct_KeyVModMap(tvb, offsetp, t, little_endian, f_totalVModMapKeys);
+ }
+ }
+ if ((f_reported & (1 << 4)) != 0) {
+ int f_indicatorDeviceID;
+ int f_which;
+ int f_realIndicators;
+ int f_nIndicators;
+ f_indicatorDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_indicatorDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_which = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_which, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_realIndicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_realIndicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nIndicators = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_IndicatorMaps_nIndicators, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(15);
+ struct_IndicatorMap(tvb, offsetp, t, little_endian, f_nIndicators);
+ }
+ if ((f_reported & (1 << 5)) != 0) {
+ int f_keyDeviceID;
+ int f_which;
+ int f_keyMinKeyCode;
+ int f_keyMaxKeyCode;
+ int f_nTypes;
+ int f_groupNames;
+ int f_virtualMods;
+ int f_firstKey;
+ int f_nKeys;
+ int f_indicators;
+ int f_nRadioGroups;
+ int f_nKeyAliases;
+ int f_nKTLevels;
+ f_keyDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_keyDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_which = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_which, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Keycodes, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Geometry, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Symbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_PhysSymbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Types, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_Compat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KTLevelNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_IndicatorNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KeyNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_KeyAliases, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_VirtualModNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_GroupNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_which_mask_RGNames, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_keyMinKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_keyMinKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_keyMaxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_keyMaxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupNames = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_groupNames_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_KeyNames_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_firstKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_firstKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_indicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_indicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nRadioGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nRadioGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyAliases = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nKeyAliases, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKTLevels = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_nKTLevels, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(4);
+ if ((f_which & (1 << 0)) != 0) {
+ int f_keycodesName;
+ f_keycodesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Keycodes_keycodesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 1)) != 0) {
+ int f_geometryName;
+ f_geometryName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Geometry_geometryName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 2)) != 0) {
+ int f_symbolsName;
+ f_symbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Symbols_symbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 3)) != 0) {
+ int f_physSymbolsName;
+ f_physSymbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 4)) != 0) {
+ int f_typesName;
+ f_typesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Types_typesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 5)) != 0) {
+ int f_compatName;
+ f_compatName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_KeyNames_Compat_compatName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 6)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_KeyTypeNames_typeNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_KeyTypeNames_typeNames_item, f_nTypes, little_endian);
+ }
+ if ((f_which & (1 << 7)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_KTLevelNames_nLevelsPerType, f_nKTLevels, little_endian);
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_KTLevelNames_ktLevelNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_KTLevelNames_ktLevelNames_item, (length - 230) / 4, little_endian);
+ }
+ if ((f_which & (1 << 8)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_IndicatorNames_indicatorNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_IndicatorNames_indicatorNames_item, popcount(f_indicators), little_endian);
+ }
+ if ((f_which & (1 << 11)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_VirtualModNames_virtualModNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), little_endian);
+ }
+ if ((f_which & (1 << 12)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_GroupNames_groups, hf_x11_xkb_GetKbdByName_reply_KeyNames_GroupNames_groups_item, popcount(f_groupNames), little_endian);
+ }
+ if ((f_which & (1 << 9)) != 0) {
+ struct_KeyName(tvb, offsetp, t, little_endian, f_nKeys);
+ }
+ if ((f_which & (1 << 10)) != 0) {
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+ }
+ if ((f_which & (1 << 13)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_KeyNames_RGNames_radioGroupNames, hf_x11_xkb_GetKbdByName_reply_KeyNames_RGNames_radioGroupNames_item, f_nRadioGroups, little_endian);
+ }
+ }
+ if ((f_reported & (1 << 7)) != 0) {
+ int f_otherDeviceID;
+ int f_which;
+ int f_otherMinKeyCode;
+ int f_otherMaxKeyCode;
+ int f_nTypes;
+ int f_groupNames;
+ int f_virtualMods;
+ int f_firstKey;
+ int f_nKeys;
+ int f_indicators;
+ int f_nRadioGroups;
+ int f_nKeyAliases;
+ int f_nKTLevels;
+ f_otherDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_otherDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_which = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_which, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Keycodes, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Geometry, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Symbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_PhysSymbols, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Types, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_Compat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KeyTypeNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KTLevelNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_IndicatorNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KeyNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_KeyAliases, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_VirtualModNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_GroupNames, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_which_mask_RGNames, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_otherMinKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_otherMinKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_otherMaxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_otherMaxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_groupNames = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_groupNames_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetKbdByName_reply_OtherNames_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_firstKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_firstKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_indicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_indicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nRadioGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nRadioGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyAliases = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nKeyAliases, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKTLevels = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_nKTLevels, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(4);
+ if ((f_which & (1 << 0)) != 0) {
+ int f_keycodesName;
+ f_keycodesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Keycodes_keycodesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 1)) != 0) {
+ int f_geometryName;
+ f_geometryName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Geometry_geometryName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 2)) != 0) {
+ int f_symbolsName;
+ f_symbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Symbols_symbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 3)) != 0) {
+ int f_physSymbolsName;
+ f_physSymbolsName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_PhysSymbols_physSymbolsName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 4)) != 0) {
+ int f_typesName;
+ f_typesName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Types_typesName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 5)) != 0) {
+ int f_compatName;
+ f_compatName = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_OtherNames_Compat_compatName, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ }
+ if ((f_which & (1 << 6)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_KeyTypeNames_typeNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_KeyTypeNames_typeNames_item, f_nTypes, little_endian);
+ }
+ if ((f_which & (1 << 7)) != 0) {
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_KTLevelNames_nLevelsPerType, f_nKTLevels, little_endian);
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_KTLevelNames_ktLevelNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_KTLevelNames_ktLevelNames_item, (length - 279) / 4, little_endian);
+ }
+ if ((f_which & (1 << 8)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_IndicatorNames_indicatorNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_IndicatorNames_indicatorNames_item, popcount(f_indicators), little_endian);
+ }
+ if ((f_which & (1 << 11)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_VirtualModNames_virtualModNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_VirtualModNames_virtualModNames_item, popcount(f_virtualMods), little_endian);
+ }
+ if ((f_which & (1 << 12)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_GroupNames_groups, hf_x11_xkb_GetKbdByName_reply_OtherNames_GroupNames_groups_item, popcount(f_groupNames), little_endian);
+ }
+ if ((f_which & (1 << 9)) != 0) {
+ struct_KeyName(tvb, offsetp, t, little_endian, f_nKeys);
+ }
+ if ((f_which & (1 << 10)) != 0) {
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+ }
+ if ((f_which & (1 << 13)) != 0) {
+ listOfCard32(tvb, offsetp, t, hf_x11_xkb_GetKbdByName_reply_OtherNames_RGNames_radioGroupNames, hf_x11_xkb_GetKbdByName_reply_OtherNames_RGNames_radioGroupNames_item, f_nRadioGroups, little_endian);
+ }
+ }
+ if ((f_reported & (1 << 6)) != 0) {
+ int f_geometryDeviceID;
+ int f_name;
+ int f_geometryFound;
+ int f_widthMM;
+ int f_heightMM;
+ int f_nProperties;
+ int f_nColors;
+ int f_nShapes;
+ int f_nSections;
+ int f_nDoodads;
+ int f_nKeyAliases;
+ int f_baseColorNdx;
+ int f_labelColorNdx;
+ f_geometryDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_geometryDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_geometryFound = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_geometryFound, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_widthMM = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_widthMM, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_heightMM = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_heightMM, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nProperties = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nProperties, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nColors = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nColors, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nShapes = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nShapes, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSections = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nSections, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nDoodads = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nDoodads, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nKeyAliases = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_nKeyAliases, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_baseColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_baseColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_labelColorNdx = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetKbdByName_reply_Geometry_labelColorNdx, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ struct_CountedString16(tvb, offsetp, t, little_endian, 1);
+ struct_Property(tvb, offsetp, t, little_endian, f_nProperties);
+ struct_CountedString16(tvb, offsetp, t, little_endian, f_nColors);
+ struct_Shape(tvb, offsetp, t, little_endian, f_nShapes);
+ struct_Section(tvb, offsetp, t, little_endian, f_nSections);
+ struct_Doodad(tvb, offsetp, t, little_endian, f_nDoodads);
+ struct_KeyAlias(tvb, offsetp, t, little_endian, f_nKeyAliases);
+ }
+}
+
+static void xkbGetDeviceInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_wanted;
+ int f_allButtons;
+ int f_firstButton;
+ int f_nButtons;
+ int f_ledClass;
+ int f_ledID;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_wanted = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_wanted, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_wanted_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_allButtons = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_allButtons, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstButton = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_firstButton, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nButtons = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_nButtons, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_ledClass, little_endian);
+ f_ledID = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_ledID, little_endian);
+}
+static void xkbGetDeviceInfo_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_deviceID;
+ int f_present;
+ int f_supported;
+ int f_unsupported;
+ int f_nDeviceLedFBs;
+ int f_firstBtnWanted;
+ int f_nBtnsWanted;
+ int f_firstBtnRtrn;
+ int f_nBtnsRtrn;
+ int f_totalBtns;
+ int f_hasOwnState;
+ int f_dfltKbdFB;
+ int f_dfltLedFB;
+ int f_devType;
+ int f_nameLen;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-GetDeviceInfo");
+
+ REPLY(reply);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-GetDeviceInfo)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_present = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_present, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_present_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_supported = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_supported, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_supported_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_unsupported = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_unsupported, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_GetDeviceInfo_reply_unsupported_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_nDeviceLedFBs = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nDeviceLedFBs, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_firstBtnWanted = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_firstBtnWanted, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nBtnsWanted = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nBtnsWanted, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstBtnRtrn = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_firstBtnRtrn, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nBtnsRtrn = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nBtnsRtrn, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_totalBtns = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_totalBtns, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_hasOwnState = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_hasOwnState, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_dfltKbdFB = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_reply_dfltKbdFB, little_endian);
+ f_dfltLedFB = field16(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_reply_dfltLedFB, little_endian);
+ UNUSED(2);
+ f_devType = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_devType, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_nameLen = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_GetDeviceInfo_reply_nameLen, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_GetDeviceInfo_reply_name, f_nameLen, little_endian);
+ struct_Action(tvb, offsetp, t, little_endian, f_nBtnsRtrn);
+ struct_DeviceLedInfo(tvb, offsetp, t, little_endian, f_nDeviceLedFBs);
+}
+
+static void xkbSetDeviceInfo(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_deviceSpec;
+ int f_firstBtn;
+ int f_nBtns;
+ int f_change;
+ int f_nDeviceLedFBs;
+ f_deviceSpec = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_deviceSpec, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_firstBtn = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_firstBtn, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nBtns = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_nBtns, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_change = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_change, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_SetDeviceInfo_change_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_nDeviceLedFBs = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDeviceInfo_nDeviceLedFBs, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ struct_Action(tvb, offsetp, t, little_endian, f_nBtns);
+ length -= f_nBtns * 8;
+ struct_DeviceLedInfo(tvb, offsetp, t, little_endian, f_nDeviceLedFBs);
+ length -= f_nDeviceLedFBs * 0;
+}
+
+static void xkbSetDebuggingFlags(tvbuff_t *tvb, packet_info *pinfo _U_, int *offsetp, proto_tree *t, int little_endian, int length _U_)
+{
+ int f_msgLength;
+ int f_affectFlags;
+ int f_flags;
+ int f_affectCtrls;
+ int f_ctrls;
+ f_msgLength = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_msgLength, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(2);
+ f_affectFlags = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_affectFlags, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_flags = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_flags, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_affectCtrls = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_affectCtrls, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_ctrls = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_ctrls, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_SetDebuggingFlags_message, f_msgLength, little_endian);
+ length -= f_msgLength * 1;
+}
+static void xkbSetDebuggingFlags_Reply(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_length, length, sequence_number;
+ int f_currentFlags;
+ int f_currentCtrls;
+ int f_supportedFlags;
+ int f_supportedCtrls;
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-SetDebuggingFlags");
+
+ REPLY(reply);
+ UNUSED(1);
+ sequence_number = VALUE16(tvb, *offsetp);
+ proto_tree_add_uint_format(t, hf_x11_reply_sequencenumber, tvb, *offsetp, 2, sequence_number,
+ "sequencenumber: %d (xkb-SetDebuggingFlags)", sequence_number);
+ *offsetp += 2;
+ f_length = VALUE32(tvb, *offsetp);
+ length = f_length * 4 + 32;
+ proto_tree_add_item(t, hf_x11_replylength, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_currentFlags = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_currentFlags, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_currentCtrls = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_currentCtrls, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_supportedFlags = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_supportedFlags, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_supportedCtrls = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_SetDebuggingFlags_reply_supportedCtrls, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(8);
+}
+
+static void xkbNewKeyboardNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_oldDeviceID;
+ int f_minKeyCode;
+ int f_maxKeyCode;
+ int f_oldMinKeyCode;
+ int f_oldMaxKeyCode;
+ int f_requestMajor;
+ int f_requestMinor;
+ int f_changed;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_oldDeviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_oldDeviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_minKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_minKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_maxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_maxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_oldMinKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_oldMinKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_oldMaxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_oldMaxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_requestMajor = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_requestMajor, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_requestMinor = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_requestMinor, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_changed = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NewKeyboardNotify_changed, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NewKeyboardNotify_changed_mask_Keycodes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NewKeyboardNotify_changed_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NewKeyboardNotify_changed_mask_DeviceID, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ UNUSED(14);
+}
+
+static void xkbMapNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_ptrBtnActions;
+ int f_changed;
+ int f_minKeyCode;
+ int f_maxKeyCode;
+ int f_firstType;
+ int f_nTypes;
+ int f_firstKeySym;
+ int f_nKeySyms;
+ int f_firstKeyAct;
+ int f_nKeyActs;
+ int f_firstKeyBehavior;
+ int f_nKeyBehavior;
+ int f_firstKeyExplicit;
+ int f_nKeyExplicit;
+ int f_firstModMapKey;
+ int f_nModMapKeys;
+ int f_firstVModMapKey;
+ int f_nVModMapKeys;
+ int f_virtualMods;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_ptrBtnActions = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_ptrBtnActions, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_changed = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_MapNotify_changed, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeyTypes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeySyms, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_ModifierMap, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_ExplicitComponents, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeyActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_KeyBehaviors, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_VirtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_changed_mask_VirtualModMap, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_minKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_minKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_maxKeyCode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_maxKeyCode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeySym = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeySym, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeySyms = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeySyms, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyAct = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeyAct, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyActs = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeyActs, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyBehavior = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeyBehavior, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyExplicit = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nKeyExplicit, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstVModMapKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_firstVModMapKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nVModMapKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_MapNotify_nVModMapKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_virtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_MapNotify_virtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_MapNotify_virtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ UNUSED(2);
+}
+
+static void xkbStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_mods;
+ int f_baseMods;
+ int f_latchedMods;
+ int f_lockedMods;
+ int f_group;
+ int f_baseGroup;
+ int f_latchedGroup;
+ int f_lockedGroup;
+ int f_compatState;
+ int f_grabMods;
+ int f_compatGrabMods;
+ int f_lookupMods;
+ int f_compatLoockupMods;
+ int f_ptrBtnState;
+ int f_changed;
+ int f_keycode;
+ int f_eventType;
+ int f_requestMajor;
+ int f_requestMinor;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_baseMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_baseMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_baseMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_latchedMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_latchedMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_latchedMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_lockedMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_lockedMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lockedMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_group = field8(tvb, offsetp, t, hf_x11_xkb_StateNotify_group, little_endian);
+ f_baseGroup = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_baseGroup, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_latchedGroup = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_latchedGroup, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_lockedGroup = field8(tvb, offsetp, t, hf_x11_xkb_StateNotify_lockedGroup, little_endian);
+ f_compatState = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_compatState, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatState_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_grabMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_grabMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_grabMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_compatGrabMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_compatGrabMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatGrabMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_lookupMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_lookupMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_lookupMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_compatLoockupMods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_compatLoockupMods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_compatLoockupMods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_ptrBtnState = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_ptrBtnState, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Shift, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Lock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Control, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Mod5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_ptrBtnState_mask_Button5, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_changed = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_StateNotify_changed, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierBase, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierLatch, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_ModifierLock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupBase, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupLatch, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GroupLock, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_CompatState, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_GrabMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_CompatGrabMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_LookupMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_CompatLookupMods, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_StateNotify_changed_mask_PointerButtons, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_eventType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_eventType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_requestMajor = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_requestMajor, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_requestMinor = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_StateNotify_requestMinor, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+}
+
+static void xkbControlsNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_numGroups;
+ int f_changedControls;
+ int f_enabledControls;
+ int f_enabledControlChanges;
+ int f_keycode;
+ int f_eventType;
+ int f_requestMajor;
+ int f_requestMinor;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_numGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_numGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(2);
+ f_changedControls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_changedControls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_GroupsWrap, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_InternalMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_IgnoreLockMods, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_PerKeyRepeat, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_changedControls_mask_ControlsEnabled, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_enabledControls = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_enabledControls, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControls_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_enabledControlChanges = VALUE32(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_enabledControlChanges, tvb, *offsetp, 4, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_RepeatKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_SlowKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_BounceKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_StickyKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_MouseKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_MouseKeysAccel, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AccessXKeys, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AccessXTimeoutMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AccessXFeedbackMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_AudibleBellMask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_Overlay1Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_Overlay2Mask, tvb, *offsetp, 4, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ControlsNotify_enabledControlChanges_mask_IgnoreGroupLockMask, tvb, *offsetp, 4, little_endian);
+ }
+ *offsetp += 4;
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_eventType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_eventType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_requestMajor = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_requestMajor, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_requestMinor = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ControlsNotify_requestMinor, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(4);
+}
+
+static void xkbIndicatorStateNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_state;
+ int f_stateChanged;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(3);
+ f_state = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_state, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_stateChanged = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorStateNotify_stateChanged, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(12);
+}
+
+static void xkbIndicatorMapNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_state;
+ int f_mapChanged;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(3);
+ f_state = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_state, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_mapChanged = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_IndicatorMapNotify_mapChanged, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(12);
+}
+
+static void xkbNamesNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_changed;
+ int f_firstType;
+ int f_nTypes;
+ int f_firstLevelName;
+ int f_nLevelNames;
+ int f_nRadioGroups;
+ int f_nKeyAliases;
+ int f_changedGroupNames;
+ int f_changedVirtualMods;
+ int f_firstKey;
+ int f_nKeys;
+ int f_changedIndicators;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_changed = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changed, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Keycodes, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Geometry, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Symbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_PhysSymbols, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Types, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_Compat, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KeyTypeNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KTLevelNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KeyNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_KeyAliases, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_VirtualModNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_GroupNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changed_mask_RGNames, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_firstType = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_firstType, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nTypes = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nTypes, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_firstLevelName = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_firstLevelName, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nLevelNames = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nLevelNames, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_nRadioGroups = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nRadioGroups, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeyAliases = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nKeyAliases, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_changedGroupNames = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changedGroupNames, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedGroupNames_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_changedVirtualMods = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changedVirtualMods, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_0, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_1, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_2, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_3, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_4, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_5, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_6, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_7, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_8, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_9, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_10, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_11, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_12, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_13, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_14, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_NamesNotify_changedVirtualMods_mask_15, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_firstKey = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_firstKey, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nKeys = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_nKeys, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_changedIndicators = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_NamesNotify_changedIndicators, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ UNUSED(4);
+}
+
+static void xkbCompatMapNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_changedGroups;
+ int f_firstSI;
+ int f_nSI;
+ int f_nTotalSI;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_changedGroups = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_changedGroups, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_CompatMapNotify_changedGroups_mask_Group4, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_firstSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_firstSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_nSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_nTotalSI = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_CompatMapNotify_nTotalSI, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(16);
+}
+
+static void xkbBellNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_bellClass;
+ int f_bellID;
+ int f_percent;
+ int f_pitch;
+ int f_duration;
+ int f_name;
+ int f_window;
+ int f_eventOnly;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_bellClass = field8(tvb, offsetp, t, hf_x11_xkb_BellNotify_bellClass, little_endian);
+ f_bellID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_bellID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_percent = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_percent, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_pitch = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_pitch, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_duration = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_duration, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_name = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_name, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_window = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_window, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_eventOnly = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_BellNotify_eventOnly, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(7);
+}
+
+static void xkbActionMessage(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_keycode;
+ int f_press;
+ int f_keyEventFollows;
+ int f_mods;
+ int f_group;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ActionMessage_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ActionMessage_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ActionMessage_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_press = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ActionMessage_press, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_keyEventFollows = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ActionMessage_keyEventFollows, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_mods = VALUE8(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ActionMessage_mods, tvb, *offsetp, 1, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Shift, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Lock, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Control, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_1, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_2, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_3, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_4, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_5, tvb, *offsetp, 1, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ActionMessage_mods_mask_Any, tvb, *offsetp, 1, little_endian);
+ }
+ *offsetp += 1;
+ f_group = field8(tvb, offsetp, t, hf_x11_xkb_ActionMessage_group, little_endian);
+ listOfByte(tvb, offsetp, t, hf_x11_xkb_ActionMessage_message, 8, little_endian);
+ UNUSED(10);
+}
+
+static void xkbAccessXNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_keycode;
+ int f_detailt;
+ int f_slowKeysDelay;
+ int f_debounceDelay;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_keycode = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_keycode, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_detailt = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_detailt, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKPress, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKAccept, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKReject, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_SKRelease, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_BKAccept, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_BKReject, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_AccessXNotify_detailt_mask_AXKWarning, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_slowKeysDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_slowKeysDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ f_debounceDelay = VALUE16(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_AccessXNotify_debounceDelay, tvb, *offsetp, 2, little_endian);
+ *offsetp += 2;
+ UNUSED(16);
+}
+
+static void xkbExtensionDeviceNotify(tvbuff_t *tvb, int *offsetp, proto_tree *t, int little_endian)
+{
+ int f_time;
+ int f_deviceID;
+ int f_reason;
+ int f_ledClass;
+ int f_ledID;
+ int f_ledsDefined;
+ int f_ledState;
+ int f_firstButton;
+ int f_nButtons;
+ int f_supported;
+ int f_unsupported;
+ f_time = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_time, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ CARD16(event_sequencenumber);
+ f_deviceID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_deviceID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ UNUSED(1);
+ f_reason = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_reason, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_reason_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_ledClass = field16(tvb, offsetp, t, hf_x11_xkb_ExtensionDeviceNotify_ledClass, little_endian);
+ f_ledID = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_ledID, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_ledsDefined = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_ledsDefined, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_ledState = VALUE32(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_ledState, tvb, *offsetp, 4, little_endian);
+ *offsetp += 4;
+ f_firstButton = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_firstButton, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_nButtons = VALUE8(tvb, *offsetp);
+ proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_nButtons, tvb, *offsetp, 1, little_endian);
+ *offsetp += 1;
+ f_supported = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_supported, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_supported_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ f_unsupported = VALUE16(tvb, *offsetp);
+ {
+ proto_item *ti = proto_tree_add_item(t, hf_x11_xkb_ExtensionDeviceNotify_unsupported, tvb, *offsetp, 2, little_endian);
+ proto_tree *bitmask_tree = proto_item_add_subtree(ti, ett_x11_rectangle);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_Keyboards, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_ButtonActions, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_IndicatorNames, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_IndicatorMaps, tvb, *offsetp, 2, little_endian);
+ proto_tree_add_item(bitmask_tree, hf_x11_xkb_ExtensionDeviceNotify_unsupported_mask_IndicatorState, tvb, *offsetp, 2, little_endian);
+ }
+ *offsetp += 2;
+ UNUSED(2);
+}
+static const value_string xkb_extension_minor[] = {
+ { 0, "UseExtension" },
+ { 1, "SelectEvents" },
+ { 3, "Bell" },
+ { 4, "GetState" },
+ { 5, "LatchLockState" },
+ { 6, "GetControls" },
+ { 7, "SetControls" },
+ { 8, "GetMap" },
+ { 9, "SetMap" },
+ { 10, "GetCompatMap" },
+ { 11, "SetCompatMap" },
+ { 12, "GetIndicatorState" },
+ { 13, "GetIndicatorMap" },
+ { 14, "SetIndicatorMap" },
+ { 15, "GetNamedIndicator" },
+ { 16, "SetNamedIndicator" },
+ { 17, "GetNames" },
+ { 18, "SetNames" },
+ { 19, "GetGeometry" },
+ { 20, "SetGeometry" },
+ { 21, "PerClientFlags" },
+ { 22, "ListComponents" },
+ { 23, "GetKbdByName" },
+ { 24, "GetDeviceInfo" },
+ { 25, "SetDeviceInfo" },
+ { 101, "SetDebuggingFlags" },
+ { 0, NULL }
+};
+const x11_event_info xkb_events[] = {
+ { "xkb-NewKeyboardNotify", xkbNewKeyboardNotify },
+ { "xkb-MapNotify", xkbMapNotify },
+ { "xkb-StateNotify", xkbStateNotify },
+ { "xkb-ControlsNotify", xkbControlsNotify },
+ { "xkb-IndicatorStateNotify", xkbIndicatorStateNotify },
+ { "xkb-IndicatorMapNotify", xkbIndicatorMapNotify },
+ { "xkb-NamesNotify", xkbNamesNotify },
+ { "xkb-CompatMapNotify", xkbCompatMapNotify },
+ { "xkb-BellNotify", xkbBellNotify },
+ { "xkb-ActionMessage", xkbActionMessage },
+ { "xkb-AccessXNotify", xkbAccessXNotify },
+ { "xkb-ExtensionDeviceNotify", xkbExtensionDeviceNotify },
+ { NULL, NULL }
+};
+static x11_reply_info xkb_replies[] = {
+ { 0, xkbUseExtension_Reply },
+ { 4, xkbGetState_Reply },
+ { 6, xkbGetControls_Reply },
+ { 8, xkbGetMap_Reply },
+ { 10, xkbGetCompatMap_Reply },
+ { 12, xkbGetIndicatorState_Reply },
+ { 13, xkbGetIndicatorMap_Reply },
+ { 15, xkbGetNamedIndicator_Reply },
+ { 17, xkbGetNames_Reply },
+ { 19, xkbGetGeometry_Reply },
+ { 21, xkbPerClientFlags_Reply },
+ { 22, xkbListComponents_Reply },
+ { 23, xkbGetKbdByName_Reply },
+ { 24, xkbGetDeviceInfo_Reply },
+ { 101, xkbSetDebuggingFlags_Reply },
+ { 0, NULL }
+};
+
+static void dispatch_xkb(tvbuff_t *tvb, packet_info *pinfo, int *offsetp, proto_tree *t, int little_endian)
+{
+ int minor, length;
+ minor = CARD8(xkb_extension_minor);
+ length = REQUEST_LENGTH();
+
+ col_append_fstr(pinfo->cinfo, COL_INFO, "-%s",
+ val_to_str(minor, xkb_extension_minor,
+ "<Unknown opcode %d>"));
+ switch (minor) {
+ case 0:
+ xkbUseExtension(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 1:
+ xkbSelectEvents(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 3:
+ xkbBell(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 4:
+ xkbGetState(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 5:
+ xkbLatchLockState(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 6:
+ xkbGetControls(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 7:
+ xkbSetControls(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 8:
+ xkbGetMap(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 9:
+ xkbSetMap(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 10:
+ xkbGetCompatMap(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 11:
+ xkbSetCompatMap(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 12:
+ xkbGetIndicatorState(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 13:
+ xkbGetIndicatorMap(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 14:
+ xkbSetIndicatorMap(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 15:
+ xkbGetNamedIndicator(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 16:
+ xkbSetNamedIndicator(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 17:
+ xkbGetNames(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 18:
+ xkbSetNames(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 19:
+ xkbGetGeometry(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 20:
+ xkbSetGeometry(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 21:
+ xkbPerClientFlags(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 22:
+ xkbListComponents(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 23:
+ xkbGetKbdByName(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 24:
+ xkbGetDeviceInfo(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 25:
+ xkbSetDeviceInfo(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ case 101:
+ xkbSetDebuggingFlags(tvb, pinfo, offsetp, t, little_endian, length);
+ break;
+ /* No need for a default case here, since Unknown is printed above,
+ and UNDECODED() is taken care of by dissect_x11_request */
+ }
+}
+
+static void register_xkb(void)
+{
+ set_handler("XKEYBOARD", dispatch_xkb, xkb_errors, xkb_events, xkb_replies);
+}
+
static int struct_size_PRINTER(tvbuff_t *tvb, int *offsetp, int little_endian _U_)
{
int size = 0;
@@ -22023,6 +29734,7 @@ static void register_x11_extensions(void)
register_composite();
register_damage();
register_dpms();
+ register_dri2();
register_ge();
register_glx();
register_randr();
@@ -22040,6 +29752,7 @@ static void register_x11_extensions(void)
register_xfixes();
register_xinerama();
register_xinput();
+ register_xkb();
register_xprint();
register_xselinux();
register_xtest();