Revert r49406: it's not ready for prime time yet
[metze/wireshark/wip.git] / asn1 / ftam / ftam.cnf
index a3a17a9cdf5c14fcaa7b5d709caae7e17ec59196..d53fbcbbccfe630899ca34972eb2db1c718350f2 100644 (file)
@@ -3,12 +3,24 @@
 
 # $Id$
 
-#.MODULE_IMPORT
-ACSE-1 acse
-
-#.INCLUDE ../acse/acse-exp.cnf
+#.IMPORT ../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
+
+#.OMIT_ASSIGNMENT
+F-CHECK-request
+F-CHECK-response
+Other-Pattern
+#.END
 
 #.PDU
 
@@ -19,35 +31,31 @@ 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
 
+Contents-Type-List/_untag/_item Contents_Type_List_item
+Charging/_untag/_item Charging_item
+Diagnostic/_untag/_item Diagnostic_item
+Path-Access-Passwords/_untag/_item Path_Access_Passwords_item
+
 #.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
+Change-Attributes/_untag/path-access-control   change_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
+Change-Attributes/_untag/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
@@ -58,694 +66,61 @@ 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 Extension-Attribute/extension-attribute-identifier
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_index, object_identifier_id);
+#.FN_PARS OBJECT_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);
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
 
 #.FN_BODY Extension-Attribute/extension-attribute
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
 
-#.FN_BODY Attribute-Extensions-Pattern/extension-set-attribute-Patterns/extension-attribute-identifier
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_index, object_identifier_id);
+#.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);
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->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_BODY Document-Type-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, 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_BODY FTAM-Regime-PDU
+#.FN_BODY FTAM-Regime-PDU VAL_PTR = &branch_taken
   gint branch_taken;
 
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
-                              FTAM_Regime_PDU_choice, hf_index, ett_ftam_FTAM_Regime_PDU, &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);
-       }
+       col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_FTAM_Regime_PDU_vals[branch_taken].strptr);
   }
 
-#.FN_BODY File-PDU
+#.FN_BODY File-PDU VAL_PTR = &branch_taken
   gint branch_taken;
 
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
-                              File_PDU_choice, hf_index, ett_ftam_File_PDU, &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);
-       }
+       col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_File_PDU_vals[branch_taken].strptr);
   }
 
-#.FN_BODY Bulk-Data-PDU
+#.FN_BODY Bulk-Data-PDU VAL_PTR = &branch_taken
   gint branch_taken;
 
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
-                              Bulk_Data_PDU_choice, hf_index, ett_ftam_Bulk_Data_PDU, &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);
-       }
+       col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_Bulk_Data_PDU_vals[branch_taken].strptr);
   }
 
-#.FN_BODY FSM-PDU
+#.FN_BODY FSM-PDU VAL_PTR = &branch_taken
   gint branch_taken;
 
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
-                              FSM_PDU_choice, hf_index, ett_ftam_FSM_PDU, &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);
-       }
+       col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s:", ftam_FSM_PDU_vals[branch_taken].strptr);
   }