diff options
Diffstat (limited to 'epan/dissectors/asn1/q932-ros/q932-ros.cnf')
-rw-r--r-- | epan/dissectors/asn1/q932-ros/q932-ros.cnf | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/q932-ros/q932-ros.cnf b/epan/dissectors/asn1/q932-ros/q932-ros.cnf new file mode 100644 index 0000000000..bafcbe953e --- /dev/null +++ b/epan/dissectors/asn1/q932-ros/q932-ros.cnf @@ -0,0 +1,120 @@ +#.PDU + +ROS + +#.OMIT_ASSIGNMENT + +Priority +RejectProblem +Components +GFPInvokeIDSet + +#.TYPE_RENAME + +Invoke/argument InvokeArgument +ReturnResult/result/result ResultArgument + +#.FIELD_RENAME + +Invoke/linkedId/present linkedIdPresent + +Reject/problem/invoke invokeProblem +Reject/problem/returnError returnErrorProblem +Reject/problem/returnResult returnResultProblem + +ReturnResult/result/result resultArgument + +#--- ROS --- + +#.FN_HDR ROS + /* will be moved to ROS_PDU when PDU function can be alternated from conformance file */ + actx->rose_ctx = rose_ctx_tmp; + rose_ctx_clean_data(actx->rose_ctx); +#.END + +#--- Code --- + +#.FN_PARS +Code VAL_PTR = &%(ACTX)s->rose_ctx->d.code +Code/local VAL_PTR = &%(ACTX)s->rose_ctx->d.code_local +Code/global FN_VARIANT = _str VAL_PTR = &%(ACTX)s->rose_ctx->d.code_global +#.FN_FTR Code + actx->rose_ctx->d.code_item = actx->created_item; +#.END + +#--- Problem --- + +#.FN_PARS +GeneralProblem VAL_PTR = &problem_val +InvokeProblem VAL_PTR = &problem_val +ReturnResultProblem VAL_PTR = &problem_val +ReturnErrorProblem VAL_PTR = &problem_val +#.FN_FTR GeneralProblem + g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_GeneralProblem_vals), ""), 64); +#.FN_FTR InvokeProblem + g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_InvokeProblem_vals), ""), 64); +#.FN_FTR ReturnResultProblem + g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_ReturnResultProblem_vals), ""), 64); +#.FN_FTR ReturnErrorProblem + g_strlcpy(problem_str, val_to_str_const(problem_val, VALS(q932_ros_ReturnErrorProblem_vals), ""), 64); +#.END + +#--- INVOKE --- + +#.FIELD_ATTR +Invoke/argument TYPE = FT_BYTES DISPLAY = BASE_NONE + +#.FN_BODY Invoke/argument + gint len; + + len = tvb_reported_length_remaining(tvb, offset); + if (len) + proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA); + arg_next_tvb = tvb_new_subset_remaining(tvb, offset); + + offset += tvb_reported_length_remaining(tvb, offset); +#.END + +#.INCLUDE ../ros/ros-inv.cnf + +#--- RETURN RESULT --- + +#.FIELD_ATTR +ReturnResult/result/result TYPE = FT_BYTES DISPLAY = BASE_NONE + +#.FN_BODY ReturnResult/result/result + gint len; + + len = tvb_reported_length_remaining(tvb, offset); + if (len) + proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA); + res_next_tvb = tvb_new_subset_remaining(tvb, offset); + + offset += tvb_reported_length_remaining(tvb, offset); + +#.END + +#.INCLUDE ../ros/ros-res.cnf + +#--- RETURN ERROR --- + +#.FIELD_ATTR +ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE + +#.FN_BODY ReturnError/parameter + + gint len; + + len = tvb_reported_length_remaining(tvb, offset); + if (len) + proto_tree_add_item(tree, hf_index, tvb, offset, len, ENC_NA); + err_next_tvb = tvb_new_subset_remaining(tvb, offset); + + offset += tvb_reported_length_remaining(tvb, offset); +#.END + +#.INCLUDE ../ros/ros-err.cnf + +#--- REJECT --- + +#.INCLUDE ../ros/ros-rej.cnf |