Second step in introducing asn context to BER dissectors just like in PER.
[obnox/wireshark/wip.git] / epan / dissectors / packet-pres.c
index 834e4c7ff294385a8d1c1707be589faf78d74aa9..63c7926f347ed789f92e3c0a0cd44e0e7fbf2a67 100644 (file)
@@ -1,10 +1,11 @@
 /* Do not modify this file.                                                   */
-/* It is created automatically by the ASN.1 to Ethereal dissector compiler    */
-/* ./packet-pres.c                                                            */
-/* ../../tools/asn2eth.py -X -b -e -p pres -c pres.cnf -s packet-pres-template ISO8823-PRESENTATION.asn */
+/* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
+/* .\packet-pres.c                                                            */
+/* ../../tools/asn2wrs.py -b -e -p pres -c pres.cnf -s packet-pres-template ISO8823-PRESENTATION.asn */
 
 /* Input file: packet-pres-template.c */
 
+#line 1 "packet-pres-template.c"
 /* packet-pres.c
  * Routine to dissect ISO 8823 OSI Presentation Protocol packets
  * Based on the dissector by 
@@ -12,8 +13,8 @@
  *
  * $Id$
  *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
  * Copyright 1998 Gerald Combs
  *
  * This program is free software; you can redistribute it and/or
@@ -43,6 +44,7 @@
 #include <stdio.h>
 #include <string.h>
 
+#include <epan/asn1.h>
 #include "packet-ber.h"
 #include "packet-ses.h"
 #include "packet-pres.h"
@@ -70,7 +72,7 @@ static guint32 presentation_context_identifier;
 
 /* to keep track of presentation context identifiers and protocol-oids */
 typedef struct _pres_ctx_oid_t {
-       /* XXX here we should keep track of ADDRESS/PORT as well */
+       /* XXX here we should keep track of conversation as well */
        guint32 ctx_id;
        char *oid;
 } pres_ctx_oid_t;
@@ -84,7 +86,7 @@ static int hf_pres_Typed_data_type = -1;
 
 
 /*--- Included file: packet-pres-hf.c ---*/
-
+#line 1 "packet-pres-hf.c"
 static int hf_pres_mode_selector = -1;            /* Mode_selector */
 static int hf_pres_x410_mode_parameters = -1;     /* RTORQapdu */
 static int hf_pres_normal_mode_parameters = -1;   /* T_normal_mode_parameters */
@@ -164,14 +166,14 @@ static int hf_pres_User_session_requirements_symmetric_synchronize = -1;
 static int hf_pres_User_session_requirements_data_separation = -1;
 
 /*--- End of included file: packet-pres-hf.c ---*/
-
+#line 80 "packet-pres-template.c"
 
 /* Initialize the subtree pointers */
 static gint ett_pres           = -1;
 
 
 /*--- Included file: packet-pres-ett.c ---*/
-
+#line 1 "packet-pres-ett.c"
 static gint ett_pres_CP_type = -1;
 static gint ett_pres_T_normal_mode_parameters = -1;
 static gint ett_pres_T_extensions = -1;
@@ -209,7 +211,7 @@ static gint ett_pres_T_presentation_data_values = -1;
 static gint ett_pres_User_session_requirements = -1;
 
 /*--- End of included file: packet-pres-ett.c ---*/
-
+#line 85 "packet-pres-template.c"
 
 
 static guint
@@ -248,6 +250,7 @@ register_ctx_id_and_oid(packet_info *pinfo _U_, guint32 idx, const char *oid)
 
        if(!oid){
                /* we did not get any oid name, malformed packet? */
+               pco->oid=NULL;
                return;
        }
 
@@ -276,20 +279,20 @@ find_oid_by_pres_ctx_id(packet_info *pinfo _U_, guint32 idx)
 
 
 /*--- Included file: packet-pres-fn.c ---*/
-
+#line 1 "packet-pres-fn.c"
 /*--- Fields for imported types ---*/
 
-static int dissect_x410_mode_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_rtse_RTORQapdu(TRUE, tvb, offset, pinfo, tree, hf_pres_x410_mode_parameters);
+static int dissect_x410_mode_parameters_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_rtse_RTORQapdu(TRUE, tvb, offset, actx, tree, hf_pres_x410_mode_parameters);
 }
-static int dissect_cPR_PPDU_x400_mode_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_rtse_RTOACapdu(TRUE, tvb, offset, pinfo, tree, hf_pres_cPR_PPDU_x400_mode_parameters);
+static int dissect_cPR_PPDU_x400_mode_parameters_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_rtse_RTOACapdu(TRUE, tvb, offset, actx, tree, hf_pres_cPR_PPDU_x400_mode_parameters);
 }
-static int dissect_cPU_PPDU_x400_mode_parameters(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_rtse_RTORJapdu(FALSE, tvb, offset, pinfo, tree, hf_pres_cPU_PPDU_x400_mode_parameters);
+static int dissect_cPU_PPDU_x400_mode_parameters(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_rtse_RTORJapdu(FALSE, tvb, offset, actx, tree, hf_pres_cPU_PPDU_x400_mode_parameters);
 }
-static int dissect_aRU_PPDU_x400_mode_parameters(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_rtse_RTABapdu(FALSE, tvb, offset, pinfo, tree, hf_pres_aRU_PPDU_x400_mode_parameters);
+static int dissect_aRU_PPDU_x400_mode_parameters(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_rtse_RTABapdu(FALSE, tvb, offset, actx, tree, hf_pres_aRU_PPDU_x400_mode_parameters);
 }
 
 
@@ -301,14 +304,14 @@ static const value_string pres_T_mode_value_vals[] = {
 
 
 static int
-dissect_pres_T_mode_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_T_mode_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_mode_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_mode_value(TRUE, tvb, offset, pinfo, tree, hf_pres_mode_value);
+static int dissect_mode_value_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_mode_value(TRUE, tvb, offset, actx, tree, hf_pres_mode_value);
 }
 
 
@@ -318,14 +321,14 @@ static const ber_sequence_t Mode_selector_set[] = {
 };
 
 static int
-dissect_pres_Mode_selector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Mode_selector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
                               Mode_selector_set, hf_index, ett_pres_Mode_selector);
 
   return offset;
 }
-static int dissect_mode_selector_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Mode_selector(TRUE, tvb, offset, pinfo, tree, hf_pres_mode_selector);
+static int dissect_mode_selector_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Mode_selector(TRUE, tvb, offset, actx, tree, hf_pres_mode_selector);
 }
 
 
@@ -335,22 +338,22 @@ static const asn_namedbit Protocol_version_bits[] = {
 };
 
 static int
-dissect_pres_Protocol_version(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Protocol_version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     Protocol_version_bits, hf_index, ett_pres_Protocol_version,
                                     NULL);
 
   return offset;
 }
-static int dissect_protocol_version_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Protocol_version(TRUE, tvb, offset, pinfo, tree, hf_pres_protocol_version);
+static int dissect_protocol_version_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Protocol_version(TRUE, tvb, offset, actx, tree, hf_pres_protocol_version);
 }
 
 
 
 static int
-dissect_pres_Presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_octet_string(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                        NULL);
 
   return offset;
@@ -359,33 +362,34 @@ dissect_pres_Presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb, int
 
 
 static int
-dissect_pres_Calling_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Presentation_selector(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Calling_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Presentation_selector(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_calling_presentation_selector_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Calling_presentation_selector(TRUE, tvb, offset, pinfo, tree, hf_pres_calling_presentation_selector);
+static int dissect_calling_presentation_selector_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Calling_presentation_selector(TRUE, tvb, offset, actx, tree, hf_pres_calling_presentation_selector);
 }
 
 
 
 static int
-dissect_pres_Called_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Presentation_selector(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Called_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Presentation_selector(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_called_presentation_selector_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Called_presentation_selector(TRUE, tvb, offset, pinfo, tree, hf_pres_called_presentation_selector);
+static int dissect_called_presentation_selector_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Called_presentation_selector(TRUE, tvb, offset, actx, tree, hf_pres_called_presentation_selector);
 }
 
 
 
 static int
-dissect_pres_Presentation_context_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_pres_Presentation_context_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 69 "pres.cnf"
 
-    offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+    offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   &presentation_context_identifier);
 
 
@@ -393,52 +397,53 @@ dissect_pres_Presentation_context_identifier(gboolean implicit_tag _U_, tvbuff_t
        session->pres_ctx_id = presentation_context_identifier;
 
 
+
   return offset;
 }
-static int dissect_initiators_nominated_context(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, pinfo, tree, hf_pres_initiators_nominated_context);
+static int dissect_initiators_nominated_context(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, actx, tree, hf_pres_initiators_nominated_context);
 }
-static int dissect_responders_nominated_context(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, pinfo, tree, hf_pres_responders_nominated_context);
+static int dissect_responders_nominated_context(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, actx, tree, hf_pres_responders_nominated_context);
 }
-static int dissect_presentation_context_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, pinfo, tree, hf_pres_presentation_context_identifier);
+static int dissect_presentation_context_identifier(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, actx, tree, hf_pres_presentation_context_identifier);
 }
-static int dissect_Presentation_context_deletion_list_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, pinfo, tree, hf_pres_Presentation_context_deletion_list_item);
+static int dissect_Presentation_context_deletion_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_identifier(FALSE, tvb, offset, actx, tree, hf_pres_Presentation_context_deletion_list_item);
 }
 
 
 
 static int
-dissect_pres_Abstract_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &abstract_syntax_name_oid);
+dissect_pres_Abstract_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, &abstract_syntax_name_oid);
 
   return offset;
 }
-static int dissect_abstract_syntax_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Abstract_syntax_name(FALSE, tvb, offset, pinfo, tree, hf_pres_abstract_syntax_name);
+static int dissect_abstract_syntax_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Abstract_syntax_name(FALSE, tvb, offset, actx, tree, hf_pres_abstract_syntax_name);
 }
-static int dissect_abstract_syntax_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Abstract_syntax_name(TRUE, tvb, offset, pinfo, tree, hf_pres_abstract_syntax_name);
+static int dissect_abstract_syntax_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Abstract_syntax_name(TRUE, tvb, offset, actx, tree, hf_pres_abstract_syntax_name);
 }
 
 
 
 static int
-dissect_pres_Transfer_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+dissect_pres_Transfer_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, NULL);
 
   return offset;
 }
-static int dissect_transfer_syntax_name_list_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Transfer_syntax_name(FALSE, tvb, offset, pinfo, tree, hf_pres_transfer_syntax_name_list_item);
+static int dissect_transfer_syntax_name_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Transfer_syntax_name(FALSE, tvb, offset, actx, tree, hf_pres_transfer_syntax_name_list_item);
 }
-static int dissect_transfer_syntax_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Transfer_syntax_name(FALSE, tvb, offset, pinfo, tree, hf_pres_transfer_syntax_name);
+static int dissect_transfer_syntax_name(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Transfer_syntax_name(FALSE, tvb, offset, actx, tree, hf_pres_transfer_syntax_name);
 }
-static int dissect_transfer_syntax_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Transfer_syntax_name(TRUE, tvb, offset, pinfo, tree, hf_pres_transfer_syntax_name);
+static int dissect_transfer_syntax_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Transfer_syntax_name(TRUE, tvb, offset, actx, tree, hf_pres_transfer_syntax_name);
 }
 
 
@@ -447,14 +452,14 @@ static const ber_sequence_t SEQUENCE_OF_Transfer_syntax_name_sequence_of[1] = {
 };
 
 static int
-dissect_pres_SEQUENCE_OF_Transfer_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_SEQUENCE_OF_Transfer_syntax_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       SEQUENCE_OF_Transfer_syntax_name_sequence_of, hf_index, ett_pres_SEQUENCE_OF_Transfer_syntax_name);
 
   return offset;
 }
-static int dissect_transfer_syntax_name_list(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_SEQUENCE_OF_Transfer_syntax_name(FALSE, tvb, offset, pinfo, tree, hf_pres_transfer_syntax_name_list);
+static int dissect_transfer_syntax_name_list(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_SEQUENCE_OF_Transfer_syntax_name(FALSE, tvb, offset, actx, tree, hf_pres_transfer_syntax_name_list);
 }
 
 
@@ -466,16 +471,20 @@ static const ber_sequence_t Context_list_item_sequence[] = {
 };
 
 static int
-dissect_pres_Context_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_pres_Context_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 76 "pres.cnf"
        abstract_syntax_name_oid=NULL;
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Context_list_item_sequence, hf_index, ett_pres_Context_list_item);
 
-       register_ctx_id_and_oid(pinfo, presentation_context_identifier, abstract_syntax_name_oid);
+#line 79 "pres.cnf"
+       register_ctx_id_and_oid(actx->pinfo, presentation_context_identifier, abstract_syntax_name_oid);
+
   return offset;
 }
-static int dissect_Context_list_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Context_list_item(FALSE, tvb, offset, pinfo, tree, hf_pres_Context_list_item);
+static int dissect_Context_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Context_list_item(FALSE, tvb, offset, actx, tree, hf_pres_Context_list_item);
 }
 
 
@@ -484,8 +493,8 @@ static const ber_sequence_t Context_list_sequence_of[1] = {
 };
 
 static int
-dissect_pres_Context_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Context_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       Context_list_sequence_of, hf_index, ett_pres_Context_list);
 
   return offset;
@@ -494,13 +503,13 @@ dissect_pres_Context_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,
 
 
 static int
-dissect_pres_Presentation_context_definition_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Context_list(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Presentation_context_definition_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Context_list(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_presentation_context_definition_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_definition_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_definition_list);
+static int dissect_presentation_context_definition_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_definition_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_definition_list);
 }
 
 
@@ -511,14 +520,14 @@ static const ber_sequence_t Default_context_name_sequence[] = {
 };
 
 static int
-dissect_pres_Default_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Default_context_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Default_context_name_sequence, hf_index, ett_pres_Default_context_name);
 
   return offset;
 }
-static int dissect_default_context_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Default_context_name(TRUE, tvb, offset, pinfo, tree, hf_pres_default_context_name);
+static int dissect_default_context_name_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Default_context_name(TRUE, tvb, offset, actx, tree, hf_pres_default_context_name);
 }
 
 
@@ -529,15 +538,15 @@ static const asn_namedbit Presentation_requirements_bits[] = {
 };
 
 static int
-dissect_pres_Presentation_requirements(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Presentation_requirements(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     Presentation_requirements_bits, hf_index, ett_pres_Presentation_requirements,
                                     NULL);
 
   return offset;
 }
-static int dissect_presentation_requirements_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_requirements(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_requirements);
+static int dissect_presentation_requirements_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_requirements(TRUE, tvb, offset, actx, tree, hf_pres_presentation_requirements);
 }
 
 
@@ -559,15 +568,15 @@ static const asn_namedbit User_session_requirements_bits[] = {
 };
 
 static int
-dissect_pres_User_session_requirements(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_User_session_requirements(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     User_session_requirements_bits, hf_index, ett_pres_User_session_requirements,
                                     NULL);
 
   return offset;
 }
-static int dissect_user_session_requirements_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_User_session_requirements(TRUE, tvb, offset, pinfo, tree, hf_pres_user_session_requirements);
+static int dissect_user_session_requirements_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_User_session_requirements(TRUE, tvb, offset, actx, tree, hf_pres_user_session_requirements);
 }
 
 
@@ -579,15 +588,15 @@ static const asn_namedbit Protocol_options_bits[] = {
 };
 
 static int
-dissect_pres_Protocol_options(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Protocol_options(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     Protocol_options_bits, hf_index, ett_pres_Protocol_options,
                                     NULL);
 
   return offset;
 }
-static int dissect_protocol_options(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Protocol_options(FALSE, tvb, offset, pinfo, tree, hf_pres_protocol_options);
+static int dissect_protocol_options(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Protocol_options(FALSE, tvb, offset, actx, tree, hf_pres_protocol_options);
 }
 
 
@@ -596,93 +605,97 @@ static const ber_sequence_t T_extensions_sequence[] = {
 };
 
 static int
-dissect_pres_T_extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_T_extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    T_extensions_sequence, hf_index, ett_pres_T_extensions);
 
   return offset;
 }
-static int dissect_extensions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_extensions(FALSE, tvb, offset, pinfo, tree, hf_pres_extensions);
+static int dissect_extensions(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_extensions(FALSE, tvb, offset, actx, tree, hf_pres_extensions);
 }
 
 
 
 static int
-dissect_pres_Simply_encoded_data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Simply_encoded_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_octet_string(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                        NULL);
 
   return offset;
 }
-static int dissect_simply_encoded_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Simply_encoded_data(TRUE, tvb, offset, pinfo, tree, hf_pres_simply_encoded_data);
+static int dissect_simply_encoded_data_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Simply_encoded_data(TRUE, tvb, offset, actx, tree, hf_pres_simply_encoded_data);
 }
 
 
 
 static int
-dissect_pres_T_single_ASN1_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_pres_T_single_ASN1_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 35 "pres.cnf"
 
  tvbuff_t      *next_tvb;
  char *oid; 
 
-       oid=find_oid_by_pres_ctx_id(pinfo, presentation_context_identifier);
+       oid=find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier);
        if(oid){
                next_tvb = tvb_new_subset(tvb, offset, -1, -1);
-               call_ber_oid_callback(oid, next_tvb, offset, pinfo, global_tree);
+               call_ber_oid_callback(oid, next_tvb, offset, actx->pinfo, global_tree);
        } else {
                proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
-                 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+                 offset = dissect_ber_octet_string(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                        NULL);
        
        }
 
+
   return offset;
 }
-static int dissect_single_ASN1_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_single_ASN1_type(TRUE, tvb, offset, pinfo, tree, hf_pres_single_ASN1_type);
+static int dissect_single_ASN1_type_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_single_ASN1_type(TRUE, tvb, offset, actx, tree, hf_pres_single_ASN1_type);
 }
 
 
 
 static int
-dissect_pres_T_octet_aligned(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_pres_T_octet_aligned(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 48 "pres.cnf"
 
  tvbuff_t      *next_tvb;
  char *oid; 
 
-       oid=find_oid_by_pres_ctx_id(pinfo, presentation_context_identifier);
+       oid=find_oid_by_pres_ctx_id(actx->pinfo, presentation_context_identifier);
        if(oid){
                next_tvb = tvb_new_subset(tvb, offset, -1, -1);
-               call_ber_oid_callback(oid, next_tvb, offset, pinfo, global_tree);
+               call_ber_oid_callback(oid, next_tvb, offset, actx->pinfo, global_tree);
        } else {
                proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
-                 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+                 offset = dissect_ber_octet_string(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                        NULL);
        
        }
 
 
 
+
   return offset;
 }
-static int dissect_octet_aligned_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_octet_aligned(TRUE, tvb, offset, pinfo, tree, hf_pres_octet_aligned);
+static int dissect_octet_aligned_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_octet_aligned(TRUE, tvb, offset, actx, tree, hf_pres_octet_aligned);
 }
 
 
 
 static int
-dissect_pres_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     NULL, hf_index, -1,
                                     NULL);
 
   return offset;
 }
-static int dissect_arbitrary_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_pres_arbitrary);
+static int dissect_arbitrary_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_BIT_STRING(TRUE, tvb, offset, actx, tree, hf_pres_arbitrary);
 }
 
 
@@ -701,15 +714,15 @@ static const ber_choice_t T_presentation_data_values_choice[] = {
 };
 
 static int
-dissect_pres_T_presentation_data_values(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_pres_T_presentation_data_values(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  T_presentation_data_values_choice, hf_index, ett_pres_T_presentation_data_values,
                                  NULL);
 
   return offset;
 }
-static int dissect_presentation_data_values(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_presentation_data_values(FALSE, tvb, offset, pinfo, tree, hf_pres_presentation_data_values);
+static int dissect_presentation_data_values(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_presentation_data_values(FALSE, tvb, offset, actx, tree, hf_pres_presentation_data_values);
 }
 
 
@@ -721,14 +734,14 @@ static const ber_sequence_t PDV_list_sequence[] = {
 };
 
 static int
-dissect_pres_PDV_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_PDV_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    PDV_list_sequence, hf_index, ett_pres_PDV_list);
 
   return offset;
 }
-static int dissect_Fully_encoded_data_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_PDV_list(FALSE, tvb, offset, pinfo, tree, hf_pres_Fully_encoded_data_item);
+static int dissect_Fully_encoded_data_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_PDV_list(FALSE, tvb, offset, actx, tree, hf_pres_Fully_encoded_data_item);
 }
 
 
@@ -737,14 +750,14 @@ static const ber_sequence_t Fully_encoded_data_sequence_of[1] = {
 };
 
 static int
-dissect_pres_Fully_encoded_data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Fully_encoded_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       Fully_encoded_data_sequence_of, hf_index, ett_pres_Fully_encoded_data);
 
   return offset;
 }
-static int dissect_fully_encoded_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Fully_encoded_data(TRUE, tvb, offset, pinfo, tree, hf_pres_fully_encoded_data);
+static int dissect_fully_encoded_data_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Fully_encoded_data(TRUE, tvb, offset, actx, tree, hf_pres_fully_encoded_data);
 }
 
 
@@ -761,18 +774,18 @@ static const ber_choice_t User_data_choice[] = {
 };
 
 static int
-dissect_pres_User_data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_pres_User_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  User_data_choice, hf_index, ett_pres_User_data,
                                  NULL);
 
   return offset;
 }
-static int dissect_user_data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_User_data(FALSE, tvb, offset, pinfo, tree, hf_pres_user_data);
+static int dissect_user_data(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_User_data(FALSE, tvb, offset, actx, tree, hf_pres_user_data);
 }
-static int dissect_ttdPPDU(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_User_data(FALSE, tvb, offset, pinfo, tree, hf_pres_ttdPPDU);
+static int dissect_ttdPPDU(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_User_data(FALSE, tvb, offset, actx, tree, hf_pres_ttdPPDU);
 }
 
 
@@ -792,14 +805,14 @@ static const ber_sequence_t T_normal_mode_parameters_sequence[] = {
 };
 
 static int
-dissect_pres_T_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_T_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    T_normal_mode_parameters_sequence, hf_index, ett_pres_T_normal_mode_parameters);
 
   return offset;
 }
-static int dissect_normal_mode_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_normal_mode_parameters(TRUE, tvb, offset, pinfo, tree, hf_pres_normal_mode_parameters);
+static int dissect_normal_mode_parameters_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_normal_mode_parameters(TRUE, tvb, offset, actx, tree, hf_pres_normal_mode_parameters);
 }
 
 
@@ -811,8 +824,8 @@ static const ber_sequence_t CP_type_set[] = {
 };
 
 static int
-dissect_pres_CP_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_CP_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
                               CP_type_set, hf_index, ett_pres_CP_type);
 
   return offset;
@@ -821,8 +834,8 @@ dissect_pres_CP_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packe
 
 
 static int
-dissect_pres_CPC_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_User_data(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_CPC_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_User_data(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
@@ -830,13 +843,13 @@ dissect_pres_CPC_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pack
 
 
 static int
-dissect_pres_Responding_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Presentation_selector(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Responding_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Presentation_selector(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_responding_presentation_selector_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Responding_presentation_selector(TRUE, tvb, offset, pinfo, tree, hf_pres_responding_presentation_selector);
+static int dissect_responding_presentation_selector_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Responding_presentation_selector(TRUE, tvb, offset, actx, tree, hf_pres_responding_presentation_selector);
 }
 
 
@@ -849,14 +862,14 @@ static const value_string pres_Result_vals[] = {
 
 
 static int
-dissect_pres_Result(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_result_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Result(TRUE, tvb, offset, pinfo, tree, hf_pres_result);
+static int dissect_result_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Result(TRUE, tvb, offset, actx, tree, hf_pres_result);
 }
 
 
@@ -870,14 +883,14 @@ static const value_string pres_T_provider_reason_vals[] = {
 
 
 static int
-dissect_pres_T_provider_reason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_T_provider_reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_provider_reason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_provider_reason(TRUE, tvb, offset, pinfo, tree, hf_pres_provider_reason);
+static int dissect_provider_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_provider_reason(TRUE, tvb, offset, actx, tree, hf_pres_provider_reason);
 }
 
 
@@ -889,14 +902,14 @@ static const ber_sequence_t Result_list_item_sequence[] = {
 };
 
 static int
-dissect_pres_Result_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Result_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Result_list_item_sequence, hf_index, ett_pres_Result_list_item);
 
   return offset;
 }
-static int dissect_Result_list_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Result_list_item(FALSE, tvb, offset, pinfo, tree, hf_pres_Result_list_item);
+static int dissect_Result_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Result_list_item(FALSE, tvb, offset, actx, tree, hf_pres_Result_list_item);
 }
 
 
@@ -905,8 +918,8 @@ static const ber_sequence_t Result_list_sequence_of[1] = {
 };
 
 static int
-dissect_pres_Result_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Result_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       Result_list_sequence_of, hf_index, ett_pres_Result_list);
 
   return offset;
@@ -915,13 +928,13 @@ dissect_pres_Result_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, p
 
 
 static int
-dissect_pres_Presentation_context_definition_result_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Result_list(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Presentation_context_definition_result_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Result_list(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_presentation_context_definition_result_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_definition_result_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_definition_result_list);
+static int dissect_presentation_context_definition_result_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_definition_result_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_definition_result_list);
 }
 
 
@@ -938,14 +951,14 @@ static const ber_sequence_t T_CPA_PPDU_normal_mode_parameters_sequence[] = {
 };
 
 static int
-dissect_pres_T_CPA_PPDU_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_T_CPA_PPDU_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    T_CPA_PPDU_normal_mode_parameters_sequence, hf_index, ett_pres_T_CPA_PPDU_normal_mode_parameters);
 
   return offset;
 }
-static int dissect_cPU_PPDU_normal_mode_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_CPA_PPDU_normal_mode_parameters(TRUE, tvb, offset, pinfo, tree, hf_pres_cPU_PPDU_normal_mode_parameters);
+static int dissect_cPU_PPDU_normal_mode_parameters_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_CPA_PPDU_normal_mode_parameters(TRUE, tvb, offset, actx, tree, hf_pres_cPU_PPDU_normal_mode_parameters);
 }
 
 
@@ -957,8 +970,8 @@ static const ber_sequence_t CPA_PPDU_set[] = {
 };
 
 static int
-dissect_pres_CPA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_CPA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
                               CPA_PPDU_set, hf_index, ett_pres_CPA_PPDU);
 
   return offset;
@@ -967,13 +980,13 @@ dissect_pres_CPA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pack
 
 
 static int
-dissect_pres_Default_context_result(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Result(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Default_context_result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Result(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_default_context_result_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Default_context_result(TRUE, tvb, offset, pinfo, tree, hf_pres_default_context_result);
+static int dissect_default_context_result_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Default_context_result(TRUE, tvb, offset, actx, tree, hf_pres_default_context_result);
 }
 
 
@@ -991,14 +1004,14 @@ static const value_string pres_Provider_reason_vals[] = {
 
 
 static int
-dissect_pres_Provider_reason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Provider_reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_cPR_PPDU__provider_reason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Provider_reason(TRUE, tvb, offset, pinfo, tree, hf_pres_cPR_PPDU__provider_reason);
+static int dissect_cPR_PPDU__provider_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Provider_reason(TRUE, tvb, offset, actx, tree, hf_pres_cPR_PPDU__provider_reason);
 }
 
 
@@ -1013,14 +1026,14 @@ static const ber_sequence_t T_CPR_PPDU_normal_mode_parameters_sequence[] = {
 };
 
 static int
-dissect_pres_T_CPR_PPDU_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_T_CPR_PPDU_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    T_CPR_PPDU_normal_mode_parameters_sequence, hf_index, ett_pres_T_CPR_PPDU_normal_mode_parameters);
 
   return offset;
 }
-static int dissect_cPR_PPDU_normal_mode_parameters(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_CPR_PPDU_normal_mode_parameters(FALSE, tvb, offset, pinfo, tree, hf_pres_cPR_PPDU_normal_mode_parameters);
+static int dissect_cPR_PPDU_normal_mode_parameters(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_CPR_PPDU_normal_mode_parameters(FALSE, tvb, offset, actx, tree, hf_pres_cPR_PPDU_normal_mode_parameters);
 }
 
 
@@ -1037,8 +1050,8 @@ static const ber_choice_t CPR_PPDU_choice[] = {
 };
 
 static int
-dissect_pres_CPR_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_pres_CPR_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  CPR_PPDU_choice, hf_index, ett_pres_CPR_PPDU,
                                  NULL);
 
@@ -1053,14 +1066,14 @@ static const ber_sequence_t Presentation_context_identifier_list_item_sequence[]
 };
 
 static int
-dissect_pres_Presentation_context_identifier_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Presentation_context_identifier_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Presentation_context_identifier_list_item_sequence, hf_index, ett_pres_Presentation_context_identifier_list_item);
 
   return offset;
 }
-static int dissect_Presentation_context_identifier_list_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_identifier_list_item(FALSE, tvb, offset, pinfo, tree, hf_pres_Presentation_context_identifier_list_item);
+static int dissect_Presentation_context_identifier_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_identifier_list_item(FALSE, tvb, offset, actx, tree, hf_pres_Presentation_context_identifier_list_item);
 }
 
 
@@ -1069,14 +1082,14 @@ static const ber_sequence_t Presentation_context_identifier_list_sequence_of[1]
 };
 
 static int
-dissect_pres_Presentation_context_identifier_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Presentation_context_identifier_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       Presentation_context_identifier_list_sequence_of, hf_index, ett_pres_Presentation_context_identifier_list);
 
   return offset;
 }
-static int dissect_presentation_context_identifier_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_identifier_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_identifier_list);
+static int dissect_presentation_context_identifier_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_identifier_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_identifier_list);
 }
 
 
@@ -1087,14 +1100,14 @@ static const ber_sequence_t T_ARU_PPDU_normal_mode_parameters_sequence[] = {
 };
 
 static int
-dissect_pres_T_ARU_PPDU_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_T_ARU_PPDU_normal_mode_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    T_ARU_PPDU_normal_mode_parameters_sequence, hf_index, ett_pres_T_ARU_PPDU_normal_mode_parameters);
 
   return offset;
 }
-static int dissect_aRU_PPDU_normal_mode_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_T_ARU_PPDU_normal_mode_parameters(TRUE, tvb, offset, pinfo, tree, hf_pres_aRU_PPDU_normal_mode_parameters);
+static int dissect_aRU_PPDU_normal_mode_parameters_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_T_ARU_PPDU_normal_mode_parameters(TRUE, tvb, offset, actx, tree, hf_pres_aRU_PPDU_normal_mode_parameters);
 }
 
 
@@ -1111,15 +1124,15 @@ static const ber_choice_t ARU_PPDU_choice[] = {
 };
 
 static int
-dissect_pres_ARU_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_pres_ARU_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  ARU_PPDU_choice, hf_index, ett_pres_ARU_PPDU,
                                  NULL);
 
   return offset;
 }
-static int dissect_aru_ppdu(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_ARU_PPDU(FALSE, tvb, offset, pinfo, tree, hf_pres_aru_ppdu);
+static int dissect_aru_ppdu(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_ARU_PPDU(FALSE, tvb, offset, actx, tree, hf_pres_aru_ppdu);
 }
 
 
@@ -1136,14 +1149,14 @@ static const value_string pres_Abort_reason_vals[] = {
 
 
 static int
-dissect_pres_Abort_reason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Abort_reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_aRU_PPDU_provider_reason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Abort_reason(TRUE, tvb, offset, pinfo, tree, hf_pres_aRU_PPDU_provider_reason);
+static int dissect_aRU_PPDU_provider_reason_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Abort_reason(TRUE, tvb, offset, actx, tree, hf_pres_aRU_PPDU_provider_reason);
 }
 
 
@@ -1186,14 +1199,14 @@ static const value_string pres_Event_identifier_vals[] = {
 
 
 static int
-dissect_pres_Event_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Event_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_event_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Event_identifier(TRUE, tvb, offset, pinfo, tree, hf_pres_event_identifier);
+static int dissect_event_identifier_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Event_identifier(TRUE, tvb, offset, actx, tree, hf_pres_event_identifier);
 }
 
 
@@ -1204,14 +1217,14 @@ static const ber_sequence_t ARP_PPDU_sequence[] = {
 };
 
 static int
-dissect_pres_ARP_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_ARP_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ARP_PPDU_sequence, hf_index, ett_pres_ARP_PPDU);
 
   return offset;
 }
-static int dissect_arp_ppdu(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_ARP_PPDU(FALSE, tvb, offset, pinfo, tree, hf_pres_arp_ppdu);
+static int dissect_arp_ppdu(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_ARP_PPDU(FALSE, tvb, offset, actx, tree, hf_pres_arp_ppdu);
 }
 
 
@@ -1228,8 +1241,8 @@ static const ber_choice_t Abort_type_choice[] = {
 };
 
 static int
-dissect_pres_Abort_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_pres_Abort_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  Abort_type_choice, hf_index, ett_pres_Abort_type,
                                  NULL);
 
@@ -1239,13 +1252,13 @@ dissect_pres_Abort_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pa
 
 
 static int
-dissect_pres_Presentation_context_addition_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Context_list(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Presentation_context_addition_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Context_list(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_presentation_context_addition_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_addition_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_addition_list);
+static int dissect_presentation_context_addition_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_addition_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_addition_list);
 }
 
 
@@ -1254,14 +1267,14 @@ static const ber_sequence_t Presentation_context_deletion_list_sequence_of[1] =
 };
 
 static int
-dissect_pres_Presentation_context_deletion_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Presentation_context_deletion_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       Presentation_context_deletion_list_sequence_of, hf_index, ett_pres_Presentation_context_deletion_list);
 
   return offset;
 }
-static int dissect_presentation_context_deletion_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_deletion_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_deletion_list);
+static int dissect_presentation_context_deletion_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_deletion_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_deletion_list);
 }
 
 
@@ -1273,26 +1286,26 @@ static const ber_sequence_t AC_PPDU_sequence[] = {
 };
 
 static int
-dissect_pres_AC_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_AC_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    AC_PPDU_sequence, hf_index, ett_pres_AC_PPDU);
 
   return offset;
 }
-static int dissect_acPPDU_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_AC_PPDU(TRUE, tvb, offset, pinfo, tree, hf_pres_acPPDU);
+static int dissect_acPPDU_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_AC_PPDU(TRUE, tvb, offset, actx, tree, hf_pres_acPPDU);
 }
 
 
 
 static int
-dissect_pres_Presentation_context_addition_result_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_pres_Result_list(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_pres_Presentation_context_addition_result_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_pres_Result_list(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_presentation_context_addition_result_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_addition_result_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_addition_result_list);
+static int dissect_presentation_context_addition_result_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_addition_result_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_addition_result_list);
 }
 
 
@@ -1304,14 +1317,14 @@ static const value_string pres_Presentation_context_deletion_result_list_item_va
 
 
 static int
-dissect_pres_Presentation_context_deletion_result_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_pres_Presentation_context_deletion_result_list_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_Presentation_context_deletion_result_list_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_deletion_result_list_item(FALSE, tvb, offset, pinfo, tree, hf_pres_Presentation_context_deletion_result_list_item);
+static int dissect_Presentation_context_deletion_result_list_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_deletion_result_list_item(FALSE, tvb, offset, actx, tree, hf_pres_Presentation_context_deletion_result_list_item);
 }
 
 
@@ -1320,14 +1333,14 @@ static const ber_sequence_t Presentation_context_deletion_result_list_sequence_o
 };
 
 static int
-dissect_pres_Presentation_context_deletion_result_list(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_Presentation_context_deletion_result_list(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       Presentation_context_deletion_result_list_sequence_of, hf_index, ett_pres_Presentation_context_deletion_result_list);
 
   return offset;
 }
-static int dissect_presentation_context_deletion_result_list_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_Presentation_context_deletion_result_list(TRUE, tvb, offset, pinfo, tree, hf_pres_presentation_context_deletion_result_list);
+static int dissect_presentation_context_deletion_result_list_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_Presentation_context_deletion_result_list(TRUE, tvb, offset, actx, tree, hf_pres_presentation_context_deletion_result_list);
 }
 
 
@@ -1339,14 +1352,14 @@ static const ber_sequence_t ACA_PPDU_sequence[] = {
 };
 
 static int
-dissect_pres_ACA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_ACA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ACA_PPDU_sequence, hf_index, ett_pres_ACA_PPDU);
 
   return offset;
 }
-static int dissect_acaPPDU_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_pres_ACA_PPDU(TRUE, tvb, offset, pinfo, tree, hf_pres_acaPPDU);
+static int dissect_acaPPDU_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_pres_ACA_PPDU(TRUE, tvb, offset, actx, tree, hf_pres_acaPPDU);
 }
 
 
@@ -1365,8 +1378,8 @@ static const ber_choice_t Typed_data_type_choice[] = {
 };
 
 static int
-dissect_pres_Typed_data_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_pres_Typed_data_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  Typed_data_type_choice, hf_index, ett_pres_Typed_data_type,
                                  NULL);
 
@@ -1381,8 +1394,8 @@ static const ber_sequence_t RS_PPDU_sequence[] = {
 };
 
 static int
-dissect_pres_RS_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_RS_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    RS_PPDU_sequence, hf_index, ett_pres_RS_PPDU);
 
   return offset;
@@ -1396,8 +1409,8 @@ static const ber_sequence_t RSA_PPDU_sequence[] = {
 };
 
 static int
-dissect_pres_RSA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_pres_RSA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    RSA_PPDU_sequence, hf_index, ett_pres_RSA_PPDU);
 
   return offset;
@@ -1405,7 +1418,7 @@ dissect_pres_RSA_PPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pack
 
 
 /*--- End of included file: packet-pres-fn.c ---*/
-
+#line 151 "packet-pres-template.c"
 
 
 /*
@@ -1417,7 +1430,10 @@ dissect_ppdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
   proto_item *ti;
   proto_tree *pres_tree = NULL;
   guint s_type;
-/* do we have spdu type from the session dissector?  */
+  asn1_ctx_t asn1_ctx;
+  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+  /* do we have spdu type from the session dissector?  */
        if( !pinfo->private_data ){
                if(tree){
                        proto_tree_add_text(tree, tvb, offset, -1,
@@ -1448,32 +1464,32 @@ dissect_ppdu(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
 
        switch(session->spdu_type){
                case SES_CONNECTION_REQUEST:
-                       offset = dissect_pres_CP_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_CP_type);
+                       offset = dissect_pres_CP_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_CP_type);
                        break;
                case SES_CONNECTION_ACCEPT:
-                       offset = dissect_pres_CPA_PPDU(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_CPA_PPDU);
+                       offset = dissect_pres_CPA_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_CPA_PPDU);
                        break;
                case SES_ABORT:
                case SES_ABORT_ACCEPT:
-                       offset = dissect_pres_Abort_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_Abort_type);
+                       offset = dissect_pres_Abort_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_Abort_type);
                        break;
                case SES_DATA_TRANSFER:
-                       offset = dissect_pres_CPC_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_user_data);
+                       offset = dissect_pres_CPC_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_user_data);
                        break;
                case SES_TYPED_DATA:
-                       offset = dissect_pres_Typed_data_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_Typed_data_type);
+                       offset = dissect_pres_Typed_data_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_Typed_data_type);
                        break;
                case SES_RESYNCHRONIZE:
-                       offset = dissect_pres_RS_PPDU(FALSE, tvb, offset, pinfo, pres_tree, -1);
+                       offset = dissect_pres_RS_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, -1);
                        break;
                case SES_RESYNCHRONIZE_ACK:
-                       offset = dissect_pres_RSA_PPDU(FALSE, tvb, offset, pinfo, pres_tree, -1);
+                       offset = dissect_pres_RSA_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, -1);
                        break;
                case SES_REFUSE:
-                       offset = dissect_pres_CPR_PPDU(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_CPR_PPDU);
+                       offset = dissect_pres_CPR_PPDU(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_CPR_PPDU);
                        break;
                default:
-                       offset = dissect_pres_CPC_type(FALSE, tvb, offset, pinfo, pres_tree, hf_pres_user_data);
+                       offset = dissect_pres_CPC_type(FALSE, tvb, offset, &asn1_ctx, pres_tree, hf_pres_user_data);
                        break;
        }
 
@@ -1543,235 +1559,235 @@ void proto_register_pres(void) {
 
 
 /*--- Included file: packet-pres-hfarr.c ---*/
-
+#line 1 "packet-pres-hfarr.c"
     { &hf_pres_mode_selector,
       { "mode-selector", "pres.mode_selector",
         FT_NONE, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "pres.Mode_selector", HFILL }},
     { &hf_pres_x410_mode_parameters,
       { "x410-mode-parameters", "pres.x410_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CP-type/x410-mode-parameters", HFILL }},
+        "rtse.RTORQapdu", HFILL }},
     { &hf_pres_normal_mode_parameters,
       { "normal-mode-parameters", "pres.normal_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CP-type/normal-mode-parameters", HFILL }},
+        "pres.T_normal_mode_parameters", HFILL }},
     { &hf_pres_protocol_version,
       { "protocol-version", "pres.protocol_version",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "", HFILL }},
+        "pres.Protocol_version", HFILL }},
     { &hf_pres_calling_presentation_selector,
       { "calling-presentation-selector", "pres.calling_presentation_selector",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "CP-type/normal-mode-parameters/calling-presentation-selector", HFILL }},
+        "pres.Calling_presentation_selector", HFILL }},
     { &hf_pres_called_presentation_selector,
       { "called-presentation-selector", "pres.called_presentation_selector",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "CP-type/normal-mode-parameters/called-presentation-selector", HFILL }},
+        "pres.Called_presentation_selector", HFILL }},
     { &hf_pres_presentation_context_definition_list,
       { "presentation-context-definition-list", "pres.presentation_context_definition_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "CP-type/normal-mode-parameters/presentation-context-definition-list", HFILL }},
+        "pres.Presentation_context_definition_list", HFILL }},
     { &hf_pres_default_context_name,
       { "default-context-name", "pres.default_context_name",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CP-type/normal-mode-parameters/default-context-name", HFILL }},
+        "pres.Default_context_name", HFILL }},
     { &hf_pres_presentation_requirements,
       { "presentation-requirements", "pres.presentation_requirements",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "", HFILL }},
+        "pres.Presentation_requirements", HFILL }},
     { &hf_pres_user_session_requirements,
       { "user-session-requirements", "pres.user_session_requirements",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "", HFILL }},
+        "pres.User_session_requirements", HFILL }},
     { &hf_pres_protocol_options,
       { "protocol-options", "pres.protocol_options",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "", HFILL }},
+        "pres.Protocol_options", HFILL }},
     { &hf_pres_initiators_nominated_context,
       { "initiators-nominated-context", "pres.initiators_nominated_context",
         FT_INT32, BASE_DEC, NULL, 0,
-        "CP-type/normal-mode-parameters/initiators-nominated-context", HFILL }},
+        "pres.Presentation_context_identifier", HFILL }},
     { &hf_pres_extensions,
       { "extensions", "pres.extensions",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CP-type/normal-mode-parameters/extensions", HFILL }},
+        "pres.T_extensions", HFILL }},
     { &hf_pres_user_data,
       { "user-data", "pres.user_data",
         FT_UINT32, BASE_DEC, VALS(pres_User_data_vals), 0,
-        "", HFILL }},
+        "pres.User_data", HFILL }},
     { &hf_pres_cPR_PPDU_x400_mode_parameters,
       { "x410-mode-parameters", "pres.x410_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CPA-PPDU/x410-mode-parameters", HFILL }},
+        "rtse.RTOACapdu", HFILL }},
     { &hf_pres_cPU_PPDU_normal_mode_parameters,
       { "normal-mode-parameters", "pres.normal_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CPA-PPDU/normal-mode-parameters", HFILL }},
+        "pres.T_CPA_PPDU_normal_mode_parameters", HFILL }},
     { &hf_pres_responding_presentation_selector,
       { "responding-presentation-selector", "pres.responding_presentation_selector",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "", HFILL }},
+        "pres.Responding_presentation_selector", HFILL }},
     { &hf_pres_presentation_context_definition_result_list,
       { "presentation-context-definition-result-list", "pres.presentation_context_definition_result_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "", HFILL }},
+        "pres.Presentation_context_definition_result_list", HFILL }},
     { &hf_pres_responders_nominated_context,
       { "responders-nominated-context", "pres.responders_nominated_context",
         FT_INT32, BASE_DEC, NULL, 0,
-        "CPA-PPDU/normal-mode-parameters/responders-nominated-context", HFILL }},
+        "pres.Presentation_context_identifier", HFILL }},
     { &hf_pres_cPU_PPDU_x400_mode_parameters,
       { "x400-mode-parameters", "pres.x400_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CPR-PPDU/x400-mode-parameters", HFILL }},
+        "rtse.RTORJapdu", HFILL }},
     { &hf_pres_cPR_PPDU_normal_mode_parameters,
       { "normal-mode-parameters", "pres.normal_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CPR-PPDU/normal-mode-parameters", HFILL }},
+        "pres.T_CPR_PPDU_normal_mode_parameters", HFILL }},
     { &hf_pres_default_context_result,
       { "default-context-result", "pres.default_context_result",
         FT_INT32, BASE_DEC, VALS(pres_Result_vals), 0,
-        "CPR-PPDU/normal-mode-parameters/default-context-result", HFILL }},
+        "pres.Default_context_result", HFILL }},
     { &hf_pres_cPR_PPDU__provider_reason,
       { "provider-reason", "pres.provider_reason",
         FT_INT32, BASE_DEC, VALS(pres_Provider_reason_vals), 0,
-        "CPR-PPDU/normal-mode-parameters/provider-reason", HFILL }},
+        "pres.Provider_reason", HFILL }},
     { &hf_pres_aru_ppdu,
       { "aru-ppdu", "pres.aru_ppdu",
         FT_UINT32, BASE_DEC, VALS(pres_ARU_PPDU_vals), 0,
-        "Abort-type/aru-ppdu", HFILL }},
+        "pres.ARU_PPDU", HFILL }},
     { &hf_pres_arp_ppdu,
       { "arp-ppdu", "pres.arp_ppdu",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Abort-type/arp-ppdu", HFILL }},
+        "pres.ARP_PPDU", HFILL }},
     { &hf_pres_aRU_PPDU_x400_mode_parameters,
       { "x400-mode-parameters", "pres.x400_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ARU-PPDU/x400-mode-parameters", HFILL }},
+        "rtse.RTABapdu", HFILL }},
     { &hf_pres_aRU_PPDU_normal_mode_parameters,
       { "normal-mode-parameters", "pres.normal_mode_parameters",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ARU-PPDU/normal-mode-parameters", HFILL }},
+        "pres.T_ARU_PPDU_normal_mode_parameters", HFILL }},
     { &hf_pres_presentation_context_identifier_list,
       { "presentation-context-identifier-list", "pres.presentation_context_identifier_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "", HFILL }},
+        "pres.Presentation_context_identifier_list", HFILL }},
     { &hf_pres_aRU_PPDU_provider_reason,
       { "provider-reason", "pres.provider_reason",
         FT_INT32, BASE_DEC, VALS(pres_Abort_reason_vals), 0,
-        "ARP-PPDU/provider-reason", HFILL }},
+        "pres.Abort_reason", HFILL }},
     { &hf_pres_event_identifier,
       { "event-identifier", "pres.event_identifier",
         FT_INT32, BASE_DEC, VALS(pres_Event_identifier_vals), 0,
-        "ARP-PPDU/event-identifier", HFILL }},
+        "pres.Event_identifier", HFILL }},
     { &hf_pres_acPPDU,
       { "acPPDU", "pres.acPPDU",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Typed-data-type/acPPDU", HFILL }},
+        "pres.AC_PPDU", HFILL }},
     { &hf_pres_acaPPDU,
       { "acaPPDU", "pres.acaPPDU",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Typed-data-type/acaPPDU", HFILL }},
+        "pres.ACA_PPDU", HFILL }},
     { &hf_pres_ttdPPDU,
       { "ttdPPDU", "pres.ttdPPDU",
         FT_UINT32, BASE_DEC, VALS(pres_User_data_vals), 0,
-        "Typed-data-type/ttdPPDU", HFILL }},
+        "pres.User_data", HFILL }},
     { &hf_pres_presentation_context_addition_list,
       { "presentation-context-addition-list", "pres.presentation_context_addition_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "AC-PPDU/presentation-context-addition-list", HFILL }},
+        "pres.Presentation_context_addition_list", HFILL }},
     { &hf_pres_presentation_context_deletion_list,
       { "presentation-context-deletion-list", "pres.presentation_context_deletion_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "AC-PPDU/presentation-context-deletion-list", HFILL }},
+        "pres.Presentation_context_deletion_list", HFILL }},
     { &hf_pres_presentation_context_addition_result_list,
       { "presentation-context-addition-result-list", "pres.presentation_context_addition_result_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ACA-PPDU/presentation-context-addition-result-list", HFILL }},
+        "pres.Presentation_context_addition_result_list", HFILL }},
     { &hf_pres_presentation_context_deletion_result_list,
       { "presentation-context-deletion-result-list", "pres.presentation_context_deletion_result_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ACA-PPDU/presentation-context-deletion-result-list", HFILL }},
+        "pres.Presentation_context_deletion_result_list", HFILL }},
     { &hf_pres_Context_list_item,
       { "Item", "pres.Context_list_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Context-list/_item", HFILL }},
+        "pres.Context_list_item", HFILL }},
     { &hf_pres_presentation_context_identifier,
       { "presentation-context-identifier", "pres.presentation_context_identifier",
         FT_INT32, BASE_DEC, NULL, 0,
-        "", HFILL }},
+        "pres.Presentation_context_identifier", HFILL }},
     { &hf_pres_abstract_syntax_name,
       { "abstract-syntax-name", "pres.abstract_syntax_name",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "pres.Abstract_syntax_name", HFILL }},
     { &hf_pres_transfer_syntax_name_list,
       { "transfer-syntax-name-list", "pres.transfer_syntax_name_list",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "Context-list/_item/transfer-syntax-name-list", HFILL }},
+        "pres.SEQUENCE_OF_Transfer_syntax_name", HFILL }},
     { &hf_pres_transfer_syntax_name_list_item,
       { "Item", "pres.transfer_syntax_name_list_item",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "Context-list/_item/transfer-syntax-name-list/_item", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "pres.Transfer_syntax_name", HFILL }},
     { &hf_pres_transfer_syntax_name,
       { "transfer-syntax-name", "pres.transfer_syntax_name",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "pres.Transfer_syntax_name", HFILL }},
     { &hf_pres_mode_value,
       { "mode-value", "pres.mode_value",
         FT_INT32, BASE_DEC, VALS(pres_T_mode_value_vals), 0,
-        "Mode-selector/mode-value", HFILL }},
+        "pres.T_mode_value", HFILL }},
     { &hf_pres_Presentation_context_deletion_list_item,
       { "Item", "pres.Presentation_context_deletion_list_item",
         FT_INT32, BASE_DEC, NULL, 0,
-        "Presentation-context-deletion-list/_item", HFILL }},
+        "pres.Presentation_context_identifier", HFILL }},
     { &hf_pres_Presentation_context_deletion_result_list_item,
       { "Item", "pres.Presentation_context_deletion_result_list_item",
         FT_INT32, BASE_DEC, VALS(pres_Presentation_context_deletion_result_list_item_vals), 0,
-        "Presentation-context-deletion-result-list/_item", HFILL }},
+        "pres.Presentation_context_deletion_result_list_item", HFILL }},
     { &hf_pres_Presentation_context_identifier_list_item,
       { "Item", "pres.Presentation_context_identifier_list_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Presentation-context-identifier-list/_item", HFILL }},
+        "pres.Presentation_context_identifier_list_item", HFILL }},
     { &hf_pres_Result_list_item,
       { "Item", "pres.Result_list_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Result-list/_item", HFILL }},
+        "pres.Result_list_item", HFILL }},
     { &hf_pres_result,
       { "result", "pres.result",
         FT_INT32, BASE_DEC, VALS(pres_Result_vals), 0,
-        "Result-list/_item/result", HFILL }},
+        "pres.Result", HFILL }},
     { &hf_pres_provider_reason,
       { "provider-reason", "pres.provider_reason",
         FT_INT32, BASE_DEC, VALS(pres_T_provider_reason_vals), 0,
-        "Result-list/_item/provider-reason", HFILL }},
+        "pres.T_provider_reason", HFILL }},
     { &hf_pres_simply_encoded_data,
       { "simply-encoded-data", "pres.simply_encoded_data",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "User-data/simply-encoded-data", HFILL }},
+        "pres.Simply_encoded_data", HFILL }},
     { &hf_pres_fully_encoded_data,
       { "fully-encoded-data", "pres.fully_encoded_data",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "User-data/fully-encoded-data", HFILL }},
+        "pres.Fully_encoded_data", HFILL }},
     { &hf_pres_Fully_encoded_data_item,
       { "Item", "pres.Fully_encoded_data_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Fully-encoded-data/_item", HFILL }},
+        "pres.PDV_list", HFILL }},
     { &hf_pres_presentation_data_values,
       { "presentation-data-values", "pres.presentation_data_values",
         FT_UINT32, BASE_DEC, VALS(pres_T_presentation_data_values_vals), 0,
-        "PDV-list/presentation-data-values", HFILL }},
+        "pres.T_presentation_data_values", HFILL }},
     { &hf_pres_single_ASN1_type,
       { "single-ASN1-type", "pres.single_ASN1_type",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "PDV-list/presentation-data-values/single-ASN1-type", HFILL }},
+        "pres.T_single_ASN1_type", HFILL }},
     { &hf_pres_octet_aligned,
       { "octet-aligned", "pres.octet_aligned",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "PDV-list/presentation-data-values/octet-aligned", HFILL }},
+        "pres.T_octet_aligned", HFILL }},
     { &hf_pres_arbitrary,
       { "arbitrary", "pres.arbitrary",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "PDV-list/presentation-data-values/arbitrary", HFILL }},
+        "pres.BIT_STRING", HFILL }},
     { &hf_pres_Presentation_requirements_context_management,
       { "context-management", "pres.context-management",
         FT_BOOLEAN, 8, NULL, 0x80,
@@ -1850,7 +1866,7 @@ void proto_register_pres(void) {
         "", HFILL }},
 
 /*--- End of included file: packet-pres-hfarr.c ---*/
-
+#line 290 "packet-pres-template.c"
   };
 
   /* List of subtrees */
@@ -1858,7 +1874,7 @@ void proto_register_pres(void) {
                &ett_pres,
 
 /*--- Included file: packet-pres-ettarr.c ---*/
-
+#line 1 "packet-pres-ettarr.c"
     &ett_pres_CP_type,
     &ett_pres_T_normal_mode_parameters,
     &ett_pres_T_extensions,
@@ -1896,7 +1912,7 @@ void proto_register_pres(void) {
     &ett_pres_User_session_requirements,
 
 /*--- End of included file: packet-pres-ettarr.c ---*/
-
+#line 296 "packet-pres-template.c"
   };
 
   /* Register protocol */