diff options
Diffstat (limited to 'epan/dissectors/packet-ros.c')
-rw-r--r-- | epan/dissectors/packet-ros.c | 80 |
1 files changed, 50 insertions, 30 deletions
diff --git a/epan/dissectors/packet-ros.c b/epan/dissectors/packet-ros.c index 7788d17e91..60a4b504ff 100644 --- a/epan/dissectors/packet-ros.c +++ b/epan/dissectors/packet-ros.c @@ -115,6 +115,15 @@ static int hf_ros_global = -1; /* OBJECT_IDENTIFIER */ /* Initialize the subtree pointers */ static gint ett_ros = -1; +static gint ett_ros_unknown = -1; +static gint ett_ros_invoke_argument = -1; +static gint ett_ros_return_result = -1; +static gint ett_ros_bind_invoke = -1; +static gint ett_ros_bind_result = -1; +static gint ett_ros_bind_error = -1; +static gint ett_ros_unbind_invoke = -1; +static gint ett_ros_unbind_result = -1; +static gint ett_ros_unbind_error = -1; /*--- Included file: packet-ros-ett.c ---*/ #line 1 "../../asn1/ros/packet-ros-ett.c" @@ -129,7 +138,7 @@ static gint ett_ros_InvokeId = -1; static gint ett_ros_Code = -1; /*--- End of included file: packet-ros-ett.c ---*/ -#line 79 "../../asn1/ros/packet-ros-template.c" +#line 88 "../../asn1/ros/packet-ros-template.c" static expert_field ei_ros_dissector_oid_not_implemented = EI_INIT; static expert_field ei_ros_unknown_ros_pdu = EI_INIT; @@ -138,7 +147,6 @@ static dissector_table_t ros_oid_dissector_table=NULL; static GHashTable *oid_table=NULL; static GHashTable *protocol_table=NULL; -static gint ett_ros_unknown = -1; void register_ros_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto _U_, const char *name, gboolean uses_rtse) @@ -491,12 +499,13 @@ static int dissect_ros_T_argument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 30 "../../asn1/ros/ros.cnf" char *oid; + proto_tree* subtree; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "invoke argument"); + subtree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_ros_invoke_argument, NULL, "invoke argument"); - ros_match_call_response(tvb, actx->pinfo, tree, invokeid, TRUE); + ros_match_call_response(tvb, actx->pinfo, subtree, invokeid, TRUE); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -532,14 +541,15 @@ dissect_ros_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_ros_OperationResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 47 "../../asn1/ros/ros.cnf" +#line 48 "../../asn1/ros/ros.cnf" char *oid; + proto_tree* subtree; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "return result"); + subtree = proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_return_result, NULL, "return result"); - ros_match_call_response(tvb, actx->pinfo, tree, invokeid, FALSE); + ros_match_call_response(tvb, actx->pinfo, subtree, invokeid, FALSE); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -598,14 +608,15 @@ dissect_ros_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _ static int dissect_ros_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 64 "../../asn1/ros/ros.cnf" +#line 66 "../../asn1/ros/ros.cnf" char *oid; + proto_tree* subtree; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "return result"); + subtree = proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_return_result, NULL, "return result"); - ros_match_call_response(tvb, actx->pinfo, tree, invokeid, FALSE); + ros_match_call_response(tvb, actx->pinfo, subtree, invokeid, FALSE); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -647,7 +658,7 @@ static const value_string ros_GeneralProblem_vals[] = { static int dissect_ros_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 168 "../../asn1/ros/ros.cnf" +#line 171 "../../asn1/ros/ros.cnf" guint32 problem; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -677,7 +688,7 @@ static const value_string ros_InvokeProblem_vals[] = { static int dissect_ros_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 178 "../../asn1/ros/ros.cnf" +#line 181 "../../asn1/ros/ros.cnf" guint32 problem; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -702,7 +713,7 @@ static const value_string ros_ReturnResultProblem_vals[] = { static int dissect_ros_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 188 "../../asn1/ros/ros.cnf" +#line 191 "../../asn1/ros/ros.cnf" guint32 problem; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -729,7 +740,7 @@ static const value_string ros_ReturnErrorProblem_vals[] = { static int dissect_ros_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 198 "../../asn1/ros/ros.cnf" +#line 201 "../../asn1/ros/ros.cnf" guint32 problem; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -788,7 +799,7 @@ dissect_ros_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_ros_T_reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 161 "../../asn1/ros/ros.cnf" +#line 164 "../../asn1/ros/ros.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO, "Reject"); offset = dissect_ros_Reject(implicit_tag, tvb, offset, actx, tree, hf_index); @@ -802,12 +813,12 @@ dissect_ros_T_reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U static int dissect_ros_T_bind_invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 81 "../../asn1/ros/ros.cnf" +#line 84 "../../asn1/ros/ros.cnf" char *oid; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "bind-invoke"); + proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_bind_result, NULL, "bind-invoke"); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -824,12 +835,12 @@ dissect_ros_T_bind_invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_ros_T_bind_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 94 "../../asn1/ros/ros.cnf" +#line 97 "../../asn1/ros/ros.cnf" char *oid; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "bind-result"); + proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_bind_result, NULL, "bind-result"); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -846,12 +857,12 @@ dissect_ros_T_bind_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_ros_T_bind_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 107 "../../asn1/ros/ros.cnf" +#line 110 "../../asn1/ros/ros.cnf" char *oid; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "bind-error"); + proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_bind_error, NULL, "bind-error"); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -869,12 +880,12 @@ dissect_ros_T_bind_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_ros_T_unbind_invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 121 "../../asn1/ros/ros.cnf" +#line 124 "../../asn1/ros/ros.cnf" char *oid; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "unbind-invoke"); + proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_unbind_invoke, NULL, "unbind-invoke"); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -892,12 +903,12 @@ dissect_ros_T_unbind_invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_ros_T_unbind_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 135 "../../asn1/ros/ros.cnf" +#line 138 "../../asn1/ros/ros.cnf" char *oid; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "unbind-result"); + proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_unbind_result, NULL, "unbind-result"); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -914,12 +925,12 @@ dissect_ros_T_unbind_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_ros_T_unbind_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 148 "../../asn1/ros/ros.cnf" +#line 151 "../../asn1/ros/ros.cnf" char *oid; struct SESSION_DATA_STRUCTURE* session = (struct SESSION_DATA_STRUCTURE *)actx->private_data; /* not sure what the length should be - -1 for now */ - proto_tree_add_text(tree, tvb, offset,-1, "unbind-error"); + proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_unbind_error, NULL, "unbind-error"); if(session && session->pres_ctx_id && (oid = find_oid_by_pres_ctx_id(actx->pinfo, session->pres_ctx_id))) { /* this should be ROS! */ @@ -1003,7 +1014,7 @@ dissect_ros_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, a /*--- End of included file: packet-ros-fn.c ---*/ -#line 371 "../../asn1/ros/packet-ros-template.c" +#line 379 "../../asn1/ros/packet-ros-template.c" /* * Dissect ROS PDUs inside a PPDU. @@ -1225,13 +1236,22 @@ void proto_register_ros(void) { "OBJECT_IDENTIFIER", HFILL }}, /*--- End of included file: packet-ros-hfarr.c ---*/ -#line 480 "../../asn1/ros/packet-ros-template.c" +#line 488 "../../asn1/ros/packet-ros-template.c" }; /* List of subtrees */ static gint *ett[] = { &ett_ros, &ett_ros_unknown, + &ett_ros_invoke_argument, + &ett_ros_return_result, + &ett_ros_bind_invoke, + &ett_ros_bind_result, + &ett_ros_bind_error, + &ett_ros_unbind_invoke, + &ett_ros_unbind_result, + &ett_ros_unbind_error, + /*--- Included file: packet-ros-ettarr.c ---*/ #line 1 "../../asn1/ros/packet-ros-ettarr.c" @@ -1246,7 +1266,7 @@ void proto_register_ros(void) { &ett_ros_Code, /*--- End of included file: packet-ros-ettarr.c ---*/ -#line 487 "../../asn1/ros/packet-ros-template.c" +#line 504 "../../asn1/ros/packet-ros-template.c" }; static ei_register_info ei[] = { |