diff options
Diffstat (limited to 'epan/dissectors/asn1/ros/ros.cnf')
-rw-r--r-- | epan/dissectors/asn1/ros/ros.cnf | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/ros/ros.cnf b/epan/dissectors/asn1/ros/ros.cnf new file mode 100644 index 0000000000..8511a8e20b --- /dev/null +++ b/epan/dissectors/asn1/ros/ros.cnf @@ -0,0 +1,207 @@ +#.EXPORTS +OPERATION +ERROR +OPERATION-PACKAGE +CONTRACT +InvokeId +Code +ROS + +#.OMIT_ASSIGNMENT +Priority +#.END + +#.TYPE_RENAME +ReturnResult/result/result OperationResult + +#.FIELD_RENAME +Reject/problem/invoke invokeProblem +ReturnResult/result/result operationResult +Reject/problem/returnError rejectError +Reject/problem/returnResult rejectResult + +#.FN_PARS OperationCode VAL_PTR = &opcode + +#.FN_PARS ErrorCode VAL_PTR = &opcode + +#.FN_PARS InvokeId/present VAL_PTR = &invokeid + +#.FN_BODY Invoke/argument + 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 */ + subtree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_ros_invoke_argument, NULL, "invoke argument"); + + 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! */ + session->ros_op = (ROS_OP_INVOKE | ROS_OP_ARGUMENT); + /* now add the opcode */ + session->ros_op |= opcode; + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ReturnResult/result/result + 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 */ + subtree = proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_return_result, NULL, "return result"); + + 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! */ + session->ros_op = (ROS_OP_INVOKE | ROS_OP_RESULT); + /* now add the opcode */ + session->ros_op |= opcode; + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ReturnError/parameter + 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 */ + subtree = proto_tree_add_subtree(tree, tvb, offset,-1, ett_ros_return_result, NULL, "return result"); + + 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! */ + session->ros_op = (ROS_OP_INVOKE | ROS_OP_ERROR); + /* now add the opcode (really the error code) */ + session->ros_op |= opcode; + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ROS/bind-invoke + 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_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! */ + session->ros_op = (ROS_OP_BIND | ROS_OP_ARGUMENT); + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ROS/bind-result + 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_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! */ + session->ros_op = (ROS_OP_BIND | ROS_OP_RESULT); + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ROS/bind-error + 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_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! */ + session->ros_op = (ROS_OP_BIND | ROS_OP_ERROR); + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + + +#.FN_BODY ROS/unbind-invoke + 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_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! */ + session->ros_op = (ROS_OP_UNBIND | ROS_OP_ARGUMENT); + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + + +#.FN_BODY ROS/unbind-result + 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_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! */ + session->ros_op = (ROS_OP_UNBIND | ROS_OP_RESULT); + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ROS/unbind-error + 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_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! */ + session->ros_op = (ROS_OP_UNBIND | ROS_OP_ERROR); + offset = call_ros_oid_callback(oid, tvb, offset, actx->pinfo, top_tree, session); + } + +#.FN_BODY ROS/reject + col_set_str(actx->pinfo->cinfo, COL_INFO, "Reject"); + %(DEFAULT_BODY)s + +#.FN_PARS GeneralProblem + VAL_PTR = &problem + +#.FN_BODY GeneralProblem + guint32 problem; + + %(DEFAULT_BODY)s + + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_GeneralProblem_vals, "GeneralProblem(%%d)")); + +#.FN_PARS InvokeProblem + VAL_PTR = &problem + +#.FN_BODY InvokeProblem + guint32 problem; + + %(DEFAULT_BODY)s + + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_InvokeProblem_vals, "InvokeProblem(%%d)")); + +#.FN_PARS ReturnResultProblem + VAL_PTR = &problem + +#.FN_BODY ReturnResultProblem + guint32 problem; + + %(DEFAULT_BODY)s + + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_ReturnResultProblem_vals, "ReturnResultProblem(%%d)")); + +#.FN_PARS ReturnErrorProblem + VAL_PTR = &problem + +#.FN_BODY ReturnErrorProblem + guint32 problem; + + %(DEFAULT_BODY)s + + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, ros_ReturnErrorProblem_vals, "ReturnErrorProblem(%%d)")); + +#.END |