#.EXPORTS ROS #.OMIT_ASSIGNMENT Priority RejectProblem #.TYPE_RENAME Invoke/argument InvokeArgument ReturnResult/result/result ResultArgument #.FIELD_RENAME Invoke/invokeId invokeIdConstrained Reject/problem/invoke invokeProblem Reject/problem/returnError returnErrorProblem Reject/problem/returnResult returnResultProblem ReturnResult/result/result resultArgument #--- ROS --- #.FN_HDR ROS DISSECTOR_ASSERT(actx->rose_ctx); 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(problem_val, VALS(h450_ros_GeneralProblem_vals), ""), 64); problem_str[64-1] = '\0'; #.FN_FTR InvokeProblem g_strlcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_InvokeProblem_vals), ""), 64); problem_str[64-1] = '\0'; #.FN_FTR ReturnResultProblem g_strlcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_ReturnResultProblem_vals), ""), 64); problem_str[64-1] = '\0'; #.FN_FTR ReturnErrorProblem g_strlcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_ReturnErrorProblem_vals), ""), 64); problem_str[64-1] = '\0'; #.END #--- INVOKE --- # body is implemented manually as asn2wrs is not able to handle subtype constraint event passed through parameter #.FN_BODY Invoke/invokeId offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s, 0U, 65535U, %(VAL_PTR)s, TRUE); #.END #.FIELD_ATTR Invoke/argument TYPE = FT_BYTES DISPLAY = BASE_NONE #.FN_PARS Invoke/argument FN_VARIANT = _pdu TYPE_REF_FN = argument_cb #.END #.INCLUDE ../ros/ros-inv.cnf #--- RETURN RESULT --- #.FIELD_ATTR ReturnResult/result/result TYPE = FT_BYTES DISPLAY = BASE_NONE #.FN_PARS ReturnResult/result/result FN_VARIANT = _pdu TYPE_REF_FN = result_cb #.END #.INCLUDE ../ros/ros-res.cnf #--- RETURN ERROR --- #.FIELD_ATTR ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE #.FN_PARS ReturnError/parameter FN_VARIANT = _pdu TYPE_REF_FN = error_cb #.END #.INCLUDE ../ros/ros-err.cnf #--- REJECT --- #.INCLUDE ../ros/ros-rej.cnf