diff options
author | Michael Mann <mmann78@netscape.net> | 2013-06-12 03:33:44 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-06-12 03:33:44 +0000 |
commit | 93be0fb393fb97016a188d0cb51dc4cba1cfec1d (patch) | |
tree | 6213793581988388de5f6540fe4cb0e4bd800bad /epan/dissectors/packet-srvloc.c | |
parent | 66a7193699152461181bb742163fd386019cb986 (diff) |
Batch of filterable expert infos with some minor cleanup I noticed while doing the filter conversions.
svn path=/trunk/; revision=49893
Diffstat (limited to 'epan/dissectors/packet-srvloc.c')
-rw-r--r-- | epan/dissectors/packet-srvloc.c | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/epan/dissectors/packet-srvloc.c b/epan/dissectors/packet-srvloc.c index 5a8f25027d..3aa843385c 100644 --- a/epan/dissectors/packet-srvloc.c +++ b/epan/dissectors/packet-srvloc.c @@ -154,6 +154,9 @@ static gint ett_srvloc = -1; static gint ett_srvloc_attr = -1; static gint ett_srvloc_flags = -1; +static expert_field ei_srvloc_error = EI_INIT; +static expert_field ei_srvloc_error_v2 = EI_INIT; +static expert_field ei_srvloc_function_unknown = EI_INIT; static const true_false_string tfs_srvloc_flags_overflow = { "Message will not fit in datagram", @@ -893,7 +896,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; count = tvb_get_ntohs(tvb, offset); @@ -945,7 +948,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; break; @@ -977,7 +980,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error_v2, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; length = tvb_get_ntohs(tvb, offset); @@ -995,7 +998,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; length = tvb_get_ntohs(tvb, offset); @@ -1040,7 +1043,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error, "Error: %s", val_to_str(expert_status, srvloc_errs, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; count = tvb_get_ntohs(tvb, offset); @@ -1059,7 +1062,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ default: expert_item = proto_tree_add_text(srvloc_tree, tvb, offset, -1, "Unknown Function Type"); - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Unknown Function Type: %d", function); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_function_unknown, "Unknown Function Type: %d", function); } } else { /* Version 2 */ @@ -1133,7 +1136,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error_v2, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error_v2, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; count = tvb_get_ntohs(tvb, offset); @@ -1199,7 +1202,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error_v2, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error_v2, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; break; @@ -1246,7 +1249,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error_v2, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error_v2, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; length = tvb_get_ntohs(tvb, offset); @@ -1269,7 +1272,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error_v2, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error_v2, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; ts.nsecs = 0; @@ -1347,7 +1350,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ expert_item = proto_tree_add_item(srvloc_tree, hf_srvloc_error_v2, tvb, offset, 2, ENC_BIG_ENDIAN); expert_status = tvb_get_ntohs(tvb, offset); if (expert_status!=0) { - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_error_v2, "Error: %s", val_to_str(expert_status, srvloc_errs_v2, "Unknown SRVLOC Error (0x%02x)")); } offset += 2; length = tvb_get_ntohs(tvb, offset); @@ -1392,7 +1395,7 @@ dissect_srvloc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _ default: expert_item = proto_tree_add_text(srvloc_tree, tvb, offset, -1, "Unknown Function Type"); - expert_add_info_format(pinfo, expert_item, PI_RESPONSE_CODE, PI_ERROR, "Unknown Function Type: %d", function); + expert_add_info_format_text(pinfo, expert_item, &ei_srvloc_function_unknown, "Unknown Function Type: %d", function); } } return offset; @@ -1886,12 +1889,21 @@ proto_register_srvloc(void) &ett_srvloc_attr, &ett_srvloc_flags, }; - module_t *srvloc_module; + static ei_register_info ei[] = { + { &ei_srvloc_error, { "srvloc.err.expert", PI_RESPONSE_CODE, PI_ERROR, "Error", EXPFILL }}, + { &ei_srvloc_error_v2, { "srvloc.errv2.expert", PI_RESPONSE_CODE, PI_ERROR, "Error", EXPFILL }}, + { &ei_srvloc_function_unknown, { "srvloc.function.unknown", PI_RESPONSE_CODE, PI_ERROR, "Unknown Function Type", EXPFILL }}, + }; + + module_t *srvloc_module; + expert_module_t* expert_srvloc; proto_srvloc = proto_register_protocol("Service Location Protocol", "SRVLOC", "srvloc"); proto_register_field_array(proto_srvloc, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + expert_srvloc = expert_register_protocol(proto_srvloc); + expert_register_field_array(expert_srvloc, ei, array_length(ei)); srvloc_module = prefs_register_protocol(proto_srvloc, NULL); prefs_register_bool_preference(srvloc_module, "desegment_tcp", "Reassemble SRVLOC messages spanning multiple TCP segments", |