# FTAM.cnf # FTAM conformation file # $Id$ #.MODULE_IMPORT ACSE-1 acse #.INCLUDE ../acse/acse-exp.cnf #.EXPORTS Attribute-Extensions Concurrency-Access Date-and-Time-Attribute Legal-Qualification-Attribute Object-Availability-Attribute Object-Size-Attribute Pathname Permitted-Actions-Attribute Private-Use-Attribute #.PDU #.NO_EMIT #.TYPE_RENAME F-OPEN-request/recovery-mode T_request_recovery_mode F-OPEN-response/recovery-mode T_response_recovery_mode Access-Control-Change-Attribute/actual-values T_actual_values1 #.FIELD_RENAME F-OPEN-request/recovery-mode request_recovery_mode F-OPEN-response/recovery-mode response_recovery_mode Concurrency-Control/replace replace_lock Concurrency-Access/replace replace_key Concurrency-Control/read-attribute read_attribute_lock Concurrency-Access/read-attribute read_attribute_key Concurrency-Control/read read_lock Concurrency-Access/read read_key Concurrency-Control/insert insert_lock Concurrency-Access/insert insert_key Concurrency-Control/extend extend_lock Concurrency-Access/extend extend_key Concurrency-Control/erase erase_lock Concurrency-Access/erase erase_key Concurrency-Control/change-attribute change_attribute_lock Concurrency-Access/change-attribute change_attribute_key Concurrency-Control/delete-Object delete_Object_lock Concurrency-Access/delete-Object delete_Object_key F-READ-request/access-context read_access_context Change-Attributes/path-access-control change_path_access_control Create-Attributes/path-access-control create_path_access_control Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-identifier attribute_extension_attribute_identifier F-OPEN-request/contents-type open_contents_type F-READ-ATTRIB-response/attributes read_attributes F-READ-LINK-ATTRIB-response/attributes read_link_attributes F-SELECT-request/attributes select_attributes F-SELECT-response/attributes select_attributes Change-Attributes/access-control change_attributes_access_control Access-Control-Change-Attribute/actual-values actual_values1 Account-Attribute/actual-values actual_values2 Access-Control-Attribute/actual-values actual_values3 Private-Use-Attribute/actual-values actual_values4 Date-and-Time-Attribute/actual-values actual_values5 User-Identity-Attribute/actual-values actual_values6 Object-Size-Attribute/actual-values actual_values7 Object-Availability-Attribute/actual-values actual_values8 Legal-Qualification-Attribute/actual-values actual_values9 #.FN_PARS Extension-Attribute/extension-attribute-identifier FN_VARIANT = _str VAL_PTR = &object_identifier_id #.FN_BODY Contents-Type-Attribute/document-type/parameter offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); #.FN_BODY Extension-Attribute/extension-attribute offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); #.FN_PARS Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-identifier FN_VARIANT = _str VAL_PTR = &object_identifier_id #.FN_BODY Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns/_item/extension-attribute-Pattern offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); #.FN_BODY AP-title /* XXX have no idea about this one */ #.FN_BODY AE-qualifier /* XXX have no idea about this one */ #.FN_BODY Implementation-Information gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_restricted_string(TRUE, 1, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Protocol-Version gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset, Protocol_Version_bits, hf_index, ett_ftam_Protocol_Version, NULL); #.FN_BODY Service-Class gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset, Service_Class_bits, hf_index, ett_ftam_Service_Class, NULL); #.FN_BODY Functional-Units gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset, Functional_Units_bits, hf_index, ett_ftam_Functional_Units, NULL); #.FN_BODY Attribute-Groups gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset, Attribute_Groups_bits, hf_index, ett_ftam_Attribute_Groups, NULL); #.FN_BODY FTAM-Quality-of-Service gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Contents-Type-List gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset, Contents_Type_List_sequence_of, hf_index, ett_ftam_Contents_Type_List); #.FN_BODY Degree-Of-Overlap gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Request-Type gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Abstract-Syntax-Name gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_object_identifier(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Access-Context gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Access_Context_sequence, hf_index, ett_ftam_Access_Context); #.FN_BODY Access-Passwords gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Access_Passwords_sequence, hf_index, ett_ftam_Access_Passwords); #.FN_BODY Access-Request gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset, Access_Request_bits, hf_index, ett_ftam_Access_Request, NULL); #.FN_BODY Account gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_restricted_string(TRUE, 4, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Action-Result gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Activity-Identifier gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Change-Attributes gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Change_Attributes_sequence, hf_index, ett_ftam_Change_Attributes); #.FN_BODY Charging gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset, Charging_sequence_of, hf_index, ett_ftam_Charging); #.FN_BODY Concurrency-Control gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Concurrency_Control_sequence, hf_index, ett_ftam_Concurrency_Control); #.FN_BODY Constraint-Set-Name gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_object_identifier(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Create-Attributes gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Create_Attributes_sequence, hf_index, ett_ftam_Create_Attributes); #.FN_BODY Diagnostic gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset, Diagnostic_sequence_of, hf_index, ett_ftam_Diagnostic); #.FN_PARS Document-Type-Name FN_VARIANT = _str VAL_PTR = &object_identifier_id #.FN_BODY FADU-Lock gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Read-Attributes gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Read_Attributes_sequence, hf_index, ett_ftam_Read_Attributes); #.FN_BODY Select-Attributes gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset, Select_Attributes_sequence, hf_index, ett_ftam_Select_Attributes); #.FN_BODY State-Result gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY User-Identity gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_restricted_string(TRUE, 22, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Scope gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset, Scope_sequence_of, hf_index, ett_ftam_Scope); #.FN_BODY Objects-Attributes-List gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset, Objects_Attributes_List_sequence_of, hf_index, ett_ftam_Objects_Attributes_List); #.FN_BODY Path-Access-Passwords gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset, Path_Access_Passwords_sequence_of, hf_index, ett_ftam_Path_Access_Passwords); #.FN_BODY Request-Operation-Result gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index, NULL); #.FN_BODY Shared-ASE-Informatio gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_acse_EXTERNAL(TRUE, tvb, offset, pinfo, tree, hf_index); #.FN_BODY Attribute-Value-Assertions gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ftam_OR_Set(TRUE, tvb, offset, pinfo, tree, hf_index); #.FN_BODY Referent-Indicator gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_boolean(TRUE, pinfo, tree, tvb, offset, hf_index); #.FN_BODY Password gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_choice(pinfo, tree, tvb, offset, Password_choice, hf_index, ett_ftam_Password, NULL); #.FN_BODY FADU-Identity gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_choice(pinfo, tree, tvb, offset, FADU_Identity_choice, hf_index, ett_ftam_FADU_Identity, NULL); #.FN_BODY Operation-Result gint8 class; gboolean pc, ind_field; gint32 tag; guint32 len1; if(!implicit_tag){ /* XXX asn2eth can not yet handle tagged assignment yes so this * XXX is some conformance file magic to work around that bug */ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag); offset = get_ber_length(tree, tvb, offset, &len1, &ind_field); } offset = dissect_ber_choice(pinfo, tree, tvb, offset, Operation_Result_choice, hf_index, ett_ftam_Operation_Result, NULL); #.FN_PARS FTAM-Regime-PDU VAL_PTR = &branch_taken #.FN_BODY FTAM-Regime-PDU gint branch_taken; %(DEFAULT_BODY)s if( (branch_taken!=-1) && ftam_FTAM_Regime_PDU_vals[branch_taken].strptr ){ if (check_col(pinfo->cinfo, COL_INFO)) { col_append_fstr(pinfo->cinfo, COL_INFO, " %%s:", ftam_FTAM_Regime_PDU_vals[branch_taken].strptr); } } #.FN_PARS File-PDU VAL_PTR = &branch_taken #.FN_BODY File-PDU gint branch_taken; %(DEFAULT_BODY)s if( (branch_taken!=-1) && ftam_File_PDU_vals[branch_taken].strptr ){ if (check_col(pinfo->cinfo, COL_INFO)) { col_append_fstr(pinfo->cinfo, COL_INFO, " %%s:", ftam_File_PDU_vals[branch_taken].strptr); } } #.FN_PARS Bulk-Data-PDU VAL_PTR = &branch_taken #.FN_BODY Bulk-Data-PDU gint branch_taken; %(DEFAULT_BODY)s if( (branch_taken!=-1) && ftam_Bulk_Data_PDU_vals[branch_taken].strptr ){ if (check_col(pinfo->cinfo, COL_INFO)) { col_append_fstr(pinfo->cinfo, COL_INFO, " %%s:", ftam_Bulk_Data_PDU_vals[branch_taken].strptr); } } #.FN_PARS FSM-PDU VAL_PTR = &branch_taken #.FN_BODY FSM-PDU gint branch_taken; %(DEFAULT_BODY)s if( (branch_taken!=-1) && ftam_FSM_PDU_vals[branch_taken].strptr ){ if (check_col(pinfo->cinfo, COL_INFO)) { col_append_fstr(pinfo->cinfo, COL_INFO, " %%s:", ftam_FSM_PDU_vals[branch_taken].strptr); } }