aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-h450.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-h450.c')
-rw-r--r--epan/dissectors/packet-h450.c38
1 files changed, 26 insertions, 12 deletions
diff --git a/epan/dissectors/packet-h450.c b/epan/dissectors/packet-h450.c
index 1c1920b9d8..66df7f3e69 100644
--- a/epan/dissectors/packet-h450.c
+++ b/epan/dissectors/packet-h450.c
@@ -38,6 +38,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/expert.h>
#include <epan/asn1.h>
@@ -447,7 +448,7 @@ static int hf_h450_12_ssMWICallbackCall = -1; /* NULL */
static int hf_h450_12_ssCISilentMonitorPermitted = -1; /* NULL */
/*--- End of included file: packet-h450-hf.c ---*/
-#line 54 "../../asn1/h450/packet-h450-template.c"
+#line 55 "../../asn1/h450/packet-h450-template.c"
/* Initialize the subtree pointers */
@@ -625,7 +626,11 @@ static gint ett_h450_12_FeatureValues = -1;
static gint ett_h450_12_FeatureControl = -1;
/*--- End of included file: packet-h450-ett.c ---*/
-#line 57 "../../asn1/h450/packet-h450-template.c"
+#line 58 "../../asn1/h450/packet-h450-template.c"
+
+static expert_field ei_h450_unsupported_arg_type = EI_INIT;
+static expert_field ei_h450_unsupported_result_type = EI_INIT;
+static expert_field ei_h450_unsupported_error_type = EI_INIT;
static const value_string h450_str_operation[] = {
@@ -728,7 +733,7 @@ static const value_string h450_str_operation[] = {
{ 85, "cmnInform" },
/*--- End of included file: packet-h450-table10.c ---*/
-#line 60 "../../asn1/h450/packet-h450-template.c"
+#line 65 "../../asn1/h450/packet-h450-template.c"
{ 0, NULL}
};
@@ -816,7 +821,7 @@ static const value_string h450_str_error[] = {
/* Unknown or empty loop list ERROR */
/*--- End of included file: packet-h450-table20.c ---*/
-#line 65 "../../asn1/h450/packet-h450-template.c"
+#line 70 "../../asn1/h450/packet-h450-template.c"
{ 0, NULL}
};
@@ -4481,7 +4486,7 @@ static int dissect_h450_12_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
/*--- End of included file: packet-h450-fn.c ---*/
-#line 74 "../../asn1/h450/packet-h450-template.c"
+#line 79 "../../asn1/h450/packet-h450-template.c"
typedef struct _h450_op_t {
gint32 opcode;
@@ -4590,7 +4595,7 @@ static const h450_op_t h450_op_tab[] = {
/* cmnInform */ { 85, dissect_h450_12_CmnArg_PDU, NULL },
/*--- End of included file: packet-h450-table11.c ---*/
-#line 83 "../../asn1/h450/packet-h450-template.c"
+#line 88 "../../asn1/h450/packet-h450-template.c"
};
typedef struct _h450_err_t {
@@ -4682,7 +4687,7 @@ static const h450_err_t h450_err_tab[] = {
/* Unknown or empty loop list ERROR */
/*--- End of included file: packet-h450-table21.c ---*/
-#line 92 "../../asn1/h450/packet-h450-template.c"
+#line 97 "../../asn1/h450/packet-h450-template.c"
};
static const h450_op_t *get_op(gint32 opcode) {
@@ -4743,7 +4748,7 @@ dissect_h450_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
offset = op_ptr->arg_pdu(tvb, pinfo, tree, NULL);
else
if (tvb_length_remaining(tvb, offset) > 0) {
- proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (H.450)");
+ proto_tree_add_expert(tree, pinfo, &ei_h450_unsupported_arg_type, tvb, offset, -1);
offset += tvb_length_remaining(tvb, offset);
}
@@ -4788,7 +4793,7 @@ dissect_h450_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
offset = op_ptr->res_pdu(tvb, pinfo, tree, NULL);
else
if (tvb_length_remaining(tvb, offset) > 0) {
- proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (H.450)");
+ proto_tree_add_expert(tree, pinfo, &ei_h450_unsupported_result_type, tvb, offset, -1);
offset += tvb_length_remaining(tvb, offset);
}
@@ -4833,7 +4838,7 @@ dissect_h450_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
offset = err_ptr->err_pdu(tvb, pinfo, tree, NULL);
else
if (tvb_length_remaining(tvb, offset) > 0) {
- proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (H.450)");
+ proto_tree_add_expert(tree, pinfo, &ei_h450_unsupported_error_type, tvb, offset, -1);
offset += tvb_length_remaining(tvb, offset);
}
@@ -6284,7 +6289,7 @@ void proto_register_h450(void) {
NULL, HFILL }},
/*--- End of included file: packet-h450-hfarr.c ---*/
-#line 261 "../../asn1/h450/packet-h450-template.c"
+#line 266 "../../asn1/h450/packet-h450-template.c"
};
/* List of subtrees */
@@ -6464,9 +6469,16 @@ void proto_register_h450(void) {
&ett_h450_12_FeatureControl,
/*--- End of included file: packet-h450-ettarr.c ---*/
-#line 266 "../../asn1/h450/packet-h450-template.c"
+#line 271 "../../asn1/h450/packet-h450-template.c"
+ };
+
+ static ei_register_info ei[] = {
+ { &ei_h450_unsupported_arg_type, { "h450.unsupported.arg_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ARGUMENT TYPE (H.450)", EXPFILL }},
+ { &ei_h450_unsupported_result_type, { "h450.unsupported.result_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED RESULT TYPE (H.450)", EXPFILL }},
+ { &ei_h450_unsupported_error_type, { "h450.unsupported.error_type", PI_UNDECODED, PI_WARN, "UNSUPPORTED ERROR TYPE (H.450)", EXPFILL }},
};
+ expert_module_t* expert_h450;
/* Register protocol */
proto_h450 = proto_register_protocol(PNAME, PSNAME, PFNAME);
@@ -6474,6 +6486,8 @@ void proto_register_h450(void) {
/* Register fields and subtrees */
proto_register_field_array(proto_h450, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ expert_h450 = expert_register_protocol(proto_h450);
+ expert_register_field_array(expert_h450, ei, array_length(ei));
rose_ctx_init(&h450_rose_ctx);