diff options
-rw-r--r-- | epan/dissectors/packet-x11.c | 169 | ||||
-rw-r--r-- | epan/dissectors/x11-declarations.h | 32 | ||||
-rw-r--r-- | epan/dissectors/x11-fields | 36 | ||||
-rw-r--r-- | epan/dissectors/x11-register-info.h | 32 |
4 files changed, 267 insertions, 2 deletions
diff --git a/epan/dissectors/packet-x11.c b/epan/dissectors/packet-x11.c index 6c160937b4..26ed6e487c 100644 --- a/epan/dissectors/packet-x11.c +++ b/epan/dissectors/packet-x11.c @@ -204,6 +204,14 @@ static gint ett_x11_configure_window_mask = -1; /* XXX - unused */ static gint ett_x11_keyboard_value_mask = -1; /* XXX - unused */ static gint ett_x11_same_screen_focus = -1; static gint ett_x11_event = -1; +static gint ett_x11_list_of_pixmap_format = -1; +static gint ett_x11_pixmap_format = -1; +static gint ett_x11_list_of_screen = -1; +static gint ett_x11_screen = -1; +static gint ett_x11_list_of_depth_detail = -1; +static gint ett_x11_depth_detail = -1; +static gint ett_x11_list_of_visualtype= -1; +static gint ett_x11_visualtype= -1; static expert_field ei_x11_invalid_format = EI_INIT; static expert_field ei_x11_request_length = EI_INIT; @@ -1186,6 +1194,8 @@ static const value_string zero_is_none_vals[] = { listOfKeysyms(tvb, pinfo, offsetp, t, hf_x11_##name, hf_x11_##name##_item, map, (keycode_first), (keycode_count), (keysyms_per_keycode), byte_order); } #define LISTofPOINT(name, length) { listOfPoint(tvb, offsetp, t, hf_x11_##name, (length) / 4, byte_order); } #define LISTofRECTANGLE(name) { listOfRectangle(tvb, offsetp, t, hf_x11_##name, (next_offset - *offsetp) / 8, byte_order); } +#define LISTofPIXMAPFORMAT(name, length) { listOfPixmapFormat(tvb, offsetp, t, hf_x11_##name, (length), byte_order); } +#define LISTofSCREEN(name, length) { listOfScreen(tvb, offsetp, t, hf_x11_##name, (length), byte_order); } #define LISTofSEGMENT(name) { listOfSegment(tvb, offsetp, t, hf_x11_##name, (next_offset - *offsetp) / 8, byte_order); } #define LISTofSTRING8(name, length) { listOfString8(tvb, offsetp, t, hf_x11_##name, hf_x11_##name##_string, (length), byte_order); } #define LISTofTEXTITEM8(name) { listOfTextItem(tvb, offsetp, t, hf_x11_##name, FALSE, next_offset, byte_order); } @@ -2107,6 +2117,145 @@ static void listOfSegment(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, } } +static void listOfVisualTypes(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, + int length, guint byte_order) +{ + proto_item *ti = proto_tree_add_item(t, hf, tvb, *offsetp, length * 24, byte_order); + proto_tree *tt = proto_item_add_subtree(ti, ett_x11_list_of_visualtype); + while(length--) { + proto_item *tti; + proto_tree *ttt; + + tti = proto_tree_add_none_format(tt, hf_x11_visualtype, tvb, *offsetp, 24, + "visualtype"); + ttt = proto_item_add_subtree(tti, ett_x11_visualtype); + proto_tree_add_item(ttt, hf_x11_visualtype_visualid, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_visualtype_class, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_visualtype_bits_per_rgb_value, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_visualtype_colormap_entries, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_visualtype_red_mask, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_visualtype_green_mask, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_visualtype_blue_mask, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_unused, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + } +} +static void listOfDepth(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, + int length, guint byte_order) +{ + guint8 number_of_visualtypes; + proto_item *ti; + proto_tree *tt; + + ti = proto_tree_add_item(t, hf, tvb, *offsetp, -1, byte_order); + tt = proto_item_add_subtree(ti, ett_x11_list_of_depth_detail); + while(length--) { + proto_item *tti; + proto_tree *ttt; + number_of_visualtypes = VALUE16(tvb, *offsetp + 2); + + tti = proto_tree_add_none_format(tt, hf_x11_depth_detail, tvb, *offsetp, 8 + 24 * number_of_visualtypes, + "depth-detail"); + ttt = proto_item_add_subtree(tti, ett_x11_screen); + proto_tree_add_item(ttt, hf_x11_depth_detail_depth, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_unused, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_depth_detail_visualtypes_numbers, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_unused, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + if (number_of_visualtypes > 0) + listOfVisualTypes(tvb, offsetp, ttt, hf_x11_visualtype, number_of_visualtypes, byte_order); + } +} + +static void listOfScreen(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, + int length, guint byte_order) +{ + proto_item *ti = proto_tree_add_item(t, hf, tvb, *offsetp, -1, byte_order); + proto_tree *tt = proto_item_add_subtree(ti, ett_x11_list_of_screen); + while(length--) { + guint8 number_of_depths, root_depth; + guint16 width_in_pixels, height_in_pixels; + guint32 screen_root; + proto_item *tti; + proto_tree *ttt; + + screen_root = VALUE32(tvb, *offsetp); + width_in_pixels = VALUE16(tvb, *offsetp + 20); + height_in_pixels = VALUE16(tvb, *offsetp + 22); + root_depth = VALUE8(tvb, *offsetp + 38); + tti = proto_tree_add_none_format(tt, hf_x11_screen, tvb, *offsetp, 0, + "screen (%08x: %d x %d x %d)", screen_root, + width_in_pixels, height_in_pixels, root_depth); + ttt = proto_item_add_subtree(tti, ett_x11_screen); + proto_tree_add_item(ttt, hf_x11_screen_root, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_screen_default_colormap, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_screen_white_pixel, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_screen_black_pixel, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_screen_current_input_masks, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_screen_width_in_pixels, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_screen_height_in_pixels, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_screen_width_in_millimeters, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_screen_height_in_millimeters, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_screen_min_installed_maps, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_screen_max_installed_maps, tvb, *offsetp, 2, byte_order); + *offsetp += 2; + proto_tree_add_item(ttt, hf_x11_screen_root_visual, tvb, *offsetp, 4, byte_order); + *offsetp += 4; + proto_tree_add_item(ttt, hf_x11_screen_backing_stores, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_screen_save_unders, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_screen_root_depth, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + number_of_depths = VALUE8(tvb, *offsetp); + proto_tree_add_item(ttt, hf_x11_screen_allowed_depths_len, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + listOfDepth(tvb, offsetp, ttt, hf_x11_depth_detail, number_of_depths, byte_order); + } +} +static void listOfPixmapFormat(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, + int length, guint byte_order) +{ + proto_item *ti = proto_tree_add_item(t, hf, tvb, *offsetp, length * 8, byte_order); + proto_tree *tt = proto_item_add_subtree(ti, ett_x11_list_of_pixmap_format); + while(length--) { + proto_item *tti; + proto_tree *ttt; + + tti = proto_tree_add_none_format(tt, hf_x11_pixmap_format, tvb, *offsetp, 8, + "pixmap-format"); + ttt = proto_item_add_subtree(tti, ett_x11_pixmap_format); + proto_tree_add_item(ttt, hf_x11_pixmap_format_depth, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_pixmap_format_bits_per_pixel, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_pixmap_format_scanline_pad, tvb, *offsetp, 1, byte_order); + *offsetp += 1; + proto_tree_add_item(ttt, hf_x11_unused, tvb, *offsetp, 5, byte_order); + *offsetp += 5; + } +} + static void listOfString8(tvbuff_t *tvb, int *offsetp, proto_tree *t, int hf, int hf_item, int length, guint byte_order) { @@ -2976,6 +3125,9 @@ static void dissect_x11_initial_reply(tvbuff_t *tvb, packet_info *pinfo, unsigned char success; int length_of_vendor; int length_of_reason; + int number_of_formats_in_pixmap_formats; + int number_of_screens_in_roots; + int unused; proto_item *ti; proto_tree *t; @@ -3003,8 +3155,8 @@ static void dissect_x11_initial_reply(tvbuff_t *tvb, packet_info *pinfo, INT32(motion_buffer_size); length_of_vendor = INT16(length_of_vendor); INT16(maximum_request_length); - INT8(number_of_screens_in_roots); - INT8(number_of_formats_in_pixmap_formats); + number_of_screens_in_roots = INT8(number_of_screens_in_roots); + number_of_formats_in_pixmap_formats = INT8(number_of_formats_in_pixmap_formats); INT8(image_byte_order); INT8(bitmap_format_bit_order); INT8(bitmap_format_scanline_unit); @@ -3013,6 +3165,11 @@ static void dissect_x11_initial_reply(tvbuff_t *tvb, packet_info *pinfo, INT8(max_keycode); UNUSED(4); STRING8(vendor, length_of_vendor); + unused = (4 - (length_of_vendor % 4)) % 4; + if (unused > 0) + UNUSED(unused); + LISTofPIXMAPFORMAT(pixmap_format, number_of_formats_in_pixmap_formats); + LISTofSCREEN(screen, number_of_screens_in_roots); } else { STRING8(reason, length_of_reason); } @@ -5676,6 +5833,14 @@ void proto_register_x11(void) &ett_x11_keyboard_value_mask, &ett_x11_same_screen_focus, &ett_x11_event, + &ett_x11_list_of_pixmap_format, + &ett_x11_pixmap_format, + &ett_x11_list_of_screen, + &ett_x11_screen, + &ett_x11_list_of_depth_detail, + &ett_x11_depth_detail, + &ett_x11_list_of_visualtype, + &ett_x11_visualtype, }; static ei_register_info ei[] = { diff --git a/epan/dissectors/x11-declarations.h b/epan/dissectors/x11-declarations.h index 597ae33a19..3f3e3bb630 100644 --- a/epan/dissectors/x11-declarations.h +++ b/epan/dissectors/x11-declarations.h @@ -178,6 +178,9 @@ static int hf_x11_data_length = -1; static int hf_x11_delete = -1; static int hf_x11_delta = -1; static int hf_x11_depth = -1; +static int hf_x11_depth_detail = -1; +static int hf_x11_depth_detail_depth = -1; +static int hf_x11_depth_detail_visualtypes_numbers = -1; static int hf_x11_destination = -1; static int hf_x11_direction = -1; static int hf_x11_drawable = -1; @@ -336,6 +339,10 @@ static int hf_x11_pixel = -1; static int hf_x11_pixels = -1; static int hf_x11_pixels_item = -1; static int hf_x11_pixmap = -1; +static int hf_x11_pixmap_format = -1; +static int hf_x11_pixmap_format_depth = -1; +static int hf_x11_pixmap_format_bits_per_pixel = -1; +static int hf_x11_pixmap_format_scanline_pad = -1; static int hf_x11_place = -1; static int hf_x11_plane_mask = -1; static int hf_x11_planes = -1; @@ -400,6 +407,23 @@ static int hf_x11_same_screen_focus_mask_same_screen = -1; static int hf_x11_success = -1; static int hf_x11_save_set_mode = -1; static int hf_x11_save_under = -1; +static int hf_x11_screen = -1; +static int hf_x11_screen_root = -1; +static int hf_x11_screen_default_colormap = -1; +static int hf_x11_screen_white_pixel = -1; +static int hf_x11_screen_black_pixel = -1; +static int hf_x11_screen_current_input_masks = -1; +static int hf_x11_screen_width_in_pixels = -1; +static int hf_x11_screen_height_in_pixels = -1; +static int hf_x11_screen_width_in_millimeters = -1; +static int hf_x11_screen_height_in_millimeters = -1; +static int hf_x11_screen_min_installed_maps = -1; +static int hf_x11_screen_max_installed_maps = -1; +static int hf_x11_screen_root_visual = -1; +static int hf_x11_screen_backing_stores = -1; +static int hf_x11_screen_save_unders = -1; +static int hf_x11_screen_root_depth = -1; +static int hf_x11_screen_allowed_depths_len = -1; static int hf_x11_screen_saver_mode = -1; static int hf_x11_segment = -1; static int hf_x11_segments = -1; @@ -456,6 +480,14 @@ static int hf_x11_visual_blue = -1; static int hf_x11_visual_green = -1; static int hf_x11_visual_red = -1; static int hf_x11_visualid = -1; +static int hf_x11_visualtype = -1; +static int hf_x11_visualtype_visualid = -1; +static int hf_x11_visualtype_class = -1; +static int hf_x11_visualtype_bits_per_rgb_value = -1; +static int hf_x11_visualtype_colormap_entries = -1; +static int hf_x11_visualtype_red_mask = -1; +static int hf_x11_visualtype_green_mask = -1; +static int hf_x11_visualtype_blue_mask = -1; static int hf_x11_warp_pointer_dst_window = -1; static int hf_x11_warp_pointer_src_window = -1; static int hf_x11_wid = -1; diff --git a/epan/dissectors/x11-fields b/epan/dissectors/x11-fields index 7d02353532..b6b2e64112 100644 --- a/epan/dissectors/x11-fields +++ b/epan/dissectors/x11-fields @@ -192,6 +192,10 @@ data-length UINT32 DEC delete BOOLEAN NONE Delete this property after reading delta INT16 DEC depth UINT8 DEC +depth-detail NONE NONE + depth UINT8 DEC + visualtypes-numbers UINT16 DEC + destination UINT8 DEC VALS direction UINT8 DEC VALS drawable UINT32 HEX @@ -365,6 +369,11 @@ pixel UINT32 HEX pixels NONE NONE pixels_item UINT32 HEX pixmap UINT32 HEX +pixmap-format NONE NONE Pixmap Formats + depth UINT8 DEC + bits-per-pixel UINT8 DEC + scanline-pad UINT8 DEC + place UINT8 DEC VALS plane-mask UINT32 HEX VALS planes UINT16 DEC @@ -434,6 +443,24 @@ same-screen-focus-mask UINT8 HEX success UINT8 DEC save-set-mode UINT8 DEC VALS(insert_delete) save-under BOOLEAN NONE +screen NONE NONE + root UINT32 HEX + default_colormap UINT32 HEX + white_pixel UINT32 HEX + black_pixel UINT32 HEX + current_input_masks UINT32 HEX + width_in_pixels UINT16 DEC + height_in_pixels UINT16 DEC + width_in_millimeters UINT16 DEC + height_in_millimeters UINT16 DEC + min_installed_maps UINT16 DEC + max_installed_maps UINT16 DEC + root_visual UINT32 HEX + backing_stores UINT8 HEX + save_unders BOOLEAN NONE + root_depth UINT8 DEC + allowed_depths_len UINT8 DEC + screen-saver-mode UINT8 DEC VALS segment NONE NONE segments NONE NONE @@ -494,6 +521,15 @@ visual-blue UINT16 DEC visual-green UINT16 DEC visual-red UINT16 DEC visualid UINT32 HEX +visualtype NONE NONE + visualid UINT32 HEX + class UINT8 DEC + bits-per-rgb-value UINT8 DEC + colormap-entries UINT16 DEC + red-mask UINT32 HEX + green-mask UINT32 HEX + blue-mask UINT32 HEX + warp-pointer-dst-window UINT32 HEX VALS(zero_is_none) warp-pointer-src-window UINT32 HEX VALS(zero_is_none) wid UINT32 HEX Window id diff --git a/epan/dissectors/x11-register-info.h b/epan/dissectors/x11-register-info.h index 86a6786685..0c99d34113 100644 --- a/epan/dissectors/x11-register-info.h +++ b/epan/dissectors/x11-register-info.h @@ -178,6 +178,9 @@ { &hf_x11_delete, { "delete", "x11.delete", FT_BOOLEAN, BASE_NONE, NULL, 0, "Delete this property after reading", HFILL }}, { &hf_x11_delta, { "delta", "x11.delta", FT_INT16, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_depth, { "depth", "x11.depth", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_depth_detail, { "depth-detail", "x11.depth-detail", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, +{ &hf_x11_depth_detail_depth, { "depth", "x11.depth-detail.depth", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_depth_detail_visualtypes_numbers, { "visualtypes-numbers", "x11.depth-detail.visualtypes-numbers", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_destination, { "destination", "x11.destination", FT_UINT8, BASE_DEC, VALS(destination_vals), 0, NULL, HFILL }}, { &hf_x11_direction, { "direction", "x11.direction", FT_UINT8, BASE_DEC, VALS(direction_vals), 0, NULL, HFILL }}, { &hf_x11_drawable, { "drawable", "x11.drawable", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, @@ -336,6 +339,10 @@ { &hf_x11_pixels, { "pixels", "x11.pixels", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x11_pixels_item, { "pixels_item", "x11.pixels_item", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, { &hf_x11_pixmap, { "pixmap", "x11.pixmap", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_pixmap_format, { "pixmap-format", "x11.pixmap-format", FT_NONE, BASE_NONE, NULL, 0, "Pixmap Formats", HFILL }}, +{ &hf_x11_pixmap_format_depth, { "depth", "x11.pixmap-format.depth", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_pixmap_format_bits_per_pixel, { "bits-per-pixel", "x11.pixmap-format.bits-per-pixel", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_pixmap_format_scanline_pad, { "scanline-pad", "x11.pixmap-format.scanline-pad", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_place, { "place", "x11.place", FT_UINT8, BASE_DEC, VALS(place_vals), 0, NULL, HFILL }}, { &hf_x11_plane_mask, { "plane-mask", "x11.plane-mask", FT_UINT32, BASE_HEX, VALS(plane_mask_vals), 0, NULL, HFILL }}, { &hf_x11_planes, { "planes", "x11.planes", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, @@ -400,6 +407,23 @@ { &hf_x11_success, { "success", "x11.success", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_save_set_mode, { "save-set-mode", "x11.save-set-mode", FT_UINT8, BASE_DEC, VALS(insert_delete_vals), 0, NULL, HFILL }}, { &hf_x11_save_under, { "save-under", "x11.save-under", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen, { "screen", "x11.screen", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_root, { "root", "x11.screen.root", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_default_colormap, { "default_colormap", "x11.screen.default_colormap", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_white_pixel, { "white_pixel", "x11.screen.white_pixel", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_black_pixel, { "black_pixel", "x11.screen.black_pixel", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_current_input_masks, { "current_input_masks", "x11.screen.current_input_masks", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_width_in_pixels, { "width_in_pixels", "x11.screen.width_in_pixels", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_height_in_pixels, { "height_in_pixels", "x11.screen.height_in_pixels", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_width_in_millimeters, { "width_in_millimeters", "x11.screen.width_in_millimeters", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_height_in_millimeters, { "height_in_millimeters", "x11.screen.height_in_millimeters", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_min_installed_maps, { "min_installed_maps", "x11.screen.min_installed_maps", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_max_installed_maps, { "max_installed_maps", "x11.screen.max_installed_maps", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_root_visual, { "root_visual", "x11.screen.root_visual", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_backing_stores, { "backing_stores", "x11.screen.backing_stores", FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_save_unders, { "save_unders", "x11.screen.save_unders", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_root_depth, { "root_depth", "x11.screen.root_depth", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_screen_allowed_depths_len, { "allowed_depths_len", "x11.screen.allowed_depths_len", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_screen_saver_mode, { "screen-saver-mode", "x11.screen-saver-mode", FT_UINT8, BASE_DEC, VALS(screen_saver_mode_vals), 0, NULL, HFILL }}, { &hf_x11_segment, { "segment", "x11.segment", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_x11_segments, { "segments", "x11.segments", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -456,6 +480,14 @@ { &hf_x11_visual_green, { "visual-green", "x11.visual-green", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_visual_red, { "visual-red", "x11.visual-red", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_x11_visualid, { "visualid", "x11.visualid", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype, { "visualtype", "x11.visualtype", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_visualid, { "visualid", "x11.visualtype.visualid", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_class, { "class", "x11.visualtype.class", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_bits_per_rgb_value, { "bits-per-rgb-value", "x11.visualtype.bits-per-rgb-value", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_colormap_entries, { "colormap-entries", "x11.visualtype.colormap-entries", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_red_mask, { "red-mask", "x11.visualtype.red-mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_green_mask, { "green-mask", "x11.visualtype.green-mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, +{ &hf_x11_visualtype_blue_mask, { "blue-mask", "x11.visualtype.blue-mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }}, { &hf_x11_warp_pointer_dst_window, { "warp-pointer-dst-window", "x11.warp-pointer-dst-window", FT_UINT32, BASE_HEX, VALS(zero_is_none_vals), 0, NULL, HFILL }}, { &hf_x11_warp_pointer_src_window, { "warp-pointer-src-window", "x11.warp-pointer-src-window", FT_UINT32, BASE_HEX, VALS(zero_is_none_vals), 0, NULL, HFILL }}, { &hf_x11_wid, { "wid", "x11.wid", FT_UINT32, BASE_HEX, NULL, 0, "Window id", HFILL }}, |