diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2011-02-20 17:03:29 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2011-02-20 17:03:29 +0000 |
commit | 5868c7d0267b997ca1d27c6eaaa50362989be969 (patch) | |
tree | 606de6d9c54ed6fe3046a822c769f46627d85051 /epan/dissectors | |
parent | ba1138eb939a5162b5e1ad4dd4f07b71b0a7b0f6 (diff) | |
download | wireshark-5868c7d0267b997ca1d27c6eaaa50362989be969.tar.gz wireshark-5868c7d0267b997ca1d27c6eaaa50362989be969.tar.bz2 wireshark-5868c7d0267b997ca1d27c6eaaa50362989be969.zip |
Renamed x411 to p1, x420 to p22 and s4406 to p772 to be consistent
on the naming policy for X.400 protocols.
svn path=/trunk/; revision=36013
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/Makefile.common | 14 | ||||
-rw-r--r-- | epan/dissectors/packet-acp133.c | 20 | ||||
-rw-r--r-- | epan/dissectors/packet-cdt.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-dmp.c | 54 | ||||
-rw-r--r-- | epan/dissectors/packet-p1.c | 11118 | ||||
-rw-r--r-- | epan/dissectors/packet-p1.h (renamed from epan/dissectors/packet-x411.h) | 142 | ||||
-rw-r--r-- | epan/dissectors/packet-p22.c | 6321 | ||||
-rw-r--r-- | epan/dissectors/packet-p22.h | 59 | ||||
-rw-r--r-- | epan/dissectors/packet-p7.c | 72 | ||||
-rw-r--r-- | epan/dissectors/packet-p772.c (renamed from epan/dissectors/packet-s4406.c) | 1162 | ||||
-rw-r--r-- | epan/dissectors/packet-p772.h (renamed from epan/dissectors/packet-s4406.h) | 20 | ||||
-rw-r--r-- | epan/dissectors/packet-x411.c | 11118 | ||||
-rw-r--r-- | epan/dissectors/packet-x420.c | 6321 | ||||
-rw-r--r-- | epan/dissectors/packet-x420.h | 59 | ||||
-rw-r--r-- | epan/dissectors/packet-x509ce.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-x509sat.c | 4 |
16 files changed, 18246 insertions, 18246 deletions
diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common index 24d4469ef9..b9f1c513a5 100644 --- a/epan/dissectors/Makefile.common +++ b/epan/dissectors/Makefile.common @@ -130,6 +130,7 @@ ASN1_DISSECTOR_SRC = \ packet-ocsp.c \ packet-opsi.c \ packet-p7.c \ + packet-p772.c \ packet-pkcs1.c \ packet-pkinit.c \ packet-pkix1explicit.c \ @@ -146,7 +147,6 @@ ASN1_DISSECTOR_SRC = \ packet-rtse.c \ packet-rua.c \ packet-s1ap.c \ - packet-s4406.c \ packet-sabp.c \ packet-smrse.c \ packet-spnego.c \ @@ -175,6 +175,8 @@ DIRTY_ASN1_DISSECTOR_SRC = \ packet-ldap.c \ packet-lte-rrc.c \ packet-nbap.c \ + packet-p1.c \ + packet-p22.c \ packet-pcap.c \ packet-pkcs12.c \ packet-pres.c \ @@ -184,9 +186,7 @@ DIRTY_ASN1_DISSECTOR_SRC = \ packet-snmp.c \ packet-t125.c \ packet-tcap.c \ - packet-tetra.c \ - packet-x411.c \ - packet-x420.c + packet-tetra.c # # Dissectors without warnings. @@ -1206,7 +1206,10 @@ DISSECTOR_INCLUDES = \ packet-ocsp.h \ packet-osi.h \ packet-osi-options.h \ + packet-p1.h \ + packet-p22.h \ packet-p7.h \ + packet-p772.h \ packet-pcnfsd.h \ packet-pdcp-lte.h \ packet-per.h \ @@ -1264,7 +1267,6 @@ DISSECTOR_INCLUDES = \ packet-rwall.h \ packet-rx.h \ packet-s1ap.h \ - packet-s4406.h \ packet-sccp.h \ packet-scsi.h \ packet-scsi-mmc.h \ @@ -1330,8 +1332,6 @@ DISSECTOR_INCLUDES = \ x11-extension-errors.h \ x11-glx-render-enum.h \ x11-enum.h \ - packet-x411.h \ - packet-x420.h \ packet-x509af.h \ packet-x509ce.h \ packet-x509if.h \ diff --git a/epan/dissectors/packet-acp133.c b/epan/dissectors/packet-acp133.c index 7e7932ed92..0649e11172 100644 --- a/epan/dissectors/packet-acp133.c +++ b/epan/dissectors/packet-acp133.c @@ -45,7 +45,7 @@ #include "packet-x509af.h" #include "packet-x509if.h" #include "packet-x509ce.h" -#include "packet-x411.h" +#include "packet-p1.h" #include "packet-acp133.h" @@ -566,7 +566,7 @@ dissect_acp133_MLReceiptPolicy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_acp133_ORNamePattern(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_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_p1_ORName(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } @@ -581,8 +581,8 @@ static const value_string acp133_DLSubmitPermission_vals[] = { }; static const ber_choice_t DLSubmitPermission_choice[] = { - { 0, &hf_acp133_individual , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ORName }, - { 1, &hf_acp133_member_of_dl , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_ORName }, + { 0, &hf_acp133_individual , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ORName }, + { 1, &hf_acp133_member_of_dl , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_ORName }, { 2, &hf_acp133_pattern_match, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acp133_ORNamePattern }, { 3, &hf_acp133_member_of_group, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x509if_Name }, { 0, NULL, 0, 0, 0, NULL } @@ -781,7 +781,7 @@ static const value_string acp133_T_requested_delivery_method_vals[] = { static const ber_choice_t T_requested_delivery_method_choice[] = { { 0, &hf_acp133_unchanged , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_acp133_NULL }, { 1, &hf_acp133_removed , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_acp133_NULL }, - { 2, &hf_acp133_replaced , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_RequestedDeliveryMethod }, + { 2, &hf_acp133_replaced , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_RequestedDeliveryMethod }, { 0, NULL, 0, 0, 0, NULL } }; @@ -864,7 +864,7 @@ dissect_acp133_GeneralString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static const ber_sequence_t SET_OF_ExtendedContentType_set_of[1] = { - { &hf_acp133_content_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedContentType }, + { &hf_acp133_content_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedContentType }, }; static int @@ -878,9 +878,9 @@ dissect_acp133_SET_OF_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *t static const ber_sequence_t Capability_set[] = { { &hf_acp133_content_types, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acp133_SET_OF_ExtendedContentType }, - { &hf_acp133_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength }, - { &hf_acp133_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncodedInformationTypesConstraints }, - { &hf_acp133_security_labels, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, + { &hf_acp133_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength }, + { &hf_acp133_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncodedInformationTypesConstraints }, + { &hf_acp133_security_labels, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, { NULL, 0, 0, 0, NULL } }; @@ -908,7 +908,7 @@ dissect_acp133_SET_OF_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static const ber_sequence_t AddressCapabilities_sequence[] = { { &hf_acp133_description , BER_CLASS_UNI, BER_UNI_TAG_GeneralString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_acp133_GeneralString }, - { &hf_acp133_address , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddress }, + { &hf_acp133_address , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddress }, { &hf_acp133_capabilities , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_acp133_SET_OF_Capability }, { NULL, 0, 0, 0, NULL } }; diff --git a/epan/dissectors/packet-cdt.c b/epan/dissectors/packet-cdt.c index 5b52cc6dc3..c94c530106 100644 --- a/epan/dissectors/packet-cdt.c +++ b/epan/dissectors/packet-cdt.c @@ -45,7 +45,7 @@ #include <epan/asn1.h> #include "packet-ber.h" -#include "packet-x411.h" +#include "packet-p1.h" #include "packet-cdt.h" @@ -281,7 +281,7 @@ dissect_cdt_CompressedContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int dissect_unknown_ber (actx->pinfo, next_tvb, 0, top_tree); break; case CDT_P1: - dissect_x411_mts_apdu (next_tvb, actx->pinfo, top_tree); + dissect_p1_mts_apdu (next_tvb, actx->pinfo, top_tree); break; default: call_dissector (data_handle, next_tvb, actx->pinfo, top_tree); diff --git a/epan/dissectors/packet-dmp.c b/epan/dissectors/packet-dmp.c index 03958f83d4..1d7724666f 100644 --- a/epan/dissectors/packet-dmp.c +++ b/epan/dissectors/packet-dmp.c @@ -50,8 +50,8 @@ #include <epan/crc16.h> #include <epan/asn1.h> -#include "packet-x411.h" -#include "packet-x420.h" +#include "packet-p1.h" +#include "packet-p22.h" #define PNAME "Direct Message Profile" #define PSNAME "DMP" @@ -556,13 +556,13 @@ static const value_string addr_type_str [] = { static const value_string addr_form [] = { { 0x0, "P1 Direct" }, - { 0x1, "P22/P722 Direct" }, + { 0x1, "P22/P772 Direct" }, { 0x2, "P1 Extended" }, - { 0x3, "P22/P722 Extended" }, - { 0x4, "P1 and P22/P722 Direct" }, - { 0x5, "P1 Direct and P22/P722 Extended" }, - { 0x6, "P1 Extended and P22/P722 Direct" }, - { 0x7, "P1 and P22/P722 Extended" }, + { 0x3, "P22/P772 Extended" }, + { 0x4, "P1 and P22/P772 Direct" }, + { 0x5, "P1 Direct and P22/P772 Extended" }, + { 0x6, "P1 Extended and P22/P772 Direct" }, + { 0x7, "P1 and P22/P772 Extended" }, { 0, NULL } }; static const value_string addr_form_orig [] = { @@ -880,8 +880,8 @@ static const gchar *msg_type_to_str (void) static const gchar *non_del_reason_str (guint32 value) { if (value < 0x3D) { - /* Standard values according to X.411 */ - return val_to_str (value, x411_NonDeliveryReasonCode_vals, "Unknown"); + /* Standard values according to P1 */ + return val_to_str (value, p1_NonDeliveryReasonCode_vals, "Unknown"); } else { return val_to_str (value, non_del_reason, "Unknown"); } @@ -890,8 +890,8 @@ static const gchar *non_del_reason_str (guint32 value) static const gchar *non_del_diagn_str (guint32 value) { if (value < 0x7C) { - /* Standard values according to X.411 */ - return val_to_str (value, x411_NonDeliveryDiagnosticCode_vals, "Unknown"); + /* Standard values according to P1 */ + return val_to_str (value, p1_NonDeliveryDiagnosticCode_vals, "Unknown"); } else { return val_to_str (value, non_del_diagn, "Unknown"); } @@ -899,15 +899,15 @@ static const gchar *non_del_diagn_str (guint32 value) static const gchar *nrn_reason_str (guint32 value) { - /* Standard values according to X.420 */ - return val_to_str (value, x420_NonReceiptReasonField_vals, "Reserved"); + /* Standard values according to P22 */ + return val_to_str (value, p22_NonReceiptReasonField_vals, "Reserved"); } static const gchar *discard_reason_str (guint32 value) { if (value < 0xFE) { - /* Standard values according to X.420 */ - return val_to_str (value, x420_DiscardReasonField_vals, "Reserved"); + /* Standard values according to P22 */ + return val_to_str (value, p22_DiscardReasonField_vals, "Reserved"); } else { return val_to_str (value, discard_reason, "Unknown"); } @@ -1826,7 +1826,7 @@ static gint dissect_dmp_ext_addr (tvbuff_t *tvb, packet_info *pinfo, if (type == ASN1_BER) { tvbuff_t *next_tvb = tvb_new_subset(tvb, offset, length, length); - dissect_x411_ORName (FALSE, next_tvb, 0, &asn1_ctx, ext_tree, + dissect_p1_ORName (FALSE, next_tvb, 0, &asn1_ctx, ext_tree, hf_addr_ext_asn1_ber); } else if (type == ASN1_PER) { proto_tree_add_item (ext_tree, hf_addr_ext_asn1_per, tvb, offset, @@ -2875,7 +2875,7 @@ static gint dissect_dmp_report (tvbuff_t *tvb, packet_info *pinfo, tf = proto_tree_add_uint_format (report_tree, hf_report_reason, tvb, offset, 1, report, "Reason%s: %s (%d)", - ((report & 0x3F) < 0x3D) ? " (X.411)":"", + ((report & 0x3F) < 0x3D) ? " (P1)":"", non_del_reason_str (report & 0x3F), report & 0x3F); field_tree = proto_item_add_subtree (tf, ett_report_reason); @@ -2898,7 +2898,7 @@ static gint dissect_dmp_report (tvbuff_t *tvb, packet_info *pinfo, tf = proto_tree_add_uint_format (report_tree, hf_report_diagn, tvb, offset, 1, report, "Diagnostic%s: %s (%d)", - ((report & 0x7F) < 0x7C) ? " (X.411)":"", + ((report & 0x7F) < 0x7C) ? " (P1)":"", non_del_diagn_str (report & 0x7F), report & 0x7F); field_tree = proto_item_add_subtree (tf, ett_report_diagn); @@ -3024,7 +3024,7 @@ static gint dissect_dmp_notification (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree_add_uint_format (notif_tree, hf_notif_non_rec_reason, tvb, offset, 1, notif, "Non-Receipt Reason%s: %s (%d)", - (notif < 0x10) ? " (X.420)" : "", + (notif < 0x10) ? " (P22)" : "", nrn_reason_str (notif), notif); offset += 1; @@ -3033,7 +3033,7 @@ static gint dissect_dmp_notification (tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree_add_uint_format (notif_tree, hf_notif_discard_reason, tvb, offset, 1, notif, "Discard Reason%s: %s (%d)", - (notif < 0x10) ? " (X.420)" : "", + (notif < 0x10) ? " (P22)" : "", discard_reason_str (notif), notif); offset += 1; } @@ -4026,15 +4026,15 @@ void proto_register_dmp (void) { "Address Encoding", "dmp.addr_encoding", FT_BOOLEAN, 8, TFS (&addr_enc), 0x40, NULL, HFILL } }, { &hf_report_reason, - { "Reason (X.411)", "dmp.report_reason", FT_UINT8, BASE_DEC, - VALS (x411_NonDeliveryReasonCode_vals), 0x3F, + { "Reason (P1)", "dmp.report_reason", FT_UINT8, BASE_DEC, + VALS (p1_NonDeliveryReasonCode_vals), 0x3F, "Reason", HFILL } }, { &hf_report_info_present_ndr, { "Info Present", "dmp.info_present", FT_BOOLEAN, 8, TFS (&tfs_present_absent), 0x80, NULL, HFILL } }, { &hf_report_diagn, - { "Diagnostic (X.411)", "dmp.report_diagnostic", FT_UINT8, BASE_DEC, - VALS (x411_NonDeliveryDiagnosticCode_vals), 0x7F, + { "Diagnostic (P1)", "dmp.report_diagnostic", FT_UINT8, BASE_DEC, + VALS (p1_NonDeliveryDiagnosticCode_vals), 0x7F, "Diagnostic", HFILL } }, { &hf_report_suppl_info_len, { "Supplementary Information", "dmp.suppl_info_len", FT_UINT8, @@ -4075,11 +4075,11 @@ void proto_register_dmp (void) HFILL } }, { &hf_notif_non_rec_reason, { "Non-Receipt Reason", "dmp.notif_non_rec_reason", - FT_UINT8, BASE_DEC, VALS (x420_NonReceiptReasonField_vals), 0x0, + FT_UINT8, BASE_DEC, VALS (p22_NonReceiptReasonField_vals), 0x0, NULL, HFILL } }, { &hf_notif_discard_reason, { "Discard Reason", "dmp.notif_discard_reason", FT_UINT8, - BASE_DEC, VALS (x420_DiscardReasonField_vals), 0x0, + BASE_DEC, VALS (p22_DiscardReasonField_vals), 0x0, NULL, HFILL } }, { &hf_notif_on_type, { "ON Type", "dmp.notif_on_type", FT_UINT8, BASE_DEC, diff --git a/epan/dissectors/packet-p1.c b/epan/dissectors/packet-p1.c new file mode 100644 index 0000000000..e0e2e94215 --- /dev/null +++ b/epan/dissectors/packet-p1.c @@ -0,0 +1,11118 @@ +/* Do not modify this file. */ +/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ +/* packet-p1.c */ +/* ../../tools/asn2wrs.py -b -e -C -p p1 -c ./p1.cnf -s ./packet-p1-template -D . MTAAbstractService.asn MTSAbstractService.asn MTSAccessProtocol.asn MHSProtocolObjectIdentifiers.asn MTSUpperBounds.asn */ + +/* Input file: packet-p1-template.c */ + +#line 1 "packet-p1-template.c" +/* packet-p1.c + * Routines for X.411 (X.400 Message Transfer) packet dissection + * Graeme Lunt 2005 + * + * $Id$ + * + * 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 + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/prefs.h> +#include <epan/oids.h> +#include <epan/asn1.h> +#include <epan/expert.h> + +#include "packet-ber.h" +#include "packet-acse.h" +#include "packet-ros.h" +#include "packet-rtse.h" + +#include "packet-x509af.h" +#include "packet-x509ce.h" +#include "packet-x509if.h" +#include "packet-x509sat.h" + +#include "packet-p1.h" +#include <epan/strutil.h> + +#define PNAME "X.411 Message Transfer Service" +#define PSNAME "P1" +#define PFNAME "p1" + +static guint global_p1_tcp_port = 102; +static dissector_handle_t tpkt_handle; +static void prefs_register_p1(void); /* forward declaration for use in preferences registration */ + +/* Initialize the protocol and registered fields */ +static int proto_p1 = -1; +static int proto_p3 = -1; + +static struct SESSION_DATA_STRUCTURE* session = NULL; +static int extension_id = -1; /* integer extension id */ +static const char *object_identifier_id = NULL; /* extensions identifier */ +static const char *content_type_id = NULL; /* content type identifier */ + +#define MAX_ORA_STR_LEN 256 +static char *oraddress = NULL; +static char *ddatype = NULL; +static gboolean doing_address=FALSE; +static gboolean doing_subjectid=FALSE; +static proto_item *address_item = NULL; + +static proto_tree *top_tree=NULL; + +static int hf_p1_MTS_APDU_PDU = -1; +static int hf_p1_MTABindArgument_PDU = -1; +static int hf_p1_MTABindResult_PDU = -1; +static int hf_p1_MTABindError_PDU = -1; + + +/*--- Included file: packet-p1-hf.c ---*/ +#line 1 "packet-p1-hf.c" +static int hf_p1_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */ +static int hf_p1_InternalTraceInformationElement_PDU = -1; /* InternalTraceInformationElement */ +static int hf_p1_TraceInformation_PDU = -1; /* TraceInformation */ +static int hf_p1_TraceInformationElement_PDU = -1; /* TraceInformationElement */ +static int hf_p1_MTSBindArgument_PDU = -1; /* MTSBindArgument */ +static int hf_p1_MTSBindResult_PDU = -1; /* MTSBindResult */ +static int hf_p1_PAR_mts_bind_error_PDU = -1; /* PAR_mts_bind_error */ +static int hf_p1_MessageSubmissionArgument_PDU = -1; /* MessageSubmissionArgument */ +static int hf_p1_MessageSubmissionResult_PDU = -1; /* MessageSubmissionResult */ +static int hf_p1_ProbeSubmissionArgument_PDU = -1; /* ProbeSubmissionArgument */ +static int hf_p1_ProbeSubmissionResult_PDU = -1; /* ProbeSubmissionResult */ +static int hf_p1_CancelDeferredDeliveryArgument_PDU = -1; /* CancelDeferredDeliveryArgument */ +static int hf_p1_CancelDeferredDeliveryResult_PDU = -1; /* CancelDeferredDeliveryResult */ +static int hf_p1_SubmissionControlArgument_PDU = -1; /* SubmissionControlArgument */ +static int hf_p1_SubmissionControlResult_PDU = -1; /* SubmissionControlResult */ +static int hf_p1_PAR_submission_control_violated_PDU = -1; /* PAR_submission_control_violated */ +static int hf_p1_PAR_element_of_service_not_subscribed_PDU = -1; /* PAR_element_of_service_not_subscribed */ +static int hf_p1_PAR_deferred_delivery_cancellation_rejected_PDU = -1; /* PAR_deferred_delivery_cancellation_rejected */ +static int hf_p1_PAR_originator_invalid_PDU = -1; /* PAR_originator_invalid */ +static int hf_p1_ImproperlySpecifiedRecipients_PDU = -1; /* ImproperlySpecifiedRecipients */ +static int hf_p1_PAR_message_submission_identifier_invalid_PDU = -1; /* PAR_message_submission_identifier_invalid */ +static int hf_p1_PAR_inconsistent_request_PDU = -1; /* PAR_inconsistent_request */ +static int hf_p1_SecurityProblem_PDU = -1; /* SecurityProblem */ +static int hf_p1_PAR_unsupported_critical_function_PDU = -1; /* PAR_unsupported_critical_function */ +static int hf_p1_PAR_remote_bind_error_PDU = -1; /* PAR_remote_bind_error */ +static int hf_p1_MessageSubmissionTime_PDU = -1; /* MessageSubmissionTime */ +static int hf_p1_MessageDeliveryArgument_PDU = -1; /* MessageDeliveryArgument */ +static int hf_p1_MessageDeliveryResult_PDU = -1; /* MessageDeliveryResult */ +static int hf_p1_ReportDeliveryArgument_PDU = -1; /* ReportDeliveryArgument */ +static int hf_p1_ReportDeliveryResult_PDU = -1; /* ReportDeliveryResult */ +static int hf_p1_DeliveryControlArgument_PDU = -1; /* DeliveryControlArgument */ +static int hf_p1_DeliveryControlResult_PDU = -1; /* DeliveryControlResult */ +static int hf_p1_PAR_delivery_control_violated_PDU = -1; /* PAR_delivery_control_violated */ +static int hf_p1_PAR_control_violates_registration_PDU = -1; /* PAR_control_violates_registration */ +static int hf_p1_RefusedOperation_PDU = -1; /* RefusedOperation */ +static int hf_p1_RecipientCertificate_PDU = -1; /* RecipientCertificate */ +static int hf_p1_ProofOfDelivery_PDU = -1; /* ProofOfDelivery */ +static int hf_p1_RegisterArgument_PDU = -1; /* RegisterArgument */ +static int hf_p1_RegisterResult_PDU = -1; /* RegisterResult */ +static int hf_p1_ChangeCredentialsArgument_PDU = -1; /* ChangeCredentialsArgument */ +static int hf_p1_RES_change_credentials_PDU = -1; /* RES_change_credentials */ +static int hf_p1_PAR_register_rejected_PDU = -1; /* PAR_register_rejected */ +static int hf_p1_PAR_new_credentials_unacceptable_PDU = -1; /* PAR_new_credentials_unacceptable */ +static int hf_p1_PAR_old_credentials_incorrectly_specified_PDU = -1; /* PAR_old_credentials_incorrectly_specified */ +static int hf_p1_MessageSubmissionEnvelope_PDU = -1; /* MessageSubmissionEnvelope */ +static int hf_p1_PerRecipientMessageSubmissionFields_PDU = -1; /* PerRecipientMessageSubmissionFields */ +static int hf_p1_ProbeSubmissionEnvelope_PDU = -1; /* ProbeSubmissionEnvelope */ +static int hf_p1_PerRecipientProbeSubmissionFields_PDU = -1; /* PerRecipientProbeSubmissionFields */ +static int hf_p1_MessageDeliveryEnvelope_PDU = -1; /* MessageDeliveryEnvelope */ +static int hf_p1_ReportDeliveryEnvelope_PDU = -1; /* ReportDeliveryEnvelope */ +static int hf_p1_PerRecipientReportDeliveryFields_PDU = -1; /* PerRecipientReportDeliveryFields */ +static int hf_p1_ExtendedContentType_PDU = -1; /* ExtendedContentType */ +static int hf_p1_ContentIdentifier_PDU = -1; /* ContentIdentifier */ +static int hf_p1_PerMessageIndicators_PDU = -1; /* PerMessageIndicators */ +static int hf_p1_OriginatorReportRequest_PDU = -1; /* OriginatorReportRequest */ +static int hf_p1_DeferredDeliveryTime_PDU = -1; /* DeferredDeliveryTime */ +static int hf_p1_Priority_PDU = -1; /* Priority */ +static int hf_p1_ContentLength_PDU = -1; /* ContentLength */ +static int hf_p1_MessageDeliveryTime_PDU = -1; /* MessageDeliveryTime */ +static int hf_p1_DeliveryFlags_PDU = -1; /* DeliveryFlags */ +static int hf_p1_SubjectSubmissionIdentifier_PDU = -1; /* SubjectSubmissionIdentifier */ +static int hf_p1_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */ +static int hf_p1_OriginatorRequestedAlternateRecipient_PDU = -1; /* OriginatorRequestedAlternateRecipient */ +static int hf_p1_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */ +static int hf_p1_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */ +static int hf_p1_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */ +static int hf_p1_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */ +static int hf_p1_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */ +static int hf_p1_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */ +static int hf_p1_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */ +static int hf_p1_RegisteredMailType_PDU = -1; /* RegisteredMailType */ +static int hf_p1_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */ +static int hf_p1_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */ +static int hf_p1_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */ +static int hf_p1_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */ +static int hf_p1_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */ +static int hf_p1_MessageToken_PDU = -1; /* MessageToken */ +static int hf_p1_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */ +static int hf_p1_ContentIntegrityCheck_PDU = -1; /* ContentIntegrityCheck */ +static int hf_p1_MessageOriginAuthenticationCheck_PDU = -1; /* MessageOriginAuthenticationCheck */ +static int hf_p1_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */ +static int hf_p1_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */ +static int hf_p1_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */ +static int hf_p1_ContentCorrelator_PDU = -1; /* ContentCorrelator */ +static int hf_p1_ProbeOriginAuthenticationCheck_PDU = -1; /* ProbeOriginAuthenticationCheck */ +static int hf_p1_RedirectionHistory_PDU = -1; /* RedirectionHistory */ +static int hf_p1_Redirection_PDU = -1; /* Redirection */ +static int hf_p1_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */ +static int hf_p1_DLExpansion_PDU = -1; /* DLExpansion */ +static int hf_p1_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */ +static int hf_p1_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */ +static int hf_p1_ReportingDLName_PDU = -1; /* ReportingDLName */ +static int hf_p1_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */ +static int hf_p1_ReportOriginAuthenticationCheck_PDU = -1; /* ReportOriginAuthenticationCheck */ +static int hf_p1_OriginatingMTACertificate_PDU = -1; /* OriginatingMTACertificate */ +static int hf_p1_ProofOfSubmission_PDU = -1; /* ProofOfSubmission */ +static int hf_p1_ReportingMTAName_PDU = -1; /* ReportingMTAName */ +static int hf_p1_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */ +static int hf_p1_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */ +static int hf_p1_CertificateSelectors_PDU = -1; /* CertificateSelectors */ +static int hf_p1_Content_PDU = -1; /* Content */ +static int hf_p1_MTSIdentifier_PDU = -1; /* MTSIdentifier */ +static int hf_p1_ORName_PDU = -1; /* ORName */ +static int hf_p1_ORAddress_PDU = -1; /* ORAddress */ +static int hf_p1_CommonName_PDU = -1; /* CommonName */ +static int hf_p1_TeletexCommonName_PDU = -1; /* TeletexCommonName */ +static int hf_p1_UniversalCommonName_PDU = -1; /* UniversalCommonName */ +static int hf_p1_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */ +static int hf_p1_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */ +static int hf_p1_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */ +static int hf_p1_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */ +static int hf_p1_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */ +static int hf_p1_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */ +static int hf_p1_PDSName_PDU = -1; /* PDSName */ +static int hf_p1_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */ +static int hf_p1_PostalCode_PDU = -1; /* PostalCode */ +static int hf_p1_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */ +static int hf_p1_UniversalPhysicalDeliveryOfficeName_PDU = -1; /* UniversalPhysicalDeliveryOfficeName */ +static int hf_p1_PhysicalDeliveryOfficeNumber_PDU = -1; /* PhysicalDeliveryOfficeNumber */ +static int hf_p1_UniversalPhysicalDeliveryOfficeNumber_PDU = -1; /* UniversalPhysicalDeliveryOfficeNumber */ +static int hf_p1_ExtensionORAddressComponents_PDU = -1; /* ExtensionORAddressComponents */ +static int hf_p1_UniversalExtensionORAddressComponents_PDU = -1; /* UniversalExtensionORAddressComponents */ +static int hf_p1_PhysicalDeliveryPersonalName_PDU = -1; /* PhysicalDeliveryPersonalName */ +static int hf_p1_UniversalPhysicalDeliveryPersonalName_PDU = -1; /* UniversalPhysicalDeliveryPersonalName */ +static int hf_p1_PhysicalDeliveryOrganizationName_PDU = -1; /* PhysicalDeliveryOrganizationName */ +static int hf_p1_UniversalPhysicalDeliveryOrganizationName_PDU = -1; /* UniversalPhysicalDeliveryOrganizationName */ +static int hf_p1_ExtensionPhysicalDeliveryAddressComponents_PDU = -1; /* ExtensionPhysicalDeliveryAddressComponents */ +static int hf_p1_UniversalExtensionPhysicalDeliveryAddressComponents_PDU = -1; /* UniversalExtensionPhysicalDeliveryAddressComponents */ +static int hf_p1_UnformattedPostalAddress_PDU = -1; /* UnformattedPostalAddress */ +static int hf_p1_UniversalUnformattedPostalAddress_PDU = -1; /* UniversalUnformattedPostalAddress */ +static int hf_p1_StreetAddress_PDU = -1; /* StreetAddress */ +static int hf_p1_UniversalStreetAddress_PDU = -1; /* UniversalStreetAddress */ +static int hf_p1_PostOfficeBoxAddress_PDU = -1; /* PostOfficeBoxAddress */ +static int hf_p1_UniversalPostOfficeBoxAddress_PDU = -1; /* UniversalPostOfficeBoxAddress */ +static int hf_p1_PosteRestanteAddress_PDU = -1; /* PosteRestanteAddress */ +static int hf_p1_UniversalPosteRestanteAddress_PDU = -1; /* UniversalPosteRestanteAddress */ +static int hf_p1_UniquePostalName_PDU = -1; /* UniquePostalName */ +static int hf_p1_UniversalUniquePostalName_PDU = -1; /* UniversalUniquePostalName */ +static int hf_p1_LocalPostalAttributes_PDU = -1; /* LocalPostalAttributes */ +static int hf_p1_UniversalLocalPostalAttributes_PDU = -1; /* UniversalLocalPostalAttributes */ +static int hf_p1_ExtendedNetworkAddress_PDU = -1; /* ExtendedNetworkAddress */ +static int hf_p1_TerminalType_PDU = -1; /* TerminalType */ +static int hf_p1_TeletexDomainDefinedAttributes_PDU = -1; /* TeletexDomainDefinedAttributes */ +static int hf_p1_UniversalDomainDefinedAttributes_PDU = -1; /* UniversalDomainDefinedAttributes */ +static int hf_p1_ExtendedEncodedInformationType_PDU = -1; /* ExtendedEncodedInformationType */ +static int hf_p1_MTANameAndOptionalGDI_PDU = -1; /* MTANameAndOptionalGDI */ +static int hf_p1_AsymmetricToken_PDU = -1; /* AsymmetricToken */ +static int hf_p1_BindTokenSignedData_PDU = -1; /* BindTokenSignedData */ +static int hf_p1_MessageTokenSignedData_PDU = -1; /* MessageTokenSignedData */ +static int hf_p1_MessageTokenEncryptedData_PDU = -1; /* MessageTokenEncryptedData */ +static int hf_p1_BindTokenEncryptedData_PDU = -1; /* BindTokenEncryptedData */ +static int hf_p1_SecurityClassification_PDU = -1; /* SecurityClassification */ +static int hf_p1_unauthenticated = -1; /* NULL */ +static int hf_p1_authenticated_argument = -1; /* AuthenticatedArgument */ +static int hf_p1_authenticated_initiator_name = -1; /* MTAName */ +static int hf_p1_initiator_credentials = -1; /* InitiatorCredentials */ +static int hf_p1_security_context = -1; /* SecurityContext */ +static int hf_p1_authenticated_result = -1; /* AuthenticatedResult */ +static int hf_p1_authenticated_responder_name = -1; /* MTAName */ +static int hf_p1_responder_credentials = -1; /* ResponderCredentials */ +static int hf_p1_message = -1; /* Message */ +static int hf_p1_probe = -1; /* Probe */ +static int hf_p1_report = -1; /* Report */ +static int hf_p1_message_envelope = -1; /* MessageTransferEnvelope */ +static int hf_p1_content = -1; /* Content */ +static int hf_p1_report_envelope = -1; /* ReportTransferEnvelope */ +static int hf_p1_report_content = -1; /* ReportTransferContent */ +static int hf_p1_message_identifier = -1; /* MessageIdentifier */ +static int hf_p1_originator_name = -1; /* MTAOriginatorName */ +static int hf_p1_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */ +static int hf_p1_content_type = -1; /* ContentType */ +static int hf_p1_content_identifier = -1; /* ContentIdentifier */ +static int hf_p1_priority = -1; /* Priority */ +static int hf_p1_per_message_indicators = -1; /* PerMessageIndicators */ +static int hf_p1_deferred_delivery_time = -1; /* DeferredDeliveryTime */ +static int hf_p1_per_domain_bilateral_information = -1; /* SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation */ +static int hf_p1_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */ +static int hf_p1_trace_information = -1; /* TraceInformation */ +static int hf_p1_extensions = -1; /* SET_OF_ExtensionField */ +static int hf_p1_extensions_item = -1; /* ExtensionField */ +static int hf_p1_recipient_name = -1; /* MTARecipientName */ +static int hf_p1_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */ +static int hf_p1_per_recipient_indicators = -1; /* PerRecipientIndicators */ +static int hf_p1_explicit_conversion = -1; /* ExplicitConversion */ +static int hf_p1_probe_identifier = -1; /* ProbeIdentifier */ +static int hf_p1_content_length = -1; /* ContentLength */ +static int hf_p1_report_identifier = -1; /* ReportIdentifier */ +static int hf_p1_report_destination_name = -1; /* ReportDestinationName */ +static int hf_p1_subject_identifier = -1; /* SubjectIdentifier */ +static int hf_p1_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */ +static int hf_p1_returned_content = -1; /* Content */ +static int hf_p1_additional_information = -1; /* AdditionalInformation */ +static int hf_p1_mta_actual_recipient_name = -1; /* MTAActualRecipientName */ +static int hf_p1_last_trace_information = -1; /* LastTraceInformation */ +static int hf_p1_report_originally_intended_recipient_name = -1; /* OriginallyIntendedRecipientName */ +static int hf_p1_supplementary_information = -1; /* SupplementaryInformation */ +static int hf_p1_country_name = -1; /* CountryName */ +static int hf_p1_bilateral_domain = -1; /* T_bilateral_domain */ +static int hf_p1_administration_domain_name = -1; /* AdministrationDomainName */ +static int hf_p1_private_domain = -1; /* T_private_domain */ +static int hf_p1_private_domain_identifier = -1; /* PrivateDomainIdentifier */ +static int hf_p1_bilateral_information = -1; /* T_bilateral_information */ +static int hf_p1_arrival_time = -1; /* ArrivalTime */ +static int hf_p1_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */ +static int hf_p1_trace_report_type = -1; /* ReportType */ +static int hf_p1_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */ +static int hf_p1_global_domain_identifier = -1; /* GlobalDomainIdentifier */ +static int hf_p1_mta_name = -1; /* MTAName */ +static int hf_p1_mta_supplied_information = -1; /* MTASuppliedInformation */ +static int hf_p1__untag_item = -1; /* TraceInformationElement */ +static int hf_p1_domain_supplied_information = -1; /* DomainSuppliedInformation */ +static int hf_p1_deferred_time = -1; /* DeferredTime */ +static int hf_p1_other_actions = -1; /* OtherActions */ +static int hf_p1_initiator_name = -1; /* ObjectName */ +static int hf_p1_messages_waiting = -1; /* MessagesWaiting */ +static int hf_p1_responder_name = -1; /* ObjectName */ +static int hf_p1_user_agent = -1; /* ORAddressAndOptionalDirectoryName */ +static int hf_p1_mTA = -1; /* MTAName */ +static int hf_p1_message_store = -1; /* ORAddressAndOptionalDirectoryName */ +static int hf_p1_urgent = -1; /* DeliveryQueue */ +static int hf_p1_normal = -1; /* DeliveryQueue */ +static int hf_p1_non_urgent = -1; /* DeliveryQueue */ +static int hf_p1_messages = -1; /* INTEGER_0_ub_queue_size */ +static int hf_p1_delivery_queue_octets = -1; /* INTEGER_0_ub_content_length */ +static int hf_p1_simple = -1; /* Password */ +static int hf_p1_strong = -1; /* StrongCredentials */ +static int hf_p1_protected = -1; /* ProtectedPassword */ +static int hf_p1_ia5_string = -1; /* IA5String_SIZE_0_ub_password_length */ +static int hf_p1_octet_string = -1; /* OCTET_STRING_SIZE_0_ub_password_length */ +static int hf_p1_bind_token = -1; /* Token */ +static int hf_p1_certificate = -1; /* Certificates */ +static int hf_p1_certificate_selector = -1; /* CertificateAssertion */ +static int hf_p1_signature = -1; /* Signature */ +static int hf_p1_time1 = -1; /* UTCTime */ +static int hf_p1_time2 = -1; /* UTCTime */ +static int hf_p1_random1 = -1; /* BIT_STRING */ +static int hf_p1_random2 = -1; /* BIT_STRING */ +static int hf_p1_algorithmIdentifier = -1; /* AlgorithmIdentifier */ +static int hf_p1_encrypted = -1; /* BIT_STRING */ +static int hf_p1_SecurityContext_item = -1; /* SecurityLabel */ +static int hf_p1_message_submission_envelope = -1; /* MessageSubmissionEnvelope */ +static int hf_p1_message_submission_identifier = -1; /* MessageSubmissionIdentifier */ +static int hf_p1_message_submission_time = -1; /* MessageSubmissionTime */ +static int hf_p1_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */ +static int hf_p1_probe_submission_time = -1; /* ProbeSubmissionTime */ +static int hf_p1_ImproperlySpecifiedRecipients_item = -1; /* RecipientName */ +static int hf_p1_waiting_operations = -1; /* Operations */ +static int hf_p1_waiting_messages = -1; /* WaitingMessages */ +static int hf_p1_waiting_content_types = -1; /* SET_SIZE_0_ub_content_types_OF_ContentType */ +static int hf_p1_waiting_content_types_item = -1; /* ContentType */ +static int hf_p1_waiting_encoded_information_types = -1; /* EncodedInformationTypes */ +static int hf_p1_recipient_certificate = -1; /* RecipientCertificate */ +static int hf_p1_proof_of_delivery = -1; /* ProofOfDelivery */ +static int hf_p1_empty_result = -1; /* NULL */ +static int hf_p1_max_extensions = -1; /* SET_SIZE_1_MAX_OF_ExtensionField */ +static int hf_p1_max_extensions_item = -1; /* ExtensionField */ +static int hf_p1_restrict = -1; /* BOOLEAN */ +static int hf_p1_permissible_operations = -1; /* Operations */ +static int hf_p1_permissible_maximum_content_length = -1; /* ContentLength */ +static int hf_p1_permissible_lowest_priority = -1; /* Priority */ +static int hf_p1_permissible_content_types = -1; /* ContentTypes */ +static int hf_p1_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */ +static int hf_p1_permissible_security_context = -1; /* SecurityContext */ +static int hf_p1_refused_argument = -1; /* T_refused_argument */ +static int hf_p1_built_in_argument = -1; /* RefusedArgument */ +static int hf_p1_refused_extension = -1; /* T_refused_extension */ +static int hf_p1_refusal_reason = -1; /* RefusalReason */ +static int hf_p1_user_name = -1; /* UserName */ +static int hf_p1_user_address = -1; /* UserAddress */ +static int hf_p1_deliverable_class = -1; /* SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass */ +static int hf_p1_deliverable_class_item = -1; /* DeliverableClass */ +static int hf_p1_default_delivery_controls = -1; /* DefaultDeliveryControls */ +static int hf_p1_redirections = -1; /* Redirections */ +static int hf_p1_restricted_delivery = -1; /* RestrictedDelivery */ +static int hf_p1_retrieve_registrations = -1; /* RegistrationTypes */ +static int hf_p1_non_empty_result = -1; /* T_non_empty_result */ +static int hf_p1_registered_information = -1; /* RegisterArgument */ +static int hf_p1_old_credentials = -1; /* Credentials */ +static int hf_p1_new_credentials = -1; /* Credentials */ +static int hf_p1_x121 = -1; /* T_x121 */ +static int hf_p1_x121_address = -1; /* T_x121_address */ +static int hf_p1_tsap_id = -1; /* PrintableString_SIZE_1_ub_tsap_id_length */ +static int hf_p1_presentation = -1; /* PSAPAddress */ +static int hf_p1_Redirections_item = -1; /* RecipientRedirection */ +static int hf_p1_redirection_classes = -1; /* SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass */ +static int hf_p1_redirection_classes_item = -1; /* RedirectionClass */ +static int hf_p1_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */ +static int hf_p1_content_types = -1; /* ContentTypes */ +static int hf_p1_maximum_content_length = -1; /* ContentLength */ +static int hf_p1_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */ +static int hf_p1_security_labels = -1; /* SecurityContext */ +static int hf_p1_class_priority = -1; /* SET_OF_Priority */ +static int hf_p1_class_priority_item = -1; /* Priority */ +static int hf_p1_objects = -1; /* T_objects */ +static int hf_p1_applies_only_to = -1; /* SEQUENCE_OF_Restriction */ +static int hf_p1_applies_only_to_item = -1; /* Restriction */ +static int hf_p1_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */ +static int hf_p1_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */ +static int hf_p1_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */ +static int hf_p1_RestrictedDelivery_item = -1; /* Restriction */ +static int hf_p1_permitted = -1; /* BOOLEAN */ +static int hf_p1_source_type = -1; /* T_source_type */ +static int hf_p1_source_name = -1; /* ExactOrPattern */ +static int hf_p1_exact_match = -1; /* ORName */ +static int hf_p1_pattern_match = -1; /* ORName */ +static int hf_p1_standard_parameters = -1; /* T_standard_parameters */ +static int hf_p1_type_extensions = -1; /* T_type_extensions */ +static int hf_p1_type_extensions_item = -1; /* T_type_extensions_item */ +static int hf_p1_originator_name_01 = -1; /* OriginatorName */ +static int hf_p1_submission_recipient_name = -1; /* RecipientName */ +static int hf_p1_originator_report_request = -1; /* OriginatorReportRequest */ +static int hf_p1_probe_recipient_name = -1; /* RecipientName */ +static int hf_p1_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */ +static int hf_p1_message_delivery_time = -1; /* MessageDeliveryTime */ +static int hf_p1_other_fields = -1; /* OtherMessageDeliveryFields */ +static int hf_p1_delivered_content_type = -1; /* DeliveredContentType */ +static int hf_p1_delivered_originator_name = -1; /* DeliveredOriginatorName */ +static int hf_p1_delivery_flags = -1; /* DeliveryFlags */ +static int hf_p1_other_recipient_names = -1; /* OtherRecipientNames */ +static int hf_p1_this_recipient_name = -1; /* ThisRecipientName */ +static int hf_p1_originally_intended_recipient_name = -1; /* OriginallyIntendedRecipientName */ +static int hf_p1_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */ +static int hf_p1_actual_recipient_name = -1; /* ActualRecipientName */ +static int hf_p1_delivery_report_type = -1; /* ReportType */ +static int hf_p1_delivery = -1; /* DeliveryReport */ +static int hf_p1_non_delivery = -1; /* NonDeliveryReport */ +static int hf_p1_type_of_MTS_user = -1; /* TypeOfMTSUser */ +static int hf_p1_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */ +static int hf_p1_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */ +static int hf_p1_ContentTypes_item = -1; /* ContentType */ +static int hf_p1_built_in = -1; /* BuiltInContentType */ +static int hf_p1_extended = -1; /* ExtendedContentType */ +static int hf_p1_OtherRecipientNames_item = -1; /* OtherRecipientName */ +static int hf_p1_standard_extension = -1; /* StandardExtension */ +static int hf_p1_private_extension = -1; /* T_private_extension */ +static int hf_p1_extension_type = -1; /* ExtensionType */ +static int hf_p1_criticality = -1; /* Criticality */ +static int hf_p1_extension_value = -1; /* ExtensionValue */ +static int hf_p1_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */ +static int hf_p1_ia5text = -1; /* IA5String */ +static int hf_p1_octets = -1; /* OCTET_STRING */ +static int hf_p1_RedirectionHistory_item = -1; /* Redirection */ +static int hf_p1_intended_recipient_name = -1; /* IntendedRecipientName */ +static int hf_p1_redirection_reason = -1; /* RedirectionReason */ +static int hf_p1_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */ +static int hf_p1_redirection_time = -1; /* Time */ +static int hf_p1_DLExpansionHistory_item = -1; /* DLExpansion */ +static int hf_p1_dl = -1; /* ORAddressAndOptionalDirectoryName */ +static int hf_p1_dl_expansion_time = -1; /* Time */ +static int hf_p1_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */ +static int hf_p1_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */ +static int hf_p1_origination_or_expansion_time = -1; /* Time */ +static int hf_p1_report_type = -1; /* T_report_type */ +static int hf_p1_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */ +static int hf_p1_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */ +static int hf_p1_domain = -1; /* GlobalDomainIdentifier */ +static int hf_p1_mta_directory_name = -1; /* Name */ +static int hf_p1_ExtendedCertificates_item = -1; /* ExtendedCertificate */ +static int hf_p1_directory_entry = -1; /* Name */ +static int hf_p1_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */ +static int hf_p1_encryption_recipient = -1; /* CertificateAssertion */ +static int hf_p1_encryption_originator = -1; /* CertificateAssertion */ +static int hf_p1_selectors_content_integrity_check = -1; /* CertificateAssertion */ +static int hf_p1_token_signature = -1; /* CertificateAssertion */ +static int hf_p1_message_origin_authentication = -1; /* CertificateAssertion */ +static int hf_p1_local_identifier = -1; /* LocalIdentifier */ +static int hf_p1_numeric_private_domain_identifier = -1; /* T_numeric_private_domain_identifier */ +static int hf_p1_printable_private_domain_identifier = -1; /* T_printable_private_domain_identifier */ +static int hf_p1_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */ +static int hf_p1_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */ +static int hf_p1_extension_attributes = -1; /* ExtensionAttributes */ +static int hf_p1_network_address = -1; /* NetworkAddress */ +static int hf_p1_terminal_identifier = -1; /* TerminalIdentifier */ +static int hf_p1_private_domain_name = -1; /* PrivateDomainName */ +static int hf_p1_organization_name = -1; /* OrganizationName */ +static int hf_p1_numeric_user_identifier = -1; /* NumericUserIdentifier */ +static int hf_p1_personal_name = -1; /* PersonalName */ +static int hf_p1_organizational_unit_names = -1; /* OrganizationalUnitNames */ +static int hf_p1_x121_dcc_code = -1; /* T_x121_dcc_code */ +static int hf_p1_iso_3166_alpha2_code = -1; /* T_iso_3166_alpha2_code */ +static int hf_p1_numeric = -1; /* T_numeric */ +static int hf_p1_printable = -1; /* T_printable */ +static int hf_p1_numeric_private_domain_name = -1; /* T_numeric_private_domain_name */ +static int hf_p1_printable_private_domain_name = -1; /* T_printable_private_domain_name */ +static int hf_p1_printable_surname = -1; /* T_printable_surname */ +static int hf_p1_printable_given_name = -1; /* T_printable_given_name */ +static int hf_p1_printable_initials = -1; /* T_printable_initials */ +static int hf_p1_printable_generation_qualifier = -1; /* T_printable_generation_qualifier */ +static int hf_p1_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */ +static int hf_p1_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */ +static int hf_p1_printable_type = -1; /* T_printable_type */ +static int hf_p1_printable_value = -1; /* T_printable_value */ +static int hf_p1_ExtensionAttributes_item = -1; /* ExtensionAttribute */ +static int hf_p1_extension_attribute_type = -1; /* ExtensionAttributeType */ +static int hf_p1_extension_attribute_value = -1; /* T_extension_attribute_value */ +static int hf_p1_teletex_surname = -1; /* T_teletex_surname */ +static int hf_p1_teletex_given_name = -1; /* T_teletex_given_name */ +static int hf_p1_teletex_initials = -1; /* T_teletex_initials */ +static int hf_p1_teletex_generation_qualifier = -1; /* T_teletex_generation_qualifier */ +static int hf_p1_universal_surname = -1; /* UniversalOrBMPString */ +static int hf_p1_universal_given_name = -1; /* UniversalOrBMPString */ +static int hf_p1_universal_initials = -1; /* UniversalOrBMPString */ +static int hf_p1_universal_generation_qualifier = -1; /* UniversalOrBMPString */ +static int hf_p1_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */ +static int hf_p1_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */ +static int hf_p1_character_encoding = -1; /* T_character_encoding */ +static int hf_p1_two_octets = -1; /* BMPString_SIZE_1_ub_string_length */ +static int hf_p1_four_octets = -1; /* UniversalString_SIZE_1_ub_string_length */ +static int hf_p1_iso_639_language_code = -1; /* PrintableString_SIZE_CONSTR001 */ +static int hf_p1_x121_dcc_code_01 = -1; /* T_x121_dcc_code_01 */ +static int hf_p1_iso_3166_alpha2_code_01 = -1; /* T_iso_3166_alpha2_code_01 */ +static int hf_p1_numeric_code = -1; /* T_numeric_code */ +static int hf_p1_printable_code = -1; /* PrintableString_SIZE_1_ub_postal_code_length */ +static int hf_p1_printable_address = -1; /* T_printable_address */ +static int hf_p1_printable_address_item = -1; /* PrintableString_SIZE_1_ub_pds_parameter_length */ +static int hf_p1_teletex_string = -1; /* TeletexString_SIZE_1_ub_unformatted_address_length */ +static int hf_p1_printable_string = -1; /* PrintableString_SIZE_1_ub_pds_parameter_length */ +static int hf_p1_pds_teletex_string = -1; /* TeletexString_SIZE_1_ub_pds_parameter_length */ +static int hf_p1_e163_4_address = -1; /* T_e163_4_address */ +static int hf_p1_number = -1; /* NumericString_SIZE_1_ub_e163_4_number_length */ +static int hf_p1_sub_address = -1; /* NumericString_SIZE_1_ub_e163_4_sub_address_length */ +static int hf_p1_psap_address = -1; /* PresentationAddress */ +static int hf_p1_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */ +static int hf_p1_type = -1; /* T_type */ +static int hf_p1_teletex_value = -1; /* T_teletex_value */ +static int hf_p1_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */ +static int hf_p1_universal_type = -1; /* UniversalOrBMPString */ +static int hf_p1_universal_value = -1; /* UniversalOrBMPString */ +static int hf_p1_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */ +static int hf_p1_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */ +static int hf_p1_teletex = -1; /* TeletexNonBasicParameters */ +static int hf_p1_graphic_character_sets = -1; /* TeletexString */ +static int hf_p1_control_character_sets = -1; /* TeletexString */ +static int hf_p1_page_formats = -1; /* OCTET_STRING */ +static int hf_p1_miscellaneous_terminal_capabilities = -1; /* TeletexString */ +static int hf_p1_private_use = -1; /* OCTET_STRING */ +static int hf_p1_token_type_identifier = -1; /* TokenTypeIdentifier */ +static int hf_p1_token = -1; /* TokenTypeData */ +static int hf_p1_signature_algorithm_identifier = -1; /* AlgorithmIdentifier */ +static int hf_p1_name = -1; /* T_name */ +static int hf_p1_token_recipient_name = -1; /* RecipientName */ +static int hf_p1_token_mta = -1; /* MTANameAndOptionalGDI */ +static int hf_p1_time = -1; /* Time */ +static int hf_p1_signed_data = -1; /* TokenData */ +static int hf_p1_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */ +static int hf_p1_encrypted_data = -1; /* BIT_STRING */ +static int hf_p1_asymmetric_token_data = -1; /* AsymmetricTokenData */ +static int hf_p1_algorithm_identifier = -1; /* AlgorithmIdentifier */ +static int hf_p1_token_data_type = -1; /* TokenDataType */ +static int hf_p1_value = -1; /* T_value */ +static int hf_p1_content_confidentiality_algorithm_identifier = -1; /* ContentConfidentialityAlgorithmIdentifier */ +static int hf_p1_content_integrity_check = -1; /* ContentIntegrityCheck */ +static int hf_p1_message_security_label = -1; /* MessageSecurityLabel */ +static int hf_p1_proof_of_delivery_request = -1; /* ProofOfDeliveryRequest */ +static int hf_p1_message_sequence_number = -1; /* INTEGER */ +static int hf_p1_content_confidentiality_key = -1; /* EncryptionKey */ +static int hf_p1_content_integrity_key = -1; /* EncryptionKey */ +static int hf_p1_security_policy_identifier = -1; /* SecurityPolicyIdentifier */ +static int hf_p1_security_classification = -1; /* SecurityClassification */ +static int hf_p1_privacy_mark = -1; /* PrivacyMark */ +static int hf_p1_security_categories = -1; /* SecurityCategories */ +static int hf_p1_SecurityCategories_item = -1; /* SecurityCategory */ +static int hf_p1_category_type = -1; /* SecurityCategoryIdentifier */ +static int hf_p1_category_value = -1; /* CategoryValue */ +static int hf_p1_mta_originator_name = -1; /* MTAOriginatorName */ +static int hf_p1_per_recipient_message_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields */ +static int hf_p1_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */ +static int hf_p1_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields */ +static int hf_p1_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */ +static int hf_p1_per_recipient_report_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields */ +static int hf_p1_per_recipient_report_fields_item = -1; /* PerRecipientReportTransferFields */ +static int hf_p1_routing_action = -1; /* RoutingAction */ +static int hf_p1_attempted = -1; /* T_attempted */ +static int hf_p1_mta = -1; /* MTAName */ +static int hf_p1_attempted_domain = -1; /* GlobalDomainIdentifier */ +static int hf_p1_per_recipient_report_delivery_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields */ +static int hf_p1_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */ +static int hf_p1_mts_originator_name = -1; /* OriginatorName */ +static int hf_p1_per_recipient_message_submission_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields */ +static int hf_p1_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */ +static int hf_p1_per_recipient_probe_submission_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields */ +static int hf_p1_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */ +static int hf_p1_directory_name = -1; /* Name */ +static int hf_p1_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */ +static int hf_p1_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */ +/* named bits */ +static int hf_p1_PerRecipientIndicators_responsibility = -1; +static int hf_p1_PerRecipientIndicators_originating_MTA_report = -1; +static int hf_p1_PerRecipientIndicators_originating_MTA_non_delivery_report = -1; +static int hf_p1_PerRecipientIndicators_originator_report = -1; +static int hf_p1_PerRecipientIndicators_originator_non_delivery_report = -1; +static int hf_p1_PerRecipientIndicators_reserved_5 = -1; +static int hf_p1_PerRecipientIndicators_reserved_6 = -1; +static int hf_p1_PerRecipientIndicators_reserved_7 = -1; +static int hf_p1_OtherActions_redirected = -1; +static int hf_p1_OtherActions_dl_operation = -1; +static int hf_p1_Operations_probe_submission_or_report_delivery = -1; +static int hf_p1_Operations_message_submission_or_message_delivery = -1; +static int hf_p1_WaitingMessages_long_content = -1; +static int hf_p1_WaitingMessages_low_priority = -1; +static int hf_p1_WaitingMessages_other_security_labels = -1; +static int hf_p1_T_source_type_originated_by = -1; +static int hf_p1_T_source_type_redirected_by = -1; +static int hf_p1_T_source_type_dl_expanded_by = -1; +static int hf_p1_T_standard_parameters_user_name = -1; +static int hf_p1_T_standard_parameters_user_address = -1; +static int hf_p1_T_standard_parameters_deliverable_class = -1; +static int hf_p1_T_standard_parameters_default_delivery_controls = -1; +static int hf_p1_T_standard_parameters_redirections = -1; +static int hf_p1_T_standard_parameters_restricted_delivery = -1; +static int hf_p1_PerMessageIndicators_U_disclosure_of_other_recipients = -1; +static int hf_p1_PerMessageIndicators_U_implicit_conversion_prohibited = -1; +static int hf_p1_PerMessageIndicators_U_alternate_recipient_allowed = -1; +static int hf_p1_PerMessageIndicators_U_content_return_request = -1; +static int hf_p1_PerMessageIndicators_U_reserved = -1; +static int hf_p1_PerMessageIndicators_U_bit_5 = -1; +static int hf_p1_PerMessageIndicators_U_bit_6 = -1; +static int hf_p1_PerMessageIndicators_U_service_message = -1; +static int hf_p1_OriginatorReportRequest_report = -1; +static int hf_p1_OriginatorReportRequest_non_delivery_report = -1; +static int hf_p1_DeliveryFlags_implicit_conversion_prohibited = -1; +static int hf_p1_Criticality_for_submission = -1; +static int hf_p1_Criticality_for_transfer = -1; +static int hf_p1_Criticality_for_delivery = -1; +static int hf_p1_PhysicalDeliveryModes_ordinary_mail = -1; +static int hf_p1_PhysicalDeliveryModes_special_delivery = -1; +static int hf_p1_PhysicalDeliveryModes_express_mail = -1; +static int hf_p1_PhysicalDeliveryModes_counter_collection = -1; +static int hf_p1_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1; +static int hf_p1_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1; +static int hf_p1_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1; +static int hf_p1_PhysicalDeliveryModes_bureau_fax_delivery = -1; +static int hf_p1_BuiltInEncodedInformationTypes_unknown = -1; +static int hf_p1_BuiltInEncodedInformationTypes_ia5_text = -1; +static int hf_p1_BuiltInEncodedInformationTypes_g3_facsimile = -1; +static int hf_p1_BuiltInEncodedInformationTypes_g4_class_1 = -1; +static int hf_p1_BuiltInEncodedInformationTypes_teletex = -1; +static int hf_p1_BuiltInEncodedInformationTypes_videotex = -1; +static int hf_p1_BuiltInEncodedInformationTypes_voice = -1; +static int hf_p1_BuiltInEncodedInformationTypes_sfd = -1; +static int hf_p1_BuiltInEncodedInformationTypes_mixed_mode = -1; +static int hf_p1_G3FacsimileNonBasicParameters_two_dimensional = -1; +static int hf_p1_G3FacsimileNonBasicParameters_fine_resolution = -1; +static int hf_p1_G3FacsimileNonBasicParameters_unlimited_length = -1; +static int hf_p1_G3FacsimileNonBasicParameters_b4_length = -1; +static int hf_p1_G3FacsimileNonBasicParameters_a3_width = -1; +static int hf_p1_G3FacsimileNonBasicParameters_b4_width = -1; +static int hf_p1_G3FacsimileNonBasicParameters_t6_coding = -1; +static int hf_p1_G3FacsimileNonBasicParameters_uncompressed = -1; +static int hf_p1_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1; +static int hf_p1_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1; +static int hf_p1_G3FacsimileNonBasicParameters_resolution_type = -1; +static int hf_p1_G3FacsimileNonBasicParameters_resolution_400x400 = -1; +static int hf_p1_G3FacsimileNonBasicParameters_resolution_300x300 = -1; +static int hf_p1_G3FacsimileNonBasicParameters_resolution_8x15 = -1; +static int hf_p1_G3FacsimileNonBasicParameters_edi = -1; +static int hf_p1_G3FacsimileNonBasicParameters_dtm = -1; +static int hf_p1_G3FacsimileNonBasicParameters_bft = -1; +static int hf_p1_G3FacsimileNonBasicParameters_mixed_mode = -1; +static int hf_p1_G3FacsimileNonBasicParameters_character_mode = -1; +static int hf_p1_G3FacsimileNonBasicParameters_twelve_bits = -1; +static int hf_p1_G3FacsimileNonBasicParameters_preferred_huffmann = -1; +static int hf_p1_G3FacsimileNonBasicParameters_full_colour = -1; +static int hf_p1_G3FacsimileNonBasicParameters_jpeg = -1; +static int hf_p1_G3FacsimileNonBasicParameters_processable_mode_26 = -1; + +/*--- End of included file: packet-p1-hf.c ---*/ +#line 82 "packet-p1-template.c" + +/* Initialize the subtree pointers */ +static gint ett_p1 = -1; +static gint ett_p3 = -1; +static gint ett_p1_content_unknown = -1; +static gint ett_p1_bilateral_information = -1; +static gint ett_p1_additional_information = -1; +static gint ett_p1_unknown_standard_extension = -1; +static gint ett_p1_unknown_extension_attribute_type = -1; +static gint ett_p1_unknown_tokendata_type = -1; + +/*--- Included file: packet-p1-ett.c ---*/ +#line 1 "packet-p1-ett.c" +static gint ett_p1_MTABindArgument = -1; +static gint ett_p1_AuthenticatedArgument = -1; +static gint ett_p1_MTABindResult = -1; +static gint ett_p1_AuthenticatedResult = -1; +static gint ett_p1_MTS_APDU = -1; +static gint ett_p1_Message = -1; +static gint ett_p1_Report = -1; +static gint ett_p1_MessageTransferEnvelope = -1; +static gint ett_p1_PerMessageTransferFields = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation = -1; +static gint ett_p1_SET_OF_ExtensionField = -1; +static gint ett_p1_PerRecipientMessageTransferFields = -1; +static gint ett_p1_ProbeTransferEnvelope = -1; +static gint ett_p1_PerProbeTransferFields = -1; +static gint ett_p1_PerRecipientProbeTransferFields = -1; +static gint ett_p1_ReportTransferEnvelope = -1; +static gint ett_p1_ReportTransferContent = -1; +static gint ett_p1_PerReportTransferFields = -1; +static gint ett_p1_PerRecipientReportTransferFields = -1; +static gint ett_p1_PerDomainBilateralInformation = -1; +static gint ett_p1_T_bilateral_domain = -1; +static gint ett_p1_T_private_domain = -1; +static gint ett_p1_PerRecipientIndicators = -1; +static gint ett_p1_LastTraceInformation = -1; +static gint ett_p1_InternalTraceInformation = -1; +static gint ett_p1_InternalTraceInformationElement = -1; +static gint ett_p1_MTASuppliedInformation = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement = -1; +static gint ett_p1_TraceInformationElement = -1; +static gint ett_p1_DomainSuppliedInformation = -1; +static gint ett_p1_AdditionalActions = -1; +static gint ett_p1_OtherActions = -1; +static gint ett_p1_MTSBindArgument = -1; +static gint ett_p1_MTSBindResult = -1; +static gint ett_p1_ObjectName = -1; +static gint ett_p1_MessagesWaiting = -1; +static gint ett_p1_DeliveryQueue = -1; +static gint ett_p1_Credentials = -1; +static gint ett_p1_Password = -1; +static gint ett_p1_StrongCredentials = -1; +static gint ett_p1_ProtectedPassword = -1; +static gint ett_p1_Signature = -1; +static gint ett_p1_SecurityContext = -1; +static gint ett_p1_MessageSubmissionArgument = -1; +static gint ett_p1_MessageSubmissionResult = -1; +static gint ett_p1_ProbeSubmissionResult = -1; +static gint ett_p1_ImproperlySpecifiedRecipients = -1; +static gint ett_p1_Waiting = -1; +static gint ett_p1_SET_SIZE_0_ub_content_types_OF_ContentType = -1; +static gint ett_p1_Operations = -1; +static gint ett_p1_WaitingMessages = -1; +static gint ett_p1_MessageDeliveryArgument = -1; +static gint ett_p1_MessageDeliveryResult = -1; +static gint ett_p1_ReportDeliveryArgument = -1; +static gint ett_p1_ReportDeliveryResult = -1; +static gint ett_p1_SET_SIZE_1_MAX_OF_ExtensionField = -1; +static gint ett_p1_DeliveryControlArgument = -1; +static gint ett_p1_DeliveryControlResult = -1; +static gint ett_p1_RefusedOperation = -1; +static gint ett_p1_T_refused_argument = -1; +static gint ett_p1_Controls = -1; +static gint ett_p1_RegisterArgument = -1; +static gint ett_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass = -1; +static gint ett_p1_RegisterResult = -1; +static gint ett_p1_T_non_empty_result = -1; +static gint ett_p1_ChangeCredentialsArgument = -1; +static gint ett_p1_UserAddress = -1; +static gint ett_p1_T_x121 = -1; +static gint ett_p1_Redirections = -1; +static gint ett_p1_RecipientRedirection = -1; +static gint ett_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass = -1; +static gint ett_p1_MessageClass = -1; +static gint ett_p1_SET_OF_Priority = -1; +static gint ett_p1_SEQUENCE_OF_Restriction = -1; +static gint ett_p1_EncodedInformationTypesConstraints = -1; +static gint ett_p1_RestrictedDelivery = -1; +static gint ett_p1_Restriction = -1; +static gint ett_p1_T_source_type = -1; +static gint ett_p1_ExactOrPattern = -1; +static gint ett_p1_RegistrationTypes = -1; +static gint ett_p1_T_standard_parameters = -1; +static gint ett_p1_T_type_extensions = -1; +static gint ett_p1_MessageSubmissionEnvelope = -1; +static gint ett_p1_PerMessageSubmissionFields = -1; +static gint ett_p1_PerRecipientMessageSubmissionFields = -1; +static gint ett_p1_ProbeSubmissionEnvelope = -1; +static gint ett_p1_PerProbeSubmissionFields = -1; +static gint ett_p1_PerRecipientProbeSubmissionFields = -1; +static gint ett_p1_MessageDeliveryEnvelope = -1; +static gint ett_p1_OtherMessageDeliveryFields = -1; +static gint ett_p1_ReportDeliveryEnvelope = -1; +static gint ett_p1_PerReportDeliveryFields = -1; +static gint ett_p1_PerRecipientReportDeliveryFields = -1; +static gint ett_p1_ReportType = -1; +static gint ett_p1_DeliveryReport = -1; +static gint ett_p1_NonDeliveryReport = -1; +static gint ett_p1_ContentTypes = -1; +static gint ett_p1_ContentType = -1; +static gint ett_p1_DeliveredContentType = -1; +static gint ett_p1_PerMessageIndicators_U = -1; +static gint ett_p1_OriginatorReportRequest = -1; +static gint ett_p1_DeliveryFlags = -1; +static gint ett_p1_OtherRecipientNames = -1; +static gint ett_p1_ExtensionType = -1; +static gint ett_p1_Criticality = -1; +static gint ett_p1_ExtensionField = -1; +static gint ett_p1_RequestedDeliveryMethod = -1; +static gint ett_p1_PhysicalDeliveryModes = -1; +static gint ett_p1_ContentCorrelator = -1; +static gint ett_p1_RedirectionHistory = -1; +static gint ett_p1_Redirection = -1; +static gint ett_p1_IntendedRecipientName = -1; +static gint ett_p1_DLExpansionHistory = -1; +static gint ett_p1_DLExpansion = -1; +static gint ett_p1_OriginatorAndDLExpansionHistory = -1; +static gint ett_p1_OriginatorAndDLExpansion = -1; +static gint ett_p1_PerRecipientReportFields = -1; +static gint ett_p1_T_report_type = -1; +static gint ett_p1_PerRecipientDeliveryReportFields = -1; +static gint ett_p1_PerRecipientNonDeliveryReportFields = -1; +static gint ett_p1_ReportingMTAName = -1; +static gint ett_p1_ExtendedCertificates = -1; +static gint ett_p1_ExtendedCertificate = -1; +static gint ett_p1_DLExemptedRecipients = -1; +static gint ett_p1_CertificateSelectors = -1; +static gint ett_p1_MTSIdentifier_U = -1; +static gint ett_p1_GlobalDomainIdentifier_U = -1; +static gint ett_p1_PrivateDomainIdentifier = -1; +static gint ett_p1_ORName_U = -1; +static gint ett_p1_ORAddress = -1; +static gint ett_p1_BuiltInStandardAttributes = -1; +static gint ett_p1_CountryName_U = -1; +static gint ett_p1_AdministrationDomainName_U = -1; +static gint ett_p1_PrivateDomainName = -1; +static gint ett_p1_PersonalName = -1; +static gint ett_p1_OrganizationalUnitNames = -1; +static gint ett_p1_BuiltInDomainDefinedAttributes = -1; +static gint ett_p1_BuiltInDomainDefinedAttribute = -1; +static gint ett_p1_ExtensionAttributes = -1; +static gint ett_p1_ExtensionAttribute = -1; +static gint ett_p1_TeletexPersonalName = -1; +static gint ett_p1_UniversalPersonalName = -1; +static gint ett_p1_TeletexOrganizationalUnitNames = -1; +static gint ett_p1_UniversalOrganizationalUnitNames = -1; +static gint ett_p1_UniversalOrBMPString = -1; +static gint ett_p1_T_character_encoding = -1; +static gint ett_p1_PhysicalDeliveryCountryName = -1; +static gint ett_p1_PostalCode = -1; +static gint ett_p1_UnformattedPostalAddress = -1; +static gint ett_p1_T_printable_address = -1; +static gint ett_p1_PDSParameter = -1; +static gint ett_p1_ExtendedNetworkAddress = -1; +static gint ett_p1_T_e163_4_address = -1; +static gint ett_p1_TeletexDomainDefinedAttributes = -1; +static gint ett_p1_TeletexDomainDefinedAttribute = -1; +static gint ett_p1_UniversalDomainDefinedAttributes = -1; +static gint ett_p1_UniversalDomainDefinedAttribute = -1; +static gint ett_p1_EncodedInformationTypes_U = -1; +static gint ett_p1_BuiltInEncodedInformationTypes = -1; +static gint ett_p1_ExtendedEncodedInformationTypes = -1; +static gint ett_p1_NonBasicParameters = -1; +static gint ett_p1_G3FacsimileNonBasicParameters = -1; +static gint ett_p1_TeletexNonBasicParameters = -1; +static gint ett_p1_Token = -1; +static gint ett_p1_AsymmetricTokenData = -1; +static gint ett_p1_T_name = -1; +static gint ett_p1_MTANameAndOptionalGDI = -1; +static gint ett_p1_AsymmetricToken = -1; +static gint ett_p1_TokenData = -1; +static gint ett_p1_MessageTokenSignedData = -1; +static gint ett_p1_MessageTokenEncryptedData = -1; +static gint ett_p1_SecurityLabel = -1; +static gint ett_p1_SecurityCategories = -1; +static gint ett_p1_SecurityCategory = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields = -1; +static gint ett_p1_T_attempted = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields = -1; +static gint ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields = -1; + +/*--- End of included file: packet-p1-ett.c ---*/ +#line 93 "packet-p1-template.c" + +/* Dissector tables */ +static dissector_table_t p1_extension_dissector_table; +static dissector_table_t p1_extension_attribute_dissector_table; +static dissector_table_t p1_tokendata_dissector_table; + + +/*--- Included file: packet-p1-table.c ---*/ +#line 1 "packet-p1-table.c" + +/* P3 ABSTRACT-OPERATIONS */ +const value_string p3_opr_code_string_vals[] = { + { op_ros_bind, "mts_bind" }, + { op_message_submission, "message_submission" }, + { op_probe_submission, "probe_submission" }, + { op_cancel_deferred_delivery, "cancel_deferred_delivery" }, + { op_submission_control, "submission_control" }, + { op_message_delivery, "message_delivery" }, + { op_report_delivery, "report_delivery" }, + { op_delivery_control, "delivery_control" }, + { op_register, "register" }, + { op_change_credentials, "change_credentials" }, + { 0, NULL } +}; + + +/* P3 ERRORS */ +static const value_string p3_err_code_string_vals[] = { + { err_ros_bind, "mts_bind_error" }, + { err_submission_control_violated, "submission_control_violated" }, + { err_element_of_service_not_subscribed, "element_of_service_not_subscribed" }, + { err_deferred_delivery_cancellation_rejected, "deferred_delivery_cancellation_rejected" }, + { err_originator_invalid, "originator_invalid" }, + { err_recipient_improperly_specified, "recipient_improperly_specified" }, + { err_message_submission_identifier_invalid, "message_submission_identifier_invalid" }, + { err_inconsistent_request, "inconsistent_request" }, + { err_security_error, "security_error" }, + { err_unsupported_critical_function, "unsupported_critical_function" }, + { err_remote_bind_error, "remote_bind_error" }, + { err_delivery_control_violated, "delivery_control_violated" }, + { err_control_violates_registration, "control_violates_registration" }, + { err_operation_refused, "operation_refused" }, + { err_register_rejected, "register_rejected" }, + { err_new_credentials_unacceptable, "new_credentials_unacceptable" }, + { err_old_credentials_incorrectly_specified, "old_credentials_incorrectly_specified" }, + { 0, NULL } +}; + + +/*--- End of included file: packet-p1-table.c ---*/ +#line 100 "packet-p1-template.c" + + +/*--- Included file: packet-p1-fn.c ---*/ +#line 1 "packet-p1-fn.c" + + +static int +dissect_p1_NULL(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_MTAName(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 679 "p1.cnf" + tvbuff_t *mtaname = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, + 1, ub_mta_name_length, hf_index, &mtaname); + + + if(doing_address) { + + proto_item_append_text(address_item, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname))); + + } else { + + if (check_col(actx->pinfo->cinfo, COL_INFO) && mtaname) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname))); + } + + } + + + + return offset; +} + + + +static int +dissect_p1_IA5String_SIZE_0_ub_password_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, + 0, ub_password_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_OCTET_STRING_SIZE_0_ub_password_length(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_constrained_octet_string(implicit_tag, actx, tree, tvb, offset, + 0, ub_password_length, hf_index, NULL); + + return offset; +} + + +static const value_string p1_Password_vals[] = { + { 0, "ia5-string" }, + { 1, "octet-string" }, + { 0, NULL } +}; + +static const ber_choice_t Password_choice[] = { + { 0, &hf_p1_ia5_string , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_IA5String_SIZE_0_ub_password_length }, + { 1, &hf_p1_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_OCTET_STRING_SIZE_0_ub_password_length }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Password(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, + Password_choice, hf_index, ett_p1_Password, + NULL); + + return offset; +} + + + +static int +dissect_p1_TokenTypeIdentifier(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, tree, tvb, offset, hf_index, &object_identifier_id); + + return offset; +} + + + +static int +dissect_p1_TokenTypeData(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 1213 "p1.cnf" + + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + + + + return offset; +} + + +static const ber_sequence_t Token_sequence[] = { + { &hf_p1_token_type_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_TokenTypeIdentifier }, + { &hf_p1_token , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_TokenTypeData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Token(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, + Token_sequence, hf_index, ett_p1_Token); + + return offset; +} + + +static const ber_sequence_t StrongCredentials_set[] = { + { &hf_p1_bind_token , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Token }, + { &hf_p1_certificate , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates }, + { &hf_p1_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_StrongCredentials(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, + StrongCredentials_set, hf_index, ett_p1_StrongCredentials); + + return offset; +} + + + +static int +dissect_p1_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, tree, tvb, offset, + NULL, hf_index, -1, + NULL); + + return offset; +} + + +static const ber_sequence_t Signature_sequence[] = { + { &hf_p1_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p1_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_BIT_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Signature(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, + Signature_sequence, hf_index, ett_p1_Signature); + + return offset; +} + + + +static int +dissect_p1_UTCTime(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_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const ber_sequence_t ProtectedPassword_set[] = { + { &hf_p1_signature , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_Signature }, + { &hf_p1_time1 , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UTCTime }, + { &hf_p1_time2 , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UTCTime }, + { &hf_p1_random1 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BIT_STRING }, + { &hf_p1_random2 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BIT_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ProtectedPassword(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, + ProtectedPassword_set, hf_index, ett_p1_ProtectedPassword); + + return offset; +} + + +const value_string p1_Credentials_vals[] = { + { 0, "simple" }, + { 1, "strong" }, + { 2, "protected" }, + { 0, NULL } +}; + +static const ber_choice_t Credentials_choice[] = { + { 0, &hf_p1_simple , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_Password }, + { 1, &hf_p1_strong , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_StrongCredentials }, + { 2, &hf_p1_protected , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_ProtectedPassword }, + { 0, NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_Credentials(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 1221 "p1.cnf" + gint credentials = -1; + + offset = dissect_ber_choice(actx, tree, tvb, offset, + Credentials_choice, hf_index, ett_p1_Credentials, + &credentials); + + + if( (credentials!=-1) && p1_Credentials_vals[credentials].strptr ){ + if (check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", p1_Credentials_vals[credentials].strptr); + } + } + + + + return offset; +} + + + +int +dissect_p1_InitiatorCredentials(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_p1_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_SecurityPolicyIdentifier(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, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const value_string p1_SecurityClassification_vals[] = { + { 0, "unmarked" }, + { 1, "unclassified" }, + { 2, "restricted" }, + { 3, "confidential" }, + { 4, "secret" }, + { 5, "top-secret" }, + { 0, NULL } +}; + + +static int +dissect_p1_SecurityClassification(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_PrivacyMark(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_privacy_mark_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_SecurityCategoryIdentifier(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, tree, tvb, offset, hf_index, &object_identifier_id); + + return offset; +} + + + +static int +dissect_p1_SecurityCategoryValue(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 561 "p1.cnf" + const char *name; + + if (object_identifier_id) { + offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + name = oid_resolved_from_string(object_identifier_id); + proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id); + } else { + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + } + + + + return offset; +} + + + +static int +dissect_p1_CategoryValue(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_p1_SecurityCategoryValue(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t SecurityCategory_sequence[] = { + { &hf_p1_category_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityCategoryIdentifier }, + { &hf_p1_category_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_CategoryValue }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_SecurityCategory(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, + SecurityCategory_sequence, hf_index, ett_p1_SecurityCategory); + + return offset; +} + + +static const ber_sequence_t SecurityCategories_set_of[1] = { + { &hf_p1_SecurityCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_SecurityCategory }, +}; + +static int +dissect_p1_SecurityCategories(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_security_categories, SecurityCategories_set_of, hf_index, ett_p1_SecurityCategories); + + return offset; +} + + +static const ber_sequence_t SecurityLabel_set[] = { + { &hf_p1_security_policy_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SecurityPolicyIdentifier }, + { &hf_p1_security_classification, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SecurityClassification }, + { &hf_p1_privacy_mark , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrivacyMark }, + { &hf_p1_security_categories, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SecurityCategories }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_SecurityLabel(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, + SecurityLabel_set, hf_index, ett_p1_SecurityLabel); + + return offset; +} + + +static const ber_sequence_t SecurityContext_set_of[1] = { + { &hf_p1_SecurityContext_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_SecurityLabel }, +}; + +int +dissect_p1_SecurityContext(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_security_labels, SecurityContext_set_of, hf_index, ett_p1_SecurityContext); + + return offset; +} + + +static const ber_sequence_t AuthenticatedArgument_set[] = { + { &hf_p1_authenticated_initiator_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAName }, + { &hf_p1_initiator_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_InitiatorCredentials }, + { &hf_p1_security_context , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_AuthenticatedArgument(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, + AuthenticatedArgument_set, hf_index, ett_p1_AuthenticatedArgument); + + return offset; +} + + +static const value_string p1_MTABindArgument_vals[] = { + { 0, "unauthenticated" }, + { 1, "authenticated" }, + { 0, NULL } +}; + +static const ber_choice_t MTABindArgument_choice[] = { + { 0, &hf_p1_unauthenticated , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL }, + { 1, &hf_p1_authenticated_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_AuthenticatedArgument }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTABindArgument(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, + MTABindArgument_choice, hf_index, ett_p1_MTABindArgument, + NULL); + + return offset; +} + + + +int +dissect_p1_ResponderCredentials(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_p1_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t AuthenticatedResult_set[] = { + { &hf_p1_authenticated_responder_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAName }, + { &hf_p1_responder_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ResponderCredentials }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_AuthenticatedResult(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, + AuthenticatedResult_set, hf_index, ett_p1_AuthenticatedResult); + + return offset; +} + + +static const value_string p1_MTABindResult_vals[] = { + { 0, "unauthenticated" }, + { 1, "authenticated" }, + { 0, NULL } +}; + +static const ber_choice_t MTABindResult_choice[] = { + { 0, &hf_p1_unauthenticated , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL }, + { 1, &hf_p1_authenticated_result, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_AuthenticatedResult }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTABindResult(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, + MTABindResult_choice, hf_index, ett_p1_MTABindResult, + NULL); + + return offset; +} + + +static const value_string p1_MTABindError_vals[] = { + { 0, "busy" }, + { 2, "authentication-error" }, + { 3, "unacceptable-dialogue-mode" }, + { 4, "unacceptable-security-context" }, + { 5, "inadequate-association-confidentiality" }, + { 0, NULL } +}; + + +static int +dissect_p1_MTABindError(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 1204 "p1.cnf" + int error = -1; + offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, &error); + + if((error != -1) && check_col(actx->pinfo->cinfo, COL_INFO)) + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", val_to_str(error, p1_MTABindError_vals, "error(%d)")); + + + + return offset; +} + + + +static int +dissect_p1_T_x121_dcc_code(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 863 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + ub_country_name_numeric_length, ub_country_name_numeric_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + + +static int +dissect_p1_T_iso_3166_alpha2_code(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 815 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + ub_country_name_alpha_length, ub_country_name_alpha_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + +static const value_string p1_CountryName_U_vals[] = { + { 0, "x121-dcc-code" }, + { 1, "iso-3166-alpha2-code" }, + { 0, NULL } +}; + +static const ber_choice_t CountryName_U_choice[] = { + { 0, &hf_p1_x121_dcc_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_x121_dcc_code }, + { 1, &hf_p1_iso_3166_alpha2_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_iso_3166_alpha2_code }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_CountryName_U(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, + CountryName_U_choice, hf_index, ett_p1_CountryName_U, + NULL); + + return offset; +} + + + +static int +dissect_p1_CountryName(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 595 "p1.cnf" + if(doing_address) + g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN); + + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 1, TRUE, dissect_p1_CountryName_U); + + + + + + return offset; +} + + + +static int +dissect_p1_T_numeric(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 871 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 0, ub_domain_name_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + + +static int +dissect_p1_T_printable(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 823 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 0, ub_domain_name_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + +static const value_string p1_AdministrationDomainName_U_vals[] = { + { 0, "numeric" }, + { 1, "printable" }, + { 0, NULL } +}; + +static const ber_choice_t AdministrationDomainName_U_choice[] = { + { 0, &hf_p1_numeric , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric }, + { 1, &hf_p1_printable , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_AdministrationDomainName_U(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, + AdministrationDomainName_U_choice, hf_index, ett_p1_AdministrationDomainName_U, + NULL); + + return offset; +} + + + +static int +dissect_p1_AdministrationDomainName(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 602 "p1.cnf" + if(doing_address) + g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN); + + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 2, TRUE, dissect_p1_AdministrationDomainName_U); + + + + + + return offset; +} + + + +static int +dissect_p1_T_numeric_private_domain_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 887 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_domain_name_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + + +static int +dissect_p1_T_printable_private_domain_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 839 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_domain_name_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + +static const value_string p1_PrivateDomainIdentifier_vals[] = { + { 0, "numeric" }, + { 1, "printable" }, + { 0, NULL } +}; + +static const ber_choice_t PrivateDomainIdentifier_choice[] = { + { 0, &hf_p1_numeric_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric_private_domain_identifier }, + { 1, &hf_p1_printable_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_private_domain_identifier }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PrivateDomainIdentifier(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 730 "p1.cnf" + + if(doing_address) + g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); + + offset = dissect_ber_choice(actx, tree, tvb, offset, + PrivateDomainIdentifier_choice, hf_index, ett_p1_PrivateDomainIdentifier, + NULL); + + + + + return offset; +} + + +static const ber_sequence_t GlobalDomainIdentifier_U_sequence[] = { + { &hf_p1_country_name , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_p1_CountryName }, + { &hf_p1_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_p1_AdministrationDomainName }, + { &hf_p1_private_domain_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_PrivateDomainIdentifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_GlobalDomainIdentifier_U(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, + GlobalDomainIdentifier_U_sequence, hf_index, ett_p1_GlobalDomainIdentifier_U); + + return offset; +} + + + +static int +dissect_p1_GlobalDomainIdentifier(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 1084 "p1.cnf" + + oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; + address_item = tree; + + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 3, TRUE, dissect_p1_GlobalDomainIdentifier_U); + + + if(*oraddress) { + proto_item_append_text(address_item, " (%s/", oraddress); + + if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s/", oraddress); + } + } + + + + + return offset; +} + + + +static int +dissect_p1_LocalIdentifier(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 1103 "p1.cnf" + tvbuff_t *id = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, + 1, ub_local_id_length, hf_index, &id); + + + if(id) { + if(doing_address) + proto_item_append_text(address_item, " $ %s)", tvb_format_text(id, 0, tvb_length(id))); + + if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %s)", tvb_format_text(id, 0, tvb_length(id))); + } + + + + return offset; +} + + +static const ber_sequence_t MTSIdentifier_U_sequence[] = { + { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { &hf_p1_local_identifier , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_LocalIdentifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTSIdentifier_U(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, + MTSIdentifier_U_sequence, hf_index, ett_p1_MTSIdentifier_U); + + return offset; +} + + + +static int +dissect_p1_MTSIdentifier(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 1116 "p1.cnf" + + doing_address = TRUE; + + if(hf_index == hf_p1_subject_identifier) + doing_subjectid = TRUE; + + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 4, TRUE, dissect_p1_MTSIdentifier_U); + + + doing_address = FALSE; + + if(hf_index == hf_p1_subject_identifier) + doing_subjectid = FALSE; + + + + + return offset; +} + + + +static int +dissect_p1_MessageIdentifier(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 1078 "p1.cnf" + + address_item = NULL; + + offset = dissect_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + + + + return offset; +} + + + +static int +dissect_p1_X121Address(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 699 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_x121_address_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + + return offset; +} + + + +static int +dissect_p1_NetworkAddress(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_p1_X121Address(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_TerminalIdentifier(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 713 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_terminal_id_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_numeric_private_domain_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_) { +#line 879 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_domain_name_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + + +static int +dissect_p1_T_printable_private_domain_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_) { +#line 831 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_domain_name_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + +static const value_string p1_PrivateDomainName_vals[] = { + { 0, "numeric" }, + { 1, "printable" }, + { 0, NULL } +}; + +static const ber_choice_t PrivateDomainName_choice[] = { + { 0, &hf_p1_numeric_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric_private_domain_name }, + { 1, &hf_p1_printable_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_private_domain_name }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PrivateDomainName(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 723 "p1.cnf" + + if(doing_address) + g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); + + offset = dissect_ber_choice(actx, tree, tvb, offset, + PrivateDomainName_choice, hf_index, ett_p1_PrivateDomainName, + NULL); + + + + + return offset; +} + + + +static int +dissect_p1_OrganizationName(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 740 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_organization_name_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_NumericUserIdentifier(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_numeric_user_id_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_T_printable_surname(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 943 "p1.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_surname_length, hf_index, &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_printable_given_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_) { +#line 953 "p1.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_given_name_length, hf_index, &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_printable_initials(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 963 "p1.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_initials_length, hf_index, &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_printable_generation_qualifier(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 973 "p1.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_generation_qualifier_length, hf_index, &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/Q=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + +static const ber_sequence_t PersonalName_set[] = { + { &hf_p1_printable_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_T_printable_surname }, + { &hf_p1_printable_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_printable_given_name }, + { &hf_p1_printable_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_printable_initials }, + { &hf_p1_printable_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_printable_generation_qualifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PersonalName(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, + PersonalName_set, hf_index, ett_p1_PersonalName); + + return offset; +} + + + +static int +dissect_p1_OrganizationalUnitName(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 766 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_organizational_unit_name_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + +static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = { + { &hf_p1_OrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_OrganizationalUnitName }, +}; + +static int +dissect_p1_OrganizationalUnitNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_organizational_units, OrganizationalUnitNames_sequence_of, hf_index, ett_p1_OrganizationalUnitNames); + + return offset; +} + + +static const ber_sequence_t BuiltInStandardAttributes_sequence[] = { + { &hf_p1_country_name , BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_CountryName }, + { &hf_p1_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_AdministrationDomainName }, + { &hf_p1_network_address , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NetworkAddress }, + { &hf_p1_terminal_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TerminalIdentifier }, + { &hf_p1_private_domain_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_PrivateDomainName }, + { &hf_p1_organization_name, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OrganizationName }, + { &hf_p1_numeric_user_identifier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NumericUserIdentifier }, + { &hf_p1_personal_name , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_PersonalName }, + { &hf_p1_organizational_unit_names, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OrganizationalUnitNames }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_BuiltInStandardAttributes(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 1140 "p1.cnf" + + address_item = tree; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BuiltInStandardAttributes_sequence, hf_index, ett_p1_BuiltInStandardAttributes); + + + + + return offset; +} + + + +static int +dissect_p1_T_printable_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 1023 "p1.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_domain_defined_attribute_type_length, hf_index, &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + g_strlcat(ddatype, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_printable_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_) { +#line 1034 "p1.cnf" + tvbuff_t *pstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_domain_defined_attribute_value_length, hf_index, &pstring); + + + if(doing_address && pstring) { + g_strlcat(oraddress, "=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); + if (*ddatype) { + proto_item_append_text (tree, " (%s=%s)", ddatype, tvb_format_text(pstring, 0, tvb_length(pstring))); + } + } + + + + return offset; +} + + +static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = { + { &hf_p1_printable_type , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_type }, + { &hf_p1_printable_value , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_value }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_BuiltInDomainDefinedAttribute(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 1047 "p1.cnf" + ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0'; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BuiltInDomainDefinedAttribute_sequence, hf_index, ett_p1_BuiltInDomainDefinedAttribute); + + + + + return offset; +} + + +static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = { + { &hf_p1_BuiltInDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInDomainDefinedAttribute }, +}; + +static int +dissect_p1_BuiltInDomainDefinedAttributes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_domain_defined_attributes, BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_p1_BuiltInDomainDefinedAttributes); + + return offset; +} + + +static const value_string p1_ExtensionAttributeType_vals[] = { + { 1, "common-name" }, + { 2, "teletex-common-name" }, + { 3, "teletex-organization-name" }, + { 4, "teletex-personal-name" }, + { 5, "teletex-organizational-unit-names" }, + { 6, "teletex-domain-defined-attributes" }, + { 7, "pds-name" }, + { 8, "physical-delivery-country-name" }, + { 9, "postal-code" }, + { 10, "physical-delivery-office-name" }, + { 11, "physical-delivery-office-number" }, + { 12, "extension-OR-address-components" }, + { 13, "physical-delivery-personal-name" }, + { 14, "physical-delivery-organization-name" }, + { 15, "extension-physical-delivery-address-components" }, + { 16, "unformatted-postal-address" }, + { 17, "street-address" }, + { 18, "post-office-box-address" }, + { 19, "poste-restante-address" }, + { 20, "unique-postal-name" }, + { 21, "local-postal-attributes" }, + { 22, "extended-network-address" }, + { 23, "terminal-type" }, + { 24, "universal-common-name" }, + { 25, "universal-organization-name" }, + { 26, "universal-personal-name" }, + { 27, "universal-organizational-unit-names" }, + { 28, "universal-domain-defined-attributes" }, + { 29, "universal-physical-delivery-office-name" }, + { 30, "universal-physical-delivery-office-number" }, + { 31, "universal-extension-OR-address-components" }, + { 32, "universal-physical-delivery-personal-name" }, + { 33, "universal-physical-delivery-organization-name" }, + { 34, "universal-extension-physical-delivery-address-components" }, + { 35, "universal-unformatted-postal-address" }, + { 36, "universal-street-address" }, + { 37, "universal-post-office-box-address" }, + { 38, "universal-poste-restante-address" }, + { 39, "universal-unique-postal-name" }, + { 40, "universal-local-postal-attributes" }, + { 0, NULL } +}; + + +static int +dissect_p1_ExtensionAttributeType(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, tree, tvb, offset, hf_index, + &extension_id); + + return offset; +} + + + +static int +dissect_p1_T_extension_attribute_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_) { +#line 575 "p1.cnf" + + proto_item_append_text(tree, " (%s)", val_to_str(extension_id, p1_ExtensionAttributeType_vals, "extension-attribute-type %d")); + if (dissector_try_uint(p1_extension_attribute_dissector_table, extension_id, tvb, actx->pinfo, tree)) { + offset =tvb_length(tvb); + } else { + proto_item *item = NULL; + proto_tree *next_tree = NULL; + + item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), + "Dissector for extension-attribute-type %d not implemented. Contact Wireshark developers if you want this supported", extension_id); + next_tree = proto_item_add_subtree(item, ett_p1_unknown_extension_attribute_type); + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree); + expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown extension-attribute-type"); + } + + + + + return offset; +} + + +static const ber_sequence_t ExtensionAttribute_sequence[] = { + { &hf_p1_extension_attribute_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ExtensionAttributeType }, + { &hf_p1_extension_attribute_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_T_extension_attribute_value }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ExtensionAttribute(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, + ExtensionAttribute_sequence, hf_index, ett_p1_ExtensionAttribute); + + return offset; +} + + +static const ber_sequence_t ExtensionAttributes_set_of[1] = { + { &hf_p1_ExtensionAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionAttribute }, +}; + +static int +dissect_p1_ExtensionAttributes(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_extension_attributes, ExtensionAttributes_set_of, hf_index, ett_p1_ExtensionAttributes); + + return offset; +} + + +static const ber_sequence_t ORName_U_sequence[] = { + { &hf_p1_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInStandardAttributes }, + { &hf_p1_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInDomainDefinedAttributes }, + { &hf_p1_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionAttributes }, + { &hf_p1_directory_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ORName_U(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, + ORName_U_sequence, hf_index, ett_p1_ORName_U); + + return offset; +} + + + +int +dissect_p1_ORName(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 1065 "p1.cnf" + + oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; + address_item = NULL; + doing_address = TRUE; + + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 0, TRUE, dissect_p1_ORName_U); + + + if(*oraddress && address_item) + proto_item_append_text(address_item, " (%s/)", oraddress); + + doing_address = FALSE; + + + + return offset; +} + + + +static int +dissect_p1_ORAddressAndOptionalDirectoryName(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_p1_ORName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_MTAOriginatorName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = { + { 0, &hf_p1_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL }, + { 2, &hf_p1_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL }, + { 3, &hf_p1_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL }, + { 4, &hf_p1_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL }, + { 5, &hf_p1_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL }, + { 6, &hf_p1_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL }, + { 7, &hf_p1_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL }, + { 8, &hf_p1_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL }, + { 9, &hf_p1_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_BuiltInEncodedInformationTypes(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_built_in_encoded_information_types, BuiltInEncodedInformationTypes_bits, hf_index, ett_p1_BuiltInEncodedInformationTypes, + NULL); + + return offset; +} + + +static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = { + { 8, &hf_p1_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL }, + { 9, &hf_p1_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL }, + { 20, &hf_p1_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL }, + { 21, &hf_p1_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL }, + { 22, &hf_p1_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL }, + { 23, &hf_p1_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL }, + { 25, &hf_p1_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL }, + { 30, &hf_p1_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL }, + { 37, &hf_p1_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL }, + { 38, &hf_p1_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL }, + { 44, &hf_p1_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL }, + { 45, &hf_p1_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL }, + { 46, &hf_p1_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL }, + { 47, &hf_p1_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL }, + { 49, &hf_p1_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL }, + { 50, &hf_p1_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL }, + { 51, &hf_p1_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL }, + { 58, &hf_p1_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL }, + { 60, &hf_p1_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL }, + { 65, &hf_p1_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL }, + { 66, &hf_p1_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL }, + { 67, &hf_p1_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL }, + { 68, &hf_p1_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL }, + { 71, &hf_p1_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +int +dissect_p1_G3FacsimileNonBasicParameters(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, tree, tvb, offset, + G3FacsimileNonBasicParameters_bits, hf_index, ett_p1_G3FacsimileNonBasicParameters, + NULL); + + return offset; +} + + + +static int +dissect_p1_TeletexString(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_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p1_OCTET_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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t TeletexNonBasicParameters_set[] = { + { &hf_p1_graphic_character_sets, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexString }, + { &hf_p1_control_character_sets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexString }, + { &hf_p1_page_formats , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OCTET_STRING }, + { &hf_p1_miscellaneous_terminal_capabilities, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexString }, + { &hf_p1_private_use , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OCTET_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_TeletexNonBasicParameters(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, + TeletexNonBasicParameters_set, hf_index, ett_p1_TeletexNonBasicParameters); + + return offset; +} + + + +static int +dissect_p1_ExtendedEncodedInformationType(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, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = { + { &hf_p1_ExtendedEncodedInformationTypes_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedEncodedInformationType }, +}; + +static int +dissect_p1_ExtendedEncodedInformationTypes(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_encoded_information_types, ExtendedEncodedInformationTypes_set_of, hf_index, ett_p1_ExtendedEncodedInformationTypes); + + return offset; +} + + +static const ber_sequence_t EncodedInformationTypes_U_set[] = { + { &hf_p1_built_in_encoded_information_types, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_BuiltInEncodedInformationTypes }, + { &hf_p1_g3_facsimile , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_G3FacsimileNonBasicParameters }, + { &hf_p1_teletex , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexNonBasicParameters }, + { &hf_p1_extended_encoded_information_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_EncodedInformationTypes_U(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, + EncodedInformationTypes_U_set, hf_index, ett_p1_EncodedInformationTypes_U); + + return offset; +} + + + +int +dissect_p1_EncodedInformationTypes(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 5, TRUE, dissect_p1_EncodedInformationTypes_U); + + return offset; +} + + + +int +dissect_p1_OriginalEncodedInformationTypes(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_p1_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_BuiltInContentType_U_vals[] = { + { 0, "unidentified" }, + { 1, "external" }, + { 2, "interpersonal-messaging-1984" }, + { 22, "interpersonal-messaging-1988" }, + { 35, "edi-messaging" }, + { 40, "voice-messaging" }, + { 0, NULL } +}; + + +static int +dissect_p1_BuiltInContentType_U(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 635 "p1.cnf" + static guint32 ict = -1; + + offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_built_in_content_type, hf_index, &ict); + + + /* convert integer content type to oid for dispatch when the content is found */ + switch(ict) { + case 2: + content_type_id = ep_strdup("2.6.1.10.0"); + break; + case 22: + content_type_id = ep_strdup("2.6.1.10.1"); + break; + default: + content_type_id = NULL; + break; + } + + + + return offset; +} + + + +static int +dissect_p1_BuiltInContentType(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 6, TRUE, dissect_p1_BuiltInContentType_U); + + return offset; +} + + + +int +dissect_p1_ExtendedContentType(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 620 "p1.cnf" + const char *name = NULL; + + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &content_type_id); + + + if(content_type_id) { + name = oid_resolved_from_string(content_type_id); + + if(!name) name = content_type_id; + + proto_item_append_text(tree, " (%s)", name); + } + + + + return offset; +} + + +const value_string p1_ContentType_vals[] = { + { 0, "built-in" }, + { 1, "extended" }, + { 0, NULL } +}; + +static const ber_choice_t ContentType_choice[] = { + { 0, &hf_p1_built_in , BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInContentType }, + { 1, &hf_p1_extended , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedContentType }, + { 0, NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_ContentType(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, + ContentType_choice, hf_index, ett_p1_ContentType, + NULL); + + return offset; +} + + + +static int +dissect_p1_PrintableString_SIZE_1_ub_content_id_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_content_id_length, hf_index, NULL); + + return offset; +} + + + +int +dissect_p1_ContentIdentifier(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 10, TRUE, dissect_p1_PrintableString_SIZE_1_ub_content_id_length); + + return offset; +} + + +static const value_string p1_Priority_U_vals[] = { + { 0, "normal" }, + { 1, "non-urgent" }, + { 2, "urgent" }, + { 0, NULL } +}; + + +static int +dissect_p1_Priority_U(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p1_Priority(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 7, TRUE, dissect_p1_Priority_U); + + return offset; +} + + +static const asn_namedbit PerMessageIndicators_U_bits[] = { + { 0, &hf_p1_PerMessageIndicators_U_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL }, + { 1, &hf_p1_PerMessageIndicators_U_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL }, + { 2, &hf_p1_PerMessageIndicators_U_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL }, + { 3, &hf_p1_PerMessageIndicators_U_content_return_request, -1, -1, "content-return-request", NULL }, + { 4, &hf_p1_PerMessageIndicators_U_reserved, -1, -1, "reserved", NULL }, + { 5, &hf_p1_PerMessageIndicators_U_bit_5, -1, -1, "bit-5", NULL }, + { 6, &hf_p1_PerMessageIndicators_U_bit_6, -1, -1, "bit-6", NULL }, + { 7, &hf_p1_PerMessageIndicators_U_service_message, -1, -1, "service-message", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_PerMessageIndicators_U(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, PerMessageIndicators_U_bits, hf_index, ett_p1_PerMessageIndicators_U, + NULL); + + return offset; +} + + + +int +dissect_p1_PerMessageIndicators(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 8, TRUE, dissect_p1_PerMessageIndicators_U); + + return offset; +} + + + +static int +dissect_p1_Time(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 1183 "p1.cnf" + tvbuff_t *arrival = NULL; + + offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); + + + if(arrival && doing_address) + proto_item_append_text(address_item, " %s", tvb_format_text(arrival, 0, tvb_length(arrival))); + + + + return offset; +} + + + +static int +dissect_p1_DeferredDeliveryTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t T_private_domain_sequence[] = { + { &hf_p1_administration_domain_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_AdministrationDomainName }, + { &hf_p1_private_domain_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_PrivateDomainIdentifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_private_domain(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_private_domain_sequence, hf_index, ett_p1_T_private_domain); + + return offset; +} + + +static const value_string p1_T_bilateral_domain_vals[] = { + { 0, "administration-domain-name" }, + { 1, "private-domain" }, + { 0, NULL } +}; + +static const ber_choice_t T_bilateral_domain_choice[] = { + { 0, &hf_p1_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_p1_AdministrationDomainName }, + { 1, &hf_p1_private_domain , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_T_private_domain }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_bilateral_domain(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_bilateral_domain_choice, hf_index, ett_p1_T_bilateral_domain, + NULL); + + return offset; +} + + + +static int +dissect_p1_T_bilateral_information(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 1251 "p1.cnf" + proto_item *item = NULL; + int loffset = 0; + guint32 len = 0; + + /* work out the length */ + loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL); + (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL); + + /* create some structure so we can tell what this unknown ASN.1 represents */ + item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE); + tree = proto_item_add_subtree(item, ett_p1_bilateral_information); + + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + + + + return offset; +} + + +static const ber_sequence_t PerDomainBilateralInformation_sequence[] = { + { &hf_p1_country_name , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_p1_CountryName }, + { &hf_p1_bilateral_domain , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_bilateral_domain }, + { &hf_p1_bilateral_information, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p1_T_bilateral_information }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerDomainBilateralInformation(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, + PerDomainBilateralInformation_sequence, hf_index, ett_p1_PerDomainBilateralInformation); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation_sequence_of[1] = { + { &hf_p1_per_domain_bilateral_information_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_PerDomainBilateralInformation }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_transfers, SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation); + + return offset; +} + + + +static int +dissect_p1_ArrivalTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_RoutingAction_vals[] = { + { 0, "relayed" }, + { 1, "rerouted" }, + { 0, NULL } +}; + + +static int +dissect_p1_RoutingAction(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 1194 "p1.cnf" + int action = 0; + + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + &action); + + + proto_item_append_text(address_item, " %s", val_to_str(action, p1_RoutingAction_vals, "action(%d)")); + + + + return offset; +} + + + +static int +dissect_p1_DeferredTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ConvertedEncodedInformationTypes(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_p1_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const asn_namedbit OtherActions_bits[] = { + { 0, &hf_p1_OtherActions_redirected, -1, -1, "redirected", NULL }, + { 1, &hf_p1_OtherActions_dl_operation, -1, -1, "dl-operation", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_OtherActions(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, OtherActions_bits, hf_index, ett_p1_OtherActions, + NULL); + + return offset; +} + + +static const ber_sequence_t DomainSuppliedInformation_set[] = { + { &hf_p1_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ArrivalTime }, + { &hf_p1_routing_action , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_RoutingAction }, + { &hf_p1_attempted_domain , BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { &hf_p1_deferred_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredTime }, + { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes }, + { &hf_p1_other_actions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherActions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DomainSuppliedInformation(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 1162 "p1.cnf" + + doing_address = FALSE; + + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + DomainSuppliedInformation_set, hf_index, ett_p1_DomainSuppliedInformation); + + + doing_address = TRUE; + proto_item_append_text(tree, ")"); + + + + return offset; +} + + +static const ber_sequence_t TraceInformationElement_sequence[] = { + { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { &hf_p1_domain_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_DomainSuppliedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_TraceInformationElement(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 1146 "p1.cnf" + + doing_address = TRUE; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TraceInformationElement_sequence, hf_index, ett_p1_TraceInformationElement); + + + doing_address = FALSE; + + + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement_sequence_of[1] = { + { &hf_p1__untag_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformationElement }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_transfers, SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement); + + return offset; +} + + + +static int +dissect_p1_TraceInformation(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 9, TRUE, dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement); + + return offset; +} + + +static const value_string p1_StandardExtension_vals[] = { + { 1, "recipient-reassignment-prohibited" }, + { 2, "originator-requested-alternate-recipient" }, + { 3, "dl-expansion-prohibited" }, + { 4, "conversion-with-loss-prohibited" }, + { 5, "latest-delivery-time" }, + { 6, "requested-delivery-method" }, + { 7, "physical-forwarding-prohibited" }, + { 8, "physical-forwarding-address-request" }, + { 9, "physical-delivery-modes" }, + { 10, "registered-mail-type" }, + { 11, "recipient-number-for-advice" }, + { 12, "physical-rendition-attributes" }, + { 13, "originator-return-address" }, + { 14, "physical-delivery-report-request" }, + { 15, "originator-certificate" }, + { 16, "message-token" }, + { 17, "content-confidentiality-algorithm-identifier" }, + { 18, "content-integrity-check" }, + { 19, "message-origin-authentication-check" }, + { 20, "message-security-label" }, + { 21, "proof-of-submission-request" }, + { 22, "proof-of-delivery-request" }, + { 23, "content-correlator" }, + { 24, "probe-origin-authentication-check" }, + { 25, "redirection-history" }, + { 26, "dl-expansion-history" }, + { 27, "physical-forwarding-address" }, + { 28, "recipient-certificate" }, + { 29, "proof-of-delivery" }, + { 30, "originator-and-DL-expansion-history" }, + { 31, "reporting-DL-name" }, + { 32, "reporting-MTA-certificate" }, + { 33, "report-origin-authentication-check" }, + { 34, "originating-MTA-certificate" }, + { 35, "proof-of-submission" }, + { 36, "forwarding-request" }, + { 37, "trace-information" }, + { 38, "internal-trace-information" }, + { 39, "reporting-MTA-name" }, + { 40, "multiple-originator-certificates" }, + { 41, "blind-copy-recipients" }, + { 42, "dl-exempted-recipients" }, + { 43, "body-part-encryption-token" }, + { 44, "forwarded-content-token" }, + { 45, "certificate-selectors" }, + { 0, NULL } +}; + + +static int +dissect_p1_StandardExtension(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, tree, tvb, offset, hf_index, + &extension_id); + + return offset; +} + + + +static int +dissect_p1_T_private_extension(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 612 "p1.cnf" + + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); + + extension_id = -1; + + + + return offset; +} + + +static const value_string p1_ExtensionType_vals[] = { + { 0, "standard-extension" }, + { 3, "private-extension" }, + { 0, NULL } +}; + +static const ber_choice_t ExtensionType_choice[] = { + { 0, &hf_p1_standard_extension, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_StandardExtension }, + { 3, &hf_p1_private_extension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_T_private_extension }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ExtensionType(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, + ExtensionType_choice, hf_index, ett_p1_ExtensionType, + NULL); + + return offset; +} + + +static const asn_namedbit Criticality_bits[] = { + { 0, &hf_p1_Criticality_for_submission, -1, -1, "for-submission", NULL }, + { 1, &hf_p1_Criticality_for_transfer, -1, -1, "for-transfer", NULL }, + { 2, &hf_p1_Criticality_for_delivery, -1, -1, "for-delivery", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_Criticality(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, Criticality_bits, hf_index, ett_p1_Criticality, + NULL); + + return offset; +} + + + +static int +dissect_p1_ExtensionValue(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 534 "p1.cnf" + const char *name; + + if(extension_id != -1) { + proto_item_append_text(tree, " (%s)", val_to_str(extension_id, p1_StandardExtension_vals, "standard-extension %d")); + if (dissector_try_uint(p1_extension_dissector_table, extension_id, tvb, actx->pinfo, tree)) { + offset = tvb_length(tvb); + } else { + proto_item *item = NULL; + proto_tree *next_tree = NULL; + + item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), + "Dissector for standard-extension %d not implemented. Contact Wireshark developers if you want this supported", extension_id); + next_tree = proto_item_add_subtree(item, ett_p1_unknown_standard_extension); + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree); + expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown standard-extension"); + } + } else if (object_identifier_id) { + offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + name = oid_resolved_from_string(object_identifier_id); + proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id); + } + + + + + return offset; +} + + +static const ber_sequence_t ExtensionField_sequence[] = { + { &hf_p1_extension_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ExtensionType }, + { &hf_p1_criticality , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Criticality }, + { &hf_p1_extension_value , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtensionValue }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_ExtensionField(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, + ExtensionField_sequence, hf_index, ett_p1_ExtensionField); + + return offset; +} + + +static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = { + { &hf_p1_extensions_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionField }, +}; + +static int +dissect_p1_SET_OF_ExtensionField(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_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_ExtensionField_set_of, hf_index, ett_p1_SET_OF_ExtensionField); + + return offset; +} + + + +static int +dissect_p1_MTARecipientName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_OriginallySpecifiedRecipientNumber(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 1U, ub_recipients, hf_index, NULL); + + return offset; +} + + +static const asn_namedbit PerRecipientIndicators_bits[] = { + { 0, &hf_p1_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL }, + { 1, &hf_p1_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL }, + { 2, &hf_p1_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL }, + { 3, &hf_p1_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL }, + { 4, &hf_p1_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL }, + { 5, &hf_p1_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL }, + { 6, &hf_p1_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL }, + { 7, &hf_p1_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_PerRecipientIndicators(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 8, ub_bit_options, PerRecipientIndicators_bits, hf_index, ett_p1_PerRecipientIndicators, + NULL); + + return offset; +} + + +static const value_string p1_ExplicitConversion_vals[] = { + { 0, "ia5-text-to-teletex" }, + { 8, "ia5-text-to-g3-facsimile" }, + { 9, "ia5-text-to-g4-class-1" }, + { 10, "ia5-text-to-videotex" }, + { 11, "teletex-to-ia5-text" }, + { 12, "teletex-to-g3-facsimile" }, + { 13, "teletex-to-g4-class-1" }, + { 14, "teletex-to-videotex" }, + { 16, "videotex-to-ia5-text" }, + { 17, "videotex-to-teletex" }, + { 0, NULL } +}; + + +static int +dissect_p1_ExplicitConversion(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t PerRecipientMessageTransferFields_set[] = { + { &hf_p1_recipient_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTARecipientName }, + { &hf_p1_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginallySpecifiedRecipientNumber }, + { &hf_p1_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientIndicators }, + { &hf_p1_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion }, + { &hf_p1_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientMessageTransferFields(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, + PerRecipientMessageTransferFields_set, hf_index, ett_p1_PerRecipientMessageTransferFields); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields_sequence_of[1] = { + { &hf_p1_per_recipient_message_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientMessageTransferFields }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields); + + return offset; +} + + +static const ber_sequence_t MessageTransferEnvelope_set[] = { + { &hf_p1_message_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageIdentifier }, + { &hf_p1_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTAOriginatorName }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority }, + { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators }, + { &hf_p1_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredDeliveryTime }, + { &hf_p1_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation }, + { &hf_p1_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformation }, + { &hf_p1_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_message_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageTransferEnvelope(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, + MessageTransferEnvelope_set, hf_index, ett_p1_MessageTransferEnvelope); + + return offset; +} + + + +int +dissect_p1_Content(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 653 "p1.cnf" + tvbuff_t *next_tvb; + + /* we can do this now constructed octet strings are supported */ + offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &next_tvb); + proto_item_set_text(actx->created_item, "content (%u bytes)", tvb_length (next_tvb)); + + if (next_tvb) { + if (content_type_id) { + (void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree); + } else { + proto_item *item = NULL; + proto_tree *next_tree = NULL; + + item = proto_tree_add_text(top_tree ? top_tree : tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "P1 Unknown Content (unknown built-in content-type)"); + expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown built-in content-type"); + if (item) { + next_tree=proto_item_add_subtree(item, ett_p1_content_unknown); + } + dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree); + } + } + + + + return offset; +} + + +static const ber_sequence_t Message_sequence[] = { + { &hf_p1_message_envelope , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageTransferEnvelope }, + { &hf_p1_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Message(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, + Message_sequence, hf_index, ett_p1_Message); + + return offset; +} + + + +static int +dissect_p1_ProbeIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_ContentLength(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_content_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t PerRecipientProbeTransferFields_set[] = { + { &hf_p1_recipient_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTARecipientName }, + { &hf_p1_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginallySpecifiedRecipientNumber }, + { &hf_p1_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientIndicators }, + { &hf_p1_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion }, + { &hf_p1_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientProbeTransferFields(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, + PerRecipientProbeTransferFields_set, hf_index, ett_p1_PerRecipientProbeTransferFields); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields_sequence_of[1] = { + { &hf_p1_per_recipient_probe_transfer_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientProbeTransferFields }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields); + + return offset; +} + + +static const ber_sequence_t ProbeTransferEnvelope_set[] = { + { &hf_p1_probe_identifier , BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ProbeIdentifier }, + { &hf_p1_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_MTAOriginatorName }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength }, + { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators }, + { &hf_p1_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation }, + { &hf_p1_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformation }, + { &hf_p1_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_probe_transfer_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ProbeTransferEnvelope(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, + ProbeTransferEnvelope_set, hf_index, ett_p1_ProbeTransferEnvelope); + + return offset; +} + + + +static int +dissect_p1_Probe(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_p1_ProbeTransferEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ReportIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ReportDestinationName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t ReportTransferEnvelope_set[] = { + { &hf_p1_report_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ReportIdentifier }, + { &hf_p1_report_destination_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ReportDestinationName }, + { &hf_p1_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_p1_TraceInformation }, + { &hf_p1_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportTransferEnvelope(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, + ReportTransferEnvelope_set, hf_index, ett_p1_ReportTransferEnvelope); + + return offset; +} + + + +static int +dissect_p1_MessageOrProbeIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_SubjectIdentifier(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_p1_MessageOrProbeIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_SubjectIntermediateTraceInformation(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_p1_TraceInformation(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_AdditionalInformation(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 516 "p1.cnf" + proto_item *item = NULL; + int loffset = 0; + guint32 len = 0; + + /* work out the length */ + loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL); + (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL); + + item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE); + tree = proto_item_add_subtree(item, ett_p1_additional_information); + proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)"); + + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + + + + return offset; +} + + + +static int +dissect_p1_MTAActualRecipientName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_MessageDeliveryTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_TypeOfMTSUser_vals[] = { + { 0, "public" }, + { 1, "private" }, + { 2, "ms" }, + { 3, "dl" }, + { 4, "pdau" }, + { 5, "physical-recipient" }, + { 6, "other" }, + { 0, NULL } +}; + + +static int +dissect_p1_TypeOfMTSUser(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_mts_user_types, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t DeliveryReport_set[] = { + { &hf_p1_message_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p1_type_of_MTS_user , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TypeOfMTSUser }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DeliveryReport(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, + DeliveryReport_set, hf_index, ett_p1_DeliveryReport); + + return offset; +} + + +const value_string p1_NonDeliveryReasonCode_vals[] = { + { 0, "transfer-failure" }, + { 1, "unable-to-transfer" }, + { 2, "conversion-not-performed" }, + { 3, "physical-rendition-not-performed" }, + { 4, "physical-delivery-not-performed" }, + { 5, "restricted-delivery" }, + { 6, "directory-operation-unsuccessful" }, + { 7, "deferred-delivery-not-performed" }, + { 8, "transfer-failure-for-security-reason" }, + { 0, NULL } +}; + + +int +dissect_p1_NonDeliveryReasonCode(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_reason_codes, hf_index, NULL); + + return offset; +} + + +const value_string p1_NonDeliveryDiagnosticCode_vals[] = { + { 0, "unrecognised-OR-name" }, + { 1, "ambiguous-OR-name" }, + { 2, "mts-congestion" }, + { 3, "loop-detected" }, + { 4, "recipient-unavailable" }, + { 5, "maximum-time-expired" }, + { 6, "encoded-information-types-unsupported" }, + { 7, "content-too-long" }, + { 8, "conversion-impractical" }, + { 9, "implicit-conversion-prohibited" }, + { 10, "implicit-conversion-not-subscribed" }, + { 11, "invalid-arguments" }, + { 12, "content-syntax-error" }, + { 13, "size-constraint-violation" }, + { 14, "protocol-violation" }, + { 15, "content-type-not-supported" }, + { 16, "too-many-recipients" }, + { 17, "no-bilateral-agreement" }, + { 18, "unsupported-critical-function" }, + { 19, "conversion-with-loss-prohibited" }, + { 20, "line-too-long" }, + { 21, "page-split" }, + { 22, "pictorial-symbol-loss" }, + { 23, "punctuation-symbol-loss" }, + { 24, "alphabetic-character-loss" }, + { 25, "multiple-information-loss" }, + { 26, "recipient-reassignment-prohibited" }, + { 27, "redirection-loop-detected" }, + { 28, "dl-expansion-prohibited" }, + { 29, "no-dl-submit-permission" }, + { 30, "dl-expansion-failure" }, + { 31, "physical-rendition-attributes-not-supported" }, + { 32, "undeliverable-mail-physical-delivery-address-incorrect" }, + { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" }, + { 34, "undeliverable-mail-physical-delivery-address-incomplete" }, + { 35, "undeliverable-mail-recipient-unknown" }, + { 36, "undeliverable-mail-recipient-deceased" }, + { 37, "undeliverable-mail-organization-expired" }, + { 38, "undeliverable-mail-recipient-refused-to-accept" }, + { 39, "undeliverable-mail-recipient-did-not-claim" }, + { 40, "undeliverable-mail-recipient-changed-address-permanently" }, + { 41, "undeliverable-mail-recipient-changed-address-temporarily" }, + { 42, "undeliverable-mail-recipient-changed-temporary-address" }, + { 43, "undeliverable-mail-new-address-unknown" }, + { 44, "undeliverable-mail-recipient-did-not-want-forwarding" }, + { 45, "undeliverable-mail-originator-prohibited-forwarding" }, + { 46, "secure-messaging-error" }, + { 47, "unable-to-downgrade" }, + { 48, "unable-to-complete-transfer" }, + { 49, "transfer-attempts-limit-reached" }, + { 50, "incorrect-notification-type" }, + { 51, "dl-expansion-prohibited-by-security-policy" }, + { 52, "forbidden-alternate-recipient" }, + { 53, "security-policy-violation" }, + { 54, "security-services-refusal" }, + { 55, "unauthorised-dl-member" }, + { 56, "unauthorised-dl-name" }, + { 57, "unauthorised-originally-intended-recipient-name" }, + { 58, "unauthorised-originator-name" }, + { 59, "unauthorised-recipient-name" }, + { 60, "unreliable-system" }, + { 61, "authentication-failure-on-subject-message" }, + { 62, "decryption-failed" }, + { 63, "decryption-key-unobtainable" }, + { 64, "double-envelope-creation-failure" }, + { 65, "double-enveloping-message-restoring-failure" }, + { 66, "failure-of-proof-of-message" }, + { 67, "integrity-failure-on-subject-message" }, + { 68, "invalid-security-label" }, + { 69, "key-failure" }, + { 70, "mandatory-parameter-absence" }, + { 71, "operation-security-failure" }, + { 72, "repudiation-failure-of-message" }, + { 73, "security-context-failure" }, + { 74, "token-decryption-failed" }, + { 75, "token-error" }, + { 76, "unknown-security-label" }, + { 77, "unsupported-algorithm-identifier" }, + { 78, "unsupported-security-policy" }, + { 0, NULL } +}; + + +int +dissect_p1_NonDeliveryDiagnosticCode(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_diagnostic_codes, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t NonDeliveryReport_set[] = { + { &hf_p1_non_delivery_reason_code, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_NonDeliveryReasonCode }, + { &hf_p1_non_delivery_diagnostic_code, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NonDeliveryDiagnosticCode }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_NonDeliveryReport(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, + NonDeliveryReport_set, hf_index, ett_p1_NonDeliveryReport); + + return offset; +} + + +static const value_string p1_ReportType_vals[] = { + { 0, "delivery" }, + { 1, "non-delivery" }, + { 0, NULL } +}; + +static const ber_choice_t ReportType_choice[] = { + { 0, &hf_p1_delivery , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryReport }, + { 1, &hf_p1_non_delivery , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_NonDeliveryReport }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportType(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 1283 "p1.cnf" + gint report = -1; + + offset = dissect_ber_choice(actx, tree, tvb, offset, + ReportType_choice, hf_index, ett_p1_ReportType, + &report); + + + if( (report!=-1) && p1_ReportType_vals[report].strptr ){ + if(check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", p1_ReportType_vals[report].strptr); + } + } + + + + return offset; +} + + +static const ber_sequence_t LastTraceInformation_set[] = { + { &hf_p1_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ArrivalTime }, + { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes }, + { &hf_p1_trace_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ReportType }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_LastTraceInformation(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, + LastTraceInformation_set, hf_index, ett_p1_LastTraceInformation); + + return offset; +} + + + +static int +dissect_p1_OriginallyIntendedRecipientName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_SupplementaryInformation(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_supplementary_info_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t PerRecipientReportTransferFields_set[] = { + { &hf_p1_mta_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAActualRecipientName }, + { &hf_p1_originally_specified_recipient_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OriginallySpecifiedRecipientNumber }, + { &hf_p1_per_recipient_indicators, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientIndicators }, + { &hf_p1_last_trace_information, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_LastTraceInformation }, + { &hf_p1_report_originally_intended_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginallyIntendedRecipientName }, + { &hf_p1_supplementary_information, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SupplementaryInformation }, + { &hf_p1_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientReportTransferFields(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, + PerRecipientReportTransferFields_set, hf_index, ett_p1_PerRecipientReportTransferFields); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields_sequence_of[1] = { + { &hf_p1_per_recipient_report_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientReportTransferFields }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields); + + return offset; +} + + +static const ber_sequence_t ReportTransferContent_set[] = { + { &hf_p1_subject_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_SubjectIdentifier }, + { &hf_p1_subject_intermediate_trace_information, BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SubjectIntermediateTraceInformation }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_returned_content , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Content }, + { &hf_p1_additional_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_AdditionalInformation }, + { &hf_p1_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_report_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportTransferContent(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, + ReportTransferContent_set, hf_index, ett_p1_ReportTransferContent); + + return offset; +} + + +static const ber_sequence_t Report_sequence[] = { + { &hf_p1_report_envelope , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_ReportTransferEnvelope }, + { &hf_p1_report_content , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_ReportTransferContent }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Report(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, + Report_sequence, hf_index, ett_p1_Report); + + return offset; +} + + +static const value_string p1_MTS_APDU_vals[] = { + { 0, "message" }, + { 2, "probe" }, + { 1, "report" }, + { 0, NULL } +}; + +static const ber_choice_t MTS_APDU_choice[] = { + { 0, &hf_p1_message , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_Message }, + { 2, &hf_p1_probe , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_Probe }, + { 1, &hf_p1_report , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_Report }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTS_APDU(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 1269 "p1.cnf" + gint apdu = -1; + + offset = dissect_ber_choice(actx, tree, tvb, offset, + MTS_APDU_choice, hf_index, ett_p1_MTS_APDU, + &apdu); + + + if( (apdu!=-1) && p1_MTS_APDU_vals[apdu].strptr ){ + if(check_col(actx->pinfo->cinfo, COL_INFO) && (apdu != 0)) { /* we don't show "message" - sub-dissectors have better idea */ + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", p1_MTS_APDU_vals[apdu].strptr); + } + } + + + + return offset; +} + + + + + +static const value_string p1_T_attempted_vals[] = { + { 0, "mta" }, + { 1, "domain" }, + { 0, NULL } +}; + +static const ber_choice_t T_attempted_choice[] = { + { 0, &hf_p1_mta , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName }, + { 1, &hf_p1_domain , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_attempted(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_attempted_choice, hf_index, ett_p1_T_attempted, + NULL); + + return offset; +} + + +static const ber_sequence_t MTASuppliedInformation_set[] = { + { &hf_p1_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ArrivalTime }, + { &hf_p1_routing_action , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_RoutingAction }, + { &hf_p1_attempted , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_attempted }, + { &hf_p1_deferred_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredTime }, + { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes }, + { &hf_p1_other_actions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherActions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTASuppliedInformation(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 1171 "p1.cnf" + + doing_address = FALSE; + + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + MTASuppliedInformation_set, hf_index, ett_p1_MTASuppliedInformation); + + + doing_address = TRUE; + proto_item_append_text(tree, ")"); + + + + return offset; +} + + +static const ber_sequence_t InternalTraceInformationElement_sequence[] = { + { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { &hf_p1_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName }, + { &hf_p1_mta_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MTASuppliedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_InternalTraceInformationElement(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 1154 "p1.cnf" + + doing_address = TRUE; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + InternalTraceInformationElement_sequence, hf_index, ett_p1_InternalTraceInformationElement); + + + doing_address = FALSE; + + + + return offset; +} + + +static const ber_sequence_t InternalTraceInformation_sequence_of[1] = { + { &hf_p1_InternalTraceInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_InternalTraceInformationElement }, +}; + +static int +dissect_p1_InternalTraceInformation(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_transfers, InternalTraceInformation_sequence_of, hf_index, ett_p1_InternalTraceInformation); + + return offset; +} + + + + +static const value_string p1_ObjectName_vals[] = { + { 0, "user-agent" }, + { 1, "mTA" }, + { 2, "message-store" }, + { 0, NULL } +}; + +static const ber_choice_t ObjectName_choice[] = { + { 0, &hf_p1_user_agent , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName }, + { 1, &hf_p1_mTA , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MTAName }, + { 2, &hf_p1_message_store , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p1_ORAddressAndOptionalDirectoryName }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ObjectName(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, + ObjectName_choice, hf_index, ett_p1_ObjectName, + NULL); + + return offset; +} + + + +static int +dissect_p1_INTEGER_0_ub_queue_size(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_queue_size, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_INTEGER_0_ub_content_length(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_content_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t DeliveryQueue_set[] = { + { &hf_p1_messages , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_INTEGER_0_ub_queue_size }, + { &hf_p1_delivery_queue_octets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_INTEGER_0_ub_content_length }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DeliveryQueue(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, + DeliveryQueue_set, hf_index, ett_p1_DeliveryQueue); + + return offset; +} + + +static const ber_sequence_t MessagesWaiting_set[] = { + { &hf_p1_urgent , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryQueue }, + { &hf_p1_normal , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryQueue }, + { &hf_p1_non_urgent , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_DeliveryQueue }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessagesWaiting(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, + MessagesWaiting_set, hf_index, ett_p1_MessagesWaiting); + + return offset; +} + + +static const ber_sequence_t MTSBindArgument_set[] = { + { &hf_p1_initiator_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ObjectName }, + { &hf_p1_messages_waiting , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p1_MessagesWaiting }, + { &hf_p1_initiator_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_InitiatorCredentials }, + { &hf_p1_security_context , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, + { &hf_p1_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTSBindArgument(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, + MTSBindArgument_set, hf_index, ett_p1_MTSBindArgument); + + return offset; +} + + +static const ber_sequence_t MTSBindResult_set[] = { + { &hf_p1_responder_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ObjectName }, + { &hf_p1_messages_waiting , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p1_MessagesWaiting }, + { &hf_p1_responder_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ResponderCredentials }, + { &hf_p1_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTSBindResult(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, + MTSBindResult_set, hf_index, ett_p1_MTSBindResult); + + return offset; +} + + +static const value_string p1_PAR_mts_bind_error_vals[] = { + { 0, "busy" }, + { 2, "authentication-error" }, + { 3, "unacceptable-dialogue-mode" }, + { 4, "unacceptable-security-context" }, + { 5, "inadequate-association-confidentiality" }, + { 0, NULL } +}; + + +static int +dissect_p1_PAR_mts_bind_error(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + + +int +dissect_p1_ORAddressAndOrDirectoryName(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_p1_ORName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_OriginatorName(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_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_RecipientName(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_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const asn_namedbit OriginatorReportRequest_bits[] = { + { 3, &hf_p1_OriginatorReportRequest_report, -1, -1, "report", NULL }, + { 4, &hf_p1_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_OriginatorReportRequest(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, OriginatorReportRequest_bits, hf_index, ett_p1_OriginatorReportRequest, + NULL); + + return offset; +} + + +static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = { + { &hf_p1_submission_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName }, + { &hf_p1_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginatorReportRequest }, + { &hf_p1_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion }, + { &hf_p1_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientMessageSubmissionFields(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, + PerRecipientMessageSubmissionFields_set, hf_index, ett_p1_PerRecipientMessageSubmissionFields); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = { + { &hf_p1_per_recipient_message_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientMessageSubmissionFields }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields); + + return offset; +} + + +static const ber_sequence_t MessageSubmissionEnvelope_set[] = { + { &hf_p1_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorName }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority }, + { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators }, + { &hf_p1_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeferredDeliveryTime }, + { &hf_p1_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_message_submission_fields, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_MessageSubmissionEnvelope(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, + MessageSubmissionEnvelope_set, hf_index, ett_p1_MessageSubmissionEnvelope); + + return offset; +} + + +static const ber_sequence_t MessageSubmissionArgument_sequence[] = { + { &hf_p1_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionEnvelope }, + { &hf_p1_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageSubmissionArgument(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, + MessageSubmissionArgument_sequence, hf_index, ett_p1_MessageSubmissionArgument); + + return offset; +} + + + +int +dissect_p1_MessageSubmissionIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_MessageSubmissionTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t MessageSubmissionResult_set[] = { + { &hf_p1_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionIdentifier }, + { &hf_p1_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MessageSubmissionTime }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageSubmissionResult(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, + MessageSubmissionResult_set, hf_index, ett_p1_MessageSubmissionResult); + + return offset; +} + + +static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = { + { &hf_p1_probe_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName }, + { &hf_p1_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_OriginatorReportRequest }, + { &hf_p1_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExplicitConversion }, + { &hf_p1_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_PerRecipientProbeSubmissionFields(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, + PerRecipientProbeSubmissionFields_set, hf_index, ett_p1_PerRecipientProbeSubmissionFields); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = { + { &hf_p1_per_recipient_probe_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientProbeSubmissionFields }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields); + + return offset; +} + + +static const ber_sequence_t ProbeSubmissionEnvelope_set[] = { + { &hf_p1_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorName }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength }, + { &hf_p1_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators }, + { &hf_p1_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_probe_submission_fields, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_ProbeSubmissionEnvelope(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, + ProbeSubmissionEnvelope_set, hf_index, ett_p1_ProbeSubmissionEnvelope); + + return offset; +} + + + +static int +dissect_p1_ProbeSubmissionArgument(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_p1_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_ProbeSubmissionIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_ProbeSubmissionTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t ProbeSubmissionResult_set[] = { + { &hf_p1_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ProbeSubmissionIdentifier }, + { &hf_p1_probe_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ProbeSubmissionTime }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ProbeSubmissionResult(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, + ProbeSubmissionResult_set, hf_index, ett_p1_ProbeSubmissionResult); + + return offset; +} + + + +static int +dissect_p1_CancelDeferredDeliveryArgument(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_p1_MessageSubmissionIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_CancelDeferredDeliveryResult(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_BOOLEAN(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const asn_namedbit Operations_bits[] = { + { 0, &hf_p1_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL }, + { 1, &hf_p1_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_Operations(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, Operations_bits, hf_index, ett_p1_Operations, + NULL); + + return offset; +} + + +static const ber_sequence_t ContentTypes_set_of[1] = { + { &hf_p1_ContentTypes_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, +}; + +static int +dissect_p1_ContentTypes(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_content_types, ContentTypes_set_of, hf_index, ett_p1_ContentTypes); + + return offset; +} + + +static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = { + { &hf_p1_unacceptable_eits, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes }, + { &hf_p1_acceptable_eits , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes }, + { &hf_p1_exclusively_acceptable_eits, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedEncodedInformationTypes }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_EncodedInformationTypesConstraints(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, + EncodedInformationTypesConstraints_sequence, hf_index, ett_p1_EncodedInformationTypesConstraints); + + return offset; +} + + + +static int +dissect_p1_PermissibleEncodedInformationTypes(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_p1_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t Controls_set[] = { + { &hf_p1_restrict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BOOLEAN }, + { &hf_p1_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations }, + { &hf_p1_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength }, + { &hf_p1_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority }, + { &hf_p1_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentTypes }, + { &hf_p1_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PermissibleEncodedInformationTypes }, + { &hf_p1_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Controls(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, + Controls_set, hf_index, ett_p1_Controls); + + return offset; +} + + + +static int +dissect_p1_SubmissionControls(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_p1_Controls(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_SubmissionControlArgument(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_p1_SubmissionControls(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const asn_namedbit WaitingMessages_bits[] = { + { 0, &hf_p1_WaitingMessages_long_content, -1, -1, "long-content", NULL }, + { 1, &hf_p1_WaitingMessages_low_priority, -1, -1, "low-priority", NULL }, + { 2, &hf_p1_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_WaitingMessages(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, WaitingMessages_bits, hf_index, ett_p1_WaitingMessages, + NULL); + + return offset; +} + + +static const ber_sequence_t SET_SIZE_0_ub_content_types_OF_ContentType_set_of[1] = { + { &hf_p1_waiting_content_types_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, +}; + +static int +dissect_p1_SET_SIZE_0_ub_content_types_OF_ContentType(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 0, ub_content_types, SET_SIZE_0_ub_content_types_OF_ContentType_set_of, hf_index, ett_p1_SET_SIZE_0_ub_content_types_OF_ContentType); + + return offset; +} + + +static const ber_sequence_t Waiting_set[] = { + { &hf_p1_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations }, + { &hf_p1_waiting_messages , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_WaitingMessages }, + { &hf_p1_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_SIZE_0_ub_content_types_OF_ContentType }, + { &hf_p1_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_EncodedInformationTypes }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Waiting(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, + Waiting_set, hf_index, ett_p1_Waiting); + + return offset; +} + + + +static int +dissect_p1_SubmissionControlResult(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_p1_Waiting(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_submission_control_violated(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_element_of_service_not_subscribed(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_deferred_delivery_cancellation_rejected(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_originator_invalid(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = { + { &hf_p1_ImproperlySpecifiedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName }, +}; + +int +dissect_p1_ImproperlySpecifiedRecipients(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_p1_ImproperlySpecifiedRecipients); + + return offset; +} + + + +static int +dissect_p1_PAR_message_submission_identifier_invalid(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_inconsistent_request(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +const value_string p1_SecurityProblem_vals[] = { + { 0, "assemby-instructions-conflict-with-security-services" }, + { 1, "authentication-problem" }, + { 2, "authentication-failure-on-subject-message" }, + { 3, "confidentiality-association-problem" }, + { 4, "decryption-failed" }, + { 5, "decryption-key-unobtainable" }, + { 6, "failure-of-proof-of-message" }, + { 7, "forbidden-user-security-label-register" }, + { 8, "incompatible-change-with-original-security-context" }, + { 9, "integrity-failure-on-subject-message" }, + { 10, "invalid-security-label" }, + { 11, "invalid-security-label-update" }, + { 12, "key-failure" }, + { 13, "mandatory-parameter-absence" }, + { 14, "operation-security-failure" }, + { 15, "redirection-prohibited" }, + { 16, "refused-alternate-recipient-name" }, + { 17, "repudiation-failure-of-message" }, + { 18, "responder-credentials-checking-problem" }, + { 19, "security-context-failure" }, + { 20, "security-context-problem" }, + { 21, "security-policy-violation" }, + { 22, "security-services-refusal" }, + { 23, "token-decryption-failed" }, + { 24, "token-error" }, + { 25, "unable-to-aggregate-security-labels" }, + { 26, "unauthorised-dl-name" }, + { 27, "unauthorised-entry-class" }, + { 28, "unauthorised-originally-intended-recipient-name" }, + { 29, "unauthorised-originator-name" }, + { 30, "unauthorised-recipient-name" }, + { 31, "unauthorised-security-label-update" }, + { 32, "unauthorised-user-name" }, + { 33, "unknown-security-label" }, + { 34, "unsupported-algorithm-identifier" }, + { 35, "unsupported-security-policy" }, + { 0, NULL } +}; + + +int +dissect_p1_SecurityProblem(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_security_problems, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_PAR_unsupported_critical_function(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_remote_bind_error(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +int +dissect_p1_MessageDeliveryIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_DeliveredContentType_vals[] = { + { 0, "built-in" }, + { 1, "extended" }, + { 0, NULL } +}; + +static const ber_choice_t DeliveredContentType_choice[] = { + { 0, &hf_p1_built_in , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_BuiltInContentType }, + { 1, &hf_p1_extended , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedContentType }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DeliveredContentType(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, + DeliveredContentType_choice, hf_index, ett_p1_DeliveredContentType, + NULL); + + return offset; +} + + + +static int +dissect_p1_DeliveredOriginatorName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const asn_namedbit DeliveryFlags_bits[] = { + { 1, &hf_p1_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_DeliveryFlags(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, DeliveryFlags_bits, hf_index, ett_p1_DeliveryFlags, + NULL); + + return offset; +} + + + +static int +dissect_p1_OtherRecipientName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t OtherRecipientNames_sequence_of[1] = { + { &hf_p1_OtherRecipientNames_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OtherRecipientName }, +}; + +static int +dissect_p1_OtherRecipientNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, OtherRecipientNames_sequence_of, hf_index, ett_p1_OtherRecipientNames); + + return offset; +} + + + +static int +dissect_p1_ThisRecipientName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t OtherMessageDeliveryFields_set[] = { + { &hf_p1_delivered_content_type, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_DeliveredContentType }, + { &hf_p1_delivered_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_DeliveredOriginatorName }, + { &hf_p1_original_encoded_information_types, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority }, + { &hf_p1_delivery_flags , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_DeliveryFlags }, + { &hf_p1_other_recipient_names, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherRecipientNames }, + { &hf_p1_this_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p1_ThisRecipientName }, + { &hf_p1_originally_intended_recipient_name, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginallyIntendedRecipientName }, + { &hf_p1_converted_encoded_information_types, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ConvertedEncodedInformationTypes }, + { &hf_p1_message_submission_time, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_p1_MessageSubmissionTime }, + { &hf_p1_content_identifier, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_extensions , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_OtherMessageDeliveryFields(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, + OtherMessageDeliveryFields_set, hf_index, ett_p1_OtherMessageDeliveryFields); + + return offset; +} + + +static const ber_sequence_t MessageDeliveryArgument_sequence[] = { + { &hf_p1_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryIdentifier }, + { &hf_p1_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p1_other_fields , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_OtherMessageDeliveryFields }, + { &hf_p1_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageDeliveryArgument(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, + MessageDeliveryArgument_sequence, hf_index, ett_p1_MessageDeliveryArgument); + + return offset; +} + + + +static int +dissect_p1_RecipientCertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ProofOfDelivery(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_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t MessageDeliveryResult_set[] = { + { &hf_p1_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RecipientCertificate }, + { &hf_p1_proof_of_delivery, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ProofOfDelivery }, + { &hf_p1_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageDeliveryResult(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, + MessageDeliveryResult_set, hf_index, ett_p1_MessageDeliveryResult); + + return offset; +} + + + +static int +dissect_p1_SubjectSubmissionIdentifier(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_p1_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ActualRecipientName(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_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = { + { &hf_p1_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ActualRecipientName }, + { &hf_p1_delivery_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ReportType }, + { &hf_p1_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ConvertedEncodedInformationTypes }, + { &hf_p1_originally_intended_recipient_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OriginallyIntendedRecipientName }, + { &hf_p1_supplementary_information, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SupplementaryInformation }, + { &hf_p1_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientReportDeliveryFields(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, + PerRecipientReportDeliveryFields_set, hf_index, ett_p1_PerRecipientReportDeliveryFields); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields_sequence_of[1] = { + { &hf_p1_per_recipient_report_delivery_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientReportDeliveryFields }, +}; + +static int +dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields); + + return offset; +} + + +static const ber_sequence_t ReportDeliveryArgument_set[] = { + { &hf_p1_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_SubjectSubmissionIdentifier }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields }, + { &hf_p1_returned_content , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Content }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportDeliveryArgument(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, + ReportDeliveryArgument_set, hf_index, ett_p1_ReportDeliveryArgument); + + return offset; +} + + +static const ber_sequence_t SET_SIZE_1_MAX_OF_ExtensionField_set_of[1] = { + { &hf_p1_max_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionField }, +}; + +static int +dissect_p1_SET_SIZE_1_MAX_OF_ExtensionField(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, NO_BOUND, SET_SIZE_1_MAX_OF_ExtensionField_set_of, hf_index, ett_p1_SET_SIZE_1_MAX_OF_ExtensionField); + + return offset; +} + + +static const value_string p1_ReportDeliveryResult_vals[] = { + { 0, "empty-result" }, + { 1, "extensions" }, + { 0, NULL } +}; + +static const ber_choice_t ReportDeliveryResult_choice[] = { + { 0, &hf_p1_empty_result , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL }, + { 1, &hf_p1_max_extensions , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_SET_SIZE_1_MAX_OF_ExtensionField }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportDeliveryResult(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, + ReportDeliveryResult_choice, hf_index, ett_p1_ReportDeliveryResult, + NULL); + + return offset; +} + + +static const ber_sequence_t DeliveryControlArgument_set[] = { + { &hf_p1_restrict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BOOLEAN }, + { &hf_p1_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations }, + { &hf_p1_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength }, + { &hf_p1_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_Priority }, + { &hf_p1_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentTypes }, + { &hf_p1_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PermissibleEncodedInformationTypes }, + { &hf_p1_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, + { &hf_p1_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DeliveryControlArgument(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, + DeliveryControlArgument_set, hf_index, ett_p1_DeliveryControlArgument); + + return offset; +} + + +static const ber_sequence_t DeliveryControlResult_set[] = { + { &hf_p1_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Operations }, + { &hf_p1_waiting_messages , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_WaitingMessages }, + { &hf_p1_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_SIZE_0_ub_content_types_OF_ContentType }, + { &hf_p1_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_EncodedInformationTypes }, + { &hf_p1_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DeliveryControlResult(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, + DeliveryControlResult_set, hf_index, ett_p1_DeliveryControlResult); + + return offset; +} + + + +static int +dissect_p1_PAR_delivery_control_violated(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_control_violates_registration(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const value_string p1_RefusedArgument_vals[] = { + { 0, "user-name" }, + { 1, "user-address" }, + { 2, "deliverable-content-types" }, + { 3, "deliverable-maximum-content-length" }, + { 4, "deliverable-encoded-information-types-constraints" }, + { 5, "deliverable-security-labels" }, + { 6, "recipient-assigned-redirections" }, + { 7, "restricted-delivery" }, + { 8, "retrieve-registrations" }, + { 10, "restrict" }, + { 11, "permissible-operations" }, + { 12, "permissible-lowest-priority" }, + { 13, "permissible-encoded-information-types" }, + { 14, "permissible-content-types" }, + { 15, "permissible-maximum-content-length" }, + { 16, "permissible-security-context" }, + { 0, NULL } +}; + + +static int +dissect_p1_RefusedArgument(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_T_refused_extension(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 592 "p1.cnf" +/*XXX not implemented yet */ + + + + return offset; +} + + +static const value_string p1_T_refused_argument_vals[] = { + { 0, "built-in-argument" }, + { 1, "refused-extension" }, + { 0, NULL } +}; + +static const ber_choice_t T_refused_argument_choice[] = { + { 0, &hf_p1_built_in_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_RefusedArgument }, + { 1, &hf_p1_refused_extension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_T_refused_extension }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_refused_argument(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_refused_argument_choice, hf_index, ett_p1_T_refused_argument, + NULL); + + return offset; +} + + +static const value_string p1_RefusalReason_vals[] = { + { 0, "facility-unavailable" }, + { 1, "facility-not-subscribed" }, + { 2, "parameter-unacceptable" }, + { 0, NULL } +}; + + +static int +dissect_p1_RefusalReason(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t RefusedOperation_set[] = { + { &hf_p1_refused_argument , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_refused_argument }, + { &hf_p1_refusal_reason , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p1_RefusalReason }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_RefusedOperation(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, + RefusedOperation_set, hf_index, ett_p1_RefusedOperation); + + return offset; +} + + + +static int +dissect_p1_UserName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_T_x121_address(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 855 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_x121_address_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + + +static int +dissect_p1_PrintableString_SIZE_1_ub_tsap_id_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_tsap_id_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t T_x121_sequence[] = { + { &hf_p1_x121_address , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_T_x121_address }, + { &hf_p1_tsap_id , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_tsap_id_length }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_x121(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_x121_sequence, hf_index, ett_p1_T_x121); + + return offset; +} + + + +static int +dissect_p1_PSAPAddress(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_x509sat_PresentationAddress(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_UserAddress_vals[] = { + { 0, "x121" }, + { 1, "presentation" }, + { 0, NULL } +}; + +static const ber_choice_t UserAddress_choice[] = { + { 0, &hf_p1_x121 , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_T_x121 }, + { 1, &hf_p1_presentation , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PSAPAddress }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_UserAddress(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, + UserAddress_choice, hf_index, ett_p1_UserAddress, + NULL); + + return offset; +} + + +static const ber_sequence_t SET_OF_Priority_set_of[1] = { + { &hf_p1_class_priority_item, BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_p1_Priority }, +}; + +static int +dissect_p1_SET_OF_Priority(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_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_Priority_set_of, hf_index, ett_p1_SET_OF_Priority); + + return offset; +} + + +static const value_string p1_T_objects_vals[] = { + { 0, "messages" }, + { 1, "reports" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_p1_T_objects(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const asn_namedbit T_source_type_bits[] = { + { 0, &hf_p1_T_source_type_originated_by, -1, -1, "originated-by", NULL }, + { 1, &hf_p1_T_source_type_redirected_by, -1, -1, "redirected-by", NULL }, + { 2, &hf_p1_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_T_source_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_bitstring(implicit_tag, actx, tree, tvb, offset, + T_source_type_bits, hf_index, ett_p1_T_source_type, + NULL); + + return offset; +} + + +static const value_string p1_ExactOrPattern_vals[] = { + { 0, "exact-match" }, + { 1, "pattern-match" }, + { 0, NULL } +}; + +static const ber_choice_t ExactOrPattern_choice[] = { + { 0, &hf_p1_exact_match , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ORName }, + { 1, &hf_p1_pattern_match , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_ORName }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ExactOrPattern(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, + ExactOrPattern_choice, hf_index, ett_p1_ExactOrPattern, + NULL); + + return offset; +} + + +static const ber_sequence_t Restriction_set[] = { + { &hf_p1_permitted , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_BOOLEAN }, + { &hf_p1_source_type , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_T_source_type }, + { &hf_p1_source_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ExactOrPattern }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Restriction(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, + Restriction_set, hf_index, ett_p1_Restriction); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = { + { &hf_p1_applies_only_to_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_Restriction }, +}; + +static int +dissect_p1_SEQUENCE_OF_Restriction(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_Restriction_sequence_of, hf_index, ett_p1_SEQUENCE_OF_Restriction); + + return offset; +} + + +static const ber_sequence_t MessageClass_set[] = { + { &hf_p1_content_types , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentTypes }, + { &hf_p1_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentLength }, + { &hf_p1_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncodedInformationTypesConstraints }, + { &hf_p1_security_labels , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, + { &hf_p1_class_priority , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_Priority }, + { &hf_p1_objects , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_objects }, + { &hf_p1_applies_only_to , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SEQUENCE_OF_Restriction }, + { &hf_p1_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageClass(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, + MessageClass_set, hf_index, ett_p1_MessageClass); + + return offset; +} + + + +static int +dissect_p1_DeliverableClass(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_p1_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass_set_of[1] = { + { &hf_p1_deliverable_class_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_DeliverableClass }, +}; + +static int +dissect_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_deliverable_class, SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass_set_of, hf_index, ett_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass); + + return offset; +} + + + +static int +dissect_p1_DefaultDeliveryControls(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_p1_Controls(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_RedirectionClass(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_p1_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass_set_of[1] = { + { &hf_p1_redirection_classes_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_RedirectionClass }, +}; + +static int +dissect_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_redirection_classes, SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass_set_of, hf_index, ett_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass); + + return offset; +} + + + +static int +dissect_p1_RecipientAssignedAlternateRecipient(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_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t RecipientRedirection_set[] = { + { &hf_p1_redirection_classes, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass }, + { &hf_p1_recipient_assigned_alternate_recipient, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RecipientAssignedAlternateRecipient }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_RecipientRedirection(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, + RecipientRedirection_set, hf_index, ett_p1_RecipientRedirection); + + return offset; +} + + +static const ber_sequence_t Redirections_sequence_of[1] = { + { &hf_p1_Redirections_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientRedirection }, +}; + +static int +dissect_p1_Redirections(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_redirections, Redirections_sequence_of, hf_index, ett_p1_Redirections); + + return offset; +} + + +static const ber_sequence_t RestrictedDelivery_sequence_of[1] = { + { &hf_p1_RestrictedDelivery_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_Restriction }, +}; + +static int +dissect_p1_RestrictedDelivery(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_restrictions, RestrictedDelivery_sequence_of, hf_index, ett_p1_RestrictedDelivery); + + return offset; +} + + +static const asn_namedbit T_standard_parameters_bits[] = { + { 0, &hf_p1_T_standard_parameters_user_name, -1, -1, "user-name", NULL }, + { 1, &hf_p1_T_standard_parameters_user_address, -1, -1, "user-address", NULL }, + { 2, &hf_p1_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL }, + { 3, &hf_p1_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL }, + { 4, &hf_p1_T_standard_parameters_redirections, -1, -1, "redirections", NULL }, + { 5, &hf_p1_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_T_standard_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_bitstring(implicit_tag, actx, tree, tvb, offset, + T_standard_parameters_bits, hf_index, ett_p1_T_standard_parameters, + NULL); + + return offset; +} + + + +static int +dissect_p1_T_type_extensions_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 531 "p1.cnf" +/*XXX not implemented yet */ + + + + return offset; +} + + +static const ber_sequence_t T_type_extensions_set_of[1] = { + { &hf_p1_type_extensions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_type_extensions_item }, +}; + +static int +dissect_p1_T_type_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_set_of(implicit_tag, actx, tree, tvb, offset, + T_type_extensions_set_of, hf_index, ett_p1_T_type_extensions); + + return offset; +} + + +static const ber_sequence_t RegistrationTypes_sequence[] = { + { &hf_p1_standard_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_standard_parameters }, + { &hf_p1_type_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_type_extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_RegistrationTypes(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, + RegistrationTypes_sequence, hf_index, ett_p1_RegistrationTypes); + + return offset; +} + + +static const ber_sequence_t RegisterArgument_set[] = { + { &hf_p1_user_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_UserName }, + { &hf_p1_user_address , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_UserAddress }, + { &hf_p1_deliverable_class, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass }, + { &hf_p1_default_delivery_controls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p1_DefaultDeliveryControls }, + { &hf_p1_redirections , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_Redirections }, + { &hf_p1_restricted_delivery, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RestrictedDelivery }, + { &hf_p1_retrieve_registrations, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RegistrationTypes }, + { &hf_p1_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_RegisterArgument(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, + RegisterArgument_set, hf_index, ett_p1_RegisterArgument); + + return offset; +} + + +static const ber_sequence_t T_non_empty_result_set[] = { + { &hf_p1_registered_information, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RegisterArgument }, + { &hf_p1_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_non_empty_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_set(implicit_tag, actx, tree, tvb, offset, + T_non_empty_result_set, hf_index, ett_p1_T_non_empty_result); + + return offset; +} + + +static const value_string p1_RegisterResult_vals[] = { + { 0, "empty-result" }, + { 1, "non-empty-result" }, + { 0, NULL } +}; + +static const ber_choice_t RegisterResult_choice[] = { + { 0, &hf_p1_empty_result , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p1_NULL }, + { 1, &hf_p1_non_empty_result , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_T_non_empty_result }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_RegisterResult(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, + RegisterResult_choice, hf_index, ett_p1_RegisterResult, + NULL); + + return offset; +} + + + +static int +dissect_p1_RES_change_credentials(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const ber_sequence_t ChangeCredentialsArgument_set[] = { + { &hf_p1_old_credentials , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_Credentials }, + { &hf_p1_new_credentials , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_Credentials }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ChangeCredentialsArgument(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, + ChangeCredentialsArgument_set, hf_index, ett_p1_ChangeCredentialsArgument); + + return offset; +} + + + +static int +dissect_p1_PAR_register_rejected(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_new_credentials_unacceptable(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p1_PAR_old_credentials_incorrectly_specified(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + + +static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = { + { &hf_p1_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryIdentifier }, + { &hf_p1_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p1_other_fields , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_OtherMessageDeliveryFields }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageDeliveryEnvelope(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, + MessageDeliveryEnvelope_sequence, hf_index, ett_p1_MessageDeliveryEnvelope); + + return offset; +} + + +static const ber_sequence_t ReportDeliveryEnvelope_set[] = { + { &hf_p1_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_SubjectSubmissionIdentifier }, + { &hf_p1_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p1_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ContentType }, + { &hf_p1_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p1_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SET_OF_ExtensionField }, + { &hf_p1_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportDeliveryEnvelope(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, + ReportDeliveryEnvelope_set, hf_index, ett_p1_ReportDeliveryEnvelope); + + return offset; +} + + + +static const value_string p1_RecipientReassignmentProhibited_vals[] = { + { 0, "recipient-reassignment-allowed" }, + { 1, "recipient-reassignment-prohibited" }, + { 0, NULL } +}; + + +static int +dissect_p1_RecipientReassignmentProhibited(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p1_OriginatorRequestedAlternateRecipient(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_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_DLExpansionProhibited_vals[] = { + { 0, "dl-expansion-allowed" }, + { 1, "dl-expansion-prohibited" }, + { 0, NULL } +}; + + +static int +dissect_p1_DLExpansionProhibited(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p1_ConversionWithLossProhibited_vals[] = { + { 0, "conversion-with-loss-allowed" }, + { 1, "conversion-with-loss-prohibited" }, + { 0, NULL } +}; + + +static int +dissect_p1_ConversionWithLossProhibited(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p1_LatestDeliveryTime(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_p1_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_RequestedDeliveryMethod_item_vals[] = { + { 0, "any-delivery-method" }, + { 1, "mhs-delivery" }, + { 2, "physical-delivery" }, + { 3, "telex-delivery" }, + { 4, "teletex-delivery" }, + { 5, "g3-facsimile-delivery" }, + { 6, "g4-facsimile-delivery" }, + { 7, "ia5-terminal-delivery" }, + { 8, "videotex-delivery" }, + { 9, "telephone-delivery" }, + { 0, NULL } +}; + + +static int +dissect_p1_RequestedDeliveryMethod_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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = { + { &hf_p1_RequestedDeliveryMethod_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p1_RequestedDeliveryMethod_item }, +}; + +int +dissect_p1_RequestedDeliveryMethod(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, + RequestedDeliveryMethod_sequence_of, hf_index, ett_p1_RequestedDeliveryMethod); + + return offset; +} + + +static const value_string p1_PhysicalForwardingProhibited_vals[] = { + { 0, "physical-forwarding-allowed" }, + { 1, "physical-forwarding-prohibited" }, + { 0, NULL } +}; + + +static int +dissect_p1_PhysicalForwardingProhibited(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p1_PhysicalForwardingAddressRequest_vals[] = { + { 0, "physical-forwarding-address-not-requested" }, + { 1, "physical-forwarding-address-requested" }, + { 0, NULL } +}; + + +static int +dissect_p1_PhysicalForwardingAddressRequest(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const asn_namedbit PhysicalDeliveryModes_bits[] = { + { 0, &hf_p1_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL }, + { 1, &hf_p1_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL }, + { 2, &hf_p1_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL }, + { 3, &hf_p1_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL }, + { 4, &hf_p1_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL }, + { 5, &hf_p1_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL }, + { 6, &hf_p1_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL }, + { 7, &hf_p1_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p1_PhysicalDeliveryModes(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, + 0, ub_bit_options, PhysicalDeliveryModes_bits, hf_index, ett_p1_PhysicalDeliveryModes, + NULL); + + return offset; +} + + +static const value_string p1_RegisteredMailType_vals[] = { + { 0, "non-registered-mail" }, + { 1, "registered-mail" }, + { 2, "registered-mail-to-addressee-in-person" }, + { 0, NULL } +}; + + +static int +dissect_p1_RegisteredMailType(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_RecipientNumberForAdvice(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_recipient_number_for_advice_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_PhysicalRenditionAttributes(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, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t ORAddress_sequence[] = { + { &hf_p1_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInStandardAttributes }, + { &hf_p1_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_BuiltInDomainDefinedAttributes }, + { &hf_p1_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionAttributes }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_ORAddress(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 1052 "p1.cnf" + + oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; + doing_address = TRUE; + address_item = NULL; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ORAddress_sequence, hf_index, ett_p1_ORAddress); + + + if(*oraddress && address_item) + proto_item_append_text(address_item, " %s/", oraddress); + + doing_address = FALSE; + + + + return offset; +} + + + +static int +dissect_p1_OriginatorReturnAddress(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_p1_ORAddress(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_PhysicalDeliveryReportRequest_vals[] = { + { 0, "return-of-undeliverable-mail-by-PDS" }, + { 1, "return-of-notification-by-PDS" }, + { 2, "return-of-notification-by-MHS" }, + { 3, "return-of-notification-by-MHS-and-PDS" }, + { 0, NULL } +}; + + +static int +dissect_p1_PhysicalDeliveryReportRequest(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_OriginatorCertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_MessageToken(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_p1_Token(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ContentConfidentialityAlgorithmIdentifier(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_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_ContentIntegrityCheck(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_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_MessageOriginAuthenticationCheck(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_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_MessageSecurityLabel(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_p1_SecurityLabel(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p1_ProofOfSubmissionRequest_vals[] = { + { 0, "proof-of-submission-not-requested" }, + { 1, "proof-of-submission-requested" }, + { 0, NULL } +}; + + +static int +dissect_p1_ProofOfSubmissionRequest(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p1_ProofOfDeliveryRequest_vals[] = { + { 0, "proof-of-delivery-not-requested" }, + { 1, "proof-of-delivery-requested" }, + { 0, NULL } +}; + + +static int +dissect_p1_ProofOfDeliveryRequest(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p1_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p1_ContentCorrelator_vals[] = { + { 0, "ia5text" }, + { 1, "octets" }, + { 0, NULL } +}; + +static const ber_choice_t ContentCorrelator_choice[] = { + { 0, &hf_p1_ia5text , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_IA5String }, + { 1, &hf_p1_octets , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_OCTET_STRING }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ContentCorrelator(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, + ContentCorrelator_choice, hf_index, ett_p1_ContentCorrelator, + NULL); + + return offset; +} + + + +static int +dissect_p1_ProbeOriginAuthenticationCheck(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_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t IntendedRecipientName_sequence[] = { + { &hf_p1_intended_recipient, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName }, + { &hf_p1_redirection_time , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_IntendedRecipientName(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, + IntendedRecipientName_sequence, hf_index, ett_p1_IntendedRecipientName); + + return offset; +} + + +static const value_string p1_RedirectionReason_vals[] = { + { 0, "recipient-assigned-alternate-recipient" }, + { 1, "originator-requested-alternate-recipient" }, + { 2, "recipient-MD-assigned-alternate-recipient" }, + { 3, "directory-look-up" }, + { 4, "alias" }, + { 0, NULL } +}; + + +static int +dissect_p1_RedirectionReason(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t Redirection_sequence[] = { + { &hf_p1_intended_recipient_name, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_IntendedRecipientName }, + { &hf_p1_redirection_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_p1_RedirectionReason }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_Redirection(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, + Redirection_sequence, hf_index, ett_p1_Redirection); + + return offset; +} + + +static const ber_sequence_t RedirectionHistory_sequence_of[1] = { + { &hf_p1_RedirectionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_Redirection }, +}; + +static int +dissect_p1_RedirectionHistory(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_redirections, RedirectionHistory_sequence_of, hf_index, ett_p1_RedirectionHistory); + + return offset; +} + + +static const ber_sequence_t DLExpansion_sequence[] = { + { &hf_p1_dl , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName }, + { &hf_p1_dl_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_DLExpansion(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, + DLExpansion_sequence, hf_index, ett_p1_DLExpansion); + + return offset; +} + + +static const ber_sequence_t DLExpansionHistory_sequence_of[1] = { + { &hf_p1_DLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_DLExpansion }, +}; + +static int +dissect_p1_DLExpansionHistory(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_dl_expansions, DLExpansionHistory_sequence_of, hf_index, ett_p1_DLExpansionHistory); + + return offset; +} + + + +static int +dissect_p1_PhysicalForwardingAddress(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = { + { &hf_p1_originator_or_dl_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOptionalDirectoryName }, + { &hf_p1_origination_or_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_OriginatorAndDLExpansion(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, + OriginatorAndDLExpansion_sequence, hf_index, ett_p1_OriginatorAndDLExpansion); + + return offset; +} + + +static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = { + { &hf_p1_OriginatorAndDLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorAndDLExpansion }, +}; + +static int +dissect_p1_OriginatorAndDLExpansionHistory(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 2, ub_orig_and_dl_expansions, OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_p1_OriginatorAndDLExpansionHistory); + + return offset; +} + + + +static int +dissect_p1_ReportingDLName(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_p1_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ReportingMTACertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ReportOriginAuthenticationCheck(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_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t PerRecipientDeliveryReportFields_sequence[] = { + { &hf_p1_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p1_type_of_MTS_user , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p1_TypeOfMTSUser }, + { &hf_p1_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_RecipientCertificate }, + { &hf_p1_proof_of_delivery, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ProofOfDelivery }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientDeliveryReportFields(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, + PerRecipientDeliveryReportFields_sequence, hf_index, ett_p1_PerRecipientDeliveryReportFields); + + return offset; +} + + +static const ber_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = { + { &hf_p1_non_delivery_reason_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p1_NonDeliveryReasonCode }, + { &hf_p1_non_delivery_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_NonDeliveryDiagnosticCode }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PerRecipientNonDeliveryReportFields(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, + PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_p1_PerRecipientNonDeliveryReportFields); + + return offset; +} + + +static const value_string p1_T_report_type_vals[] = { + { 0, "delivery" }, + { 1, "non-delivery" }, + { 0, NULL } +}; + +static const ber_choice_t T_report_type_choice[] = { + { 0, &hf_p1_report_type_delivery, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientDeliveryReportFields }, + { 1, &hf_p1_non_delivery_report, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_PerRecipientNonDeliveryReportFields }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_report_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, + T_report_type_choice, hf_index, ett_p1_T_report_type, + NULL); + + return offset; +} + + + + +int +dissect_p1_OriginatingMTACertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +int +dissect_p1_ProofOfSubmission(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_p1_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t ReportingMTAName_sequence[] = { + { &hf_p1_domain , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { &hf_p1_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName }, + { &hf_p1_mta_directory_name, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ReportingMTAName(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, + ReportingMTAName_sequence, hf_index, ett_p1_ReportingMTAName); + + return offset; +} + + +static const value_string p1_ExtendedCertificate_vals[] = { + { 0, "directory-entry" }, + { 1, "certificate" }, + { 0, NULL } +}; + +static const ber_choice_t ExtendedCertificate_choice[] = { + { 0, &hf_p1_directory_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509if_Name }, + { 1, &hf_p1_certificate , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509af_Certificates }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ExtendedCertificate(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, + ExtendedCertificate_choice, hf_index, ett_p1_ExtendedCertificate, + NULL); + + return offset; +} + + +static const ber_sequence_t ExtendedCertificates_set_of[1] = { + { &hf_p1_ExtendedCertificates_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_ExtendedCertificate }, +}; + +int +dissect_p1_ExtendedCertificates(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_certificates, ExtendedCertificates_set_of, hf_index, ett_p1_ExtendedCertificates); + + return offset; +} + + +static const ber_sequence_t DLExemptedRecipients_set_of[1] = { + { &hf_p1_DLExemptedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_ORAddressAndOrDirectoryName }, +}; + +static int +dissect_p1_DLExemptedRecipients(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_of(implicit_tag, actx, tree, tvb, offset, + DLExemptedRecipients_set_of, hf_index, ett_p1_DLExemptedRecipients); + + return offset; +} + + +static const ber_sequence_t CertificateSelectors_set[] = { + { &hf_p1_encryption_recipient, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p1_encryption_originator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p1_selectors_content_integrity_check, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p1_token_signature , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p1_message_origin_authentication, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_CertificateSelectors(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, + CertificateSelectors_set, hf_index, ett_p1_CertificateSelectors); + + return offset; +} + + + +static int +dissect_p1_CommonName(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 792 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_common_name_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_TeletexCommonName(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 805 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_common_name_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_BMPString_SIZE_1_ub_string_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_BMPString, + actx, tree, tvb, offset, + 1, ub_string_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_UniversalString_SIZE_1_ub_string_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString, + actx, tree, tvb, offset, + 1, ub_string_length, hf_index, NULL); + + return offset; +} + + +static const value_string p1_T_character_encoding_vals[] = { + { 0, "two-octets" }, + { 1, "four-octets" }, + { 0, NULL } +}; + +static const ber_choice_t T_character_encoding_choice[] = { + { 0, &hf_p1_two_octets , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_p1_BMPString_SIZE_1_ub_string_length }, + { 1, &hf_p1_four_octets , BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalString_SIZE_1_ub_string_length }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_character_encoding(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_character_encoding_choice, hf_index, ett_p1_T_character_encoding, + NULL); + + return offset; +} + + + +static int +dissect_p1_PrintableString_SIZE_CONSTR001(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 2, 5, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t UniversalOrBMPString_set[] = { + { &hf_p1_character_encoding, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_character_encoding }, + { &hf_p1_iso_639_language_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_CONSTR001 }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p1_UniversalOrBMPString(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, + UniversalOrBMPString_set, hf_index, ett_p1_UniversalOrBMPString); + + return offset; +} + + + +static int +dissect_p1_UniversalCommonName(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_TeletexOrganizationName(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 753 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_organization_name_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_UniversalOrganizationName(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_T_teletex_surname(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 983 "p1.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_surname_length, hf_index, &tstring); + + + if(doing_address && tstring) { + g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_teletex_given_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_) { +#line 993 "p1.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_given_name_length, hf_index, &tstring); + + + if(doing_address && tstring) { + g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_teletex_initials(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 1003 "p1.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_initials_length, hf_index, &tstring); + + + if(doing_address && tstring) { + g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + + +static int +dissect_p1_T_teletex_generation_qualifier(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 1013 "p1.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_generation_qualifier_length, hf_index, &tstring); + + + if(doing_address && tstring) { + g_strlcat(oraddress, "/Q=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + +static const ber_sequence_t TeletexPersonalName_set[] = { + { &hf_p1_teletex_surname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_surname }, + { &hf_p1_teletex_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_given_name }, + { &hf_p1_teletex_initials , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_initials }, + { &hf_p1_teletex_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_T_teletex_generation_qualifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_TeletexPersonalName(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, + TeletexPersonalName_set, hf_index, ett_p1_TeletexPersonalName); + + return offset; +} + + +static const ber_sequence_t UniversalPersonalName_set[] = { + { &hf_p1_universal_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString }, + { &hf_p1_universal_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString }, + { &hf_p1_universal_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString }, + { &hf_p1_universal_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_UniversalOrBMPString }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_UniversalPersonalName(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, + UniversalPersonalName_set, hf_index, ett_p1_UniversalPersonalName); + + return offset; +} + + + +static int +dissect_p1_TeletexOrganizationalUnitName(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 779 "p1.cnf" + tvbuff_t *string = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_organizational_unit_name_length, hf_index, &string); + + + if(doing_address && string) { + g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); + } + + + + return offset; +} + + +static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = { + { &hf_p1_TeletexOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p1_TeletexOrganizationalUnitName }, +}; + +static int +dissect_p1_TeletexOrganizationalUnitNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_organizational_units, TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_p1_TeletexOrganizationalUnitNames); + + return offset; +} + + + +static int +dissect_p1_UniversalOrganizationalUnitName(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = { + { &hf_p1_UniversalOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalOrganizationalUnitName }, +}; + +static int +dissect_p1_UniversalOrganizationalUnitNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_organizational_units, UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_p1_UniversalOrganizationalUnitNames); + + return offset; +} + + + +static int +dissect_p1_PDSName(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_pds_name_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_T_x121_dcc_code_01(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 895 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + ub_country_name_numeric_length, ub_country_name_numeric_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + + +static int +dissect_p1_T_iso_3166_alpha2_code_01(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 847 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + ub_country_name_alpha_length, ub_country_name_alpha_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + return offset; +} + + +static const value_string p1_PhysicalDeliveryCountryName_vals[] = { + { 0, "x121-dcc-code" }, + { 1, "iso-3166-alpha2-code" }, + { 0, NULL } +}; + +static const ber_choice_t PhysicalDeliveryCountryName_choice[] = { + { 0, &hf_p1_x121_dcc_code_01 , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_x121_dcc_code_01 }, + { 1, &hf_p1_iso_3166_alpha2_code_01, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_T_iso_3166_alpha2_code_01 }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PhysicalDeliveryCountryName(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, + PhysicalDeliveryCountryName_choice, hf_index, ett_p1_PhysicalDeliveryCountryName, + NULL); + + return offset; +} + + + +static int +dissect_p1_T_numeric_code(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 903 "p1.cnf" + tvbuff_t *nstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_postal_code_length, hf_index, &nstring); + + + if(doing_address && nstring) + g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); + + + + + return offset; +} + + + +static int +dissect_p1_PrintableString_SIZE_1_ub_postal_code_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_postal_code_length, hf_index, NULL); + + return offset; +} + + +static const value_string p1_PostalCode_vals[] = { + { 0, "numeric-code" }, + { 1, "printable-code" }, + { 0, NULL } +}; + +static const ber_choice_t PostalCode_choice[] = { + { 0, &hf_p1_numeric_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_p1_T_numeric_code }, + { 1, &hf_p1_printable_code , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_postal_code_length }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PostalCode(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, + PostalCode_choice, hf_index, ett_p1_PostalCode, + NULL); + + return offset; +} + + + +static int +dissect_p1_PrintableString_SIZE_1_ub_pds_parameter_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 1, ub_pds_parameter_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_TeletexString_SIZE_1_ub_pds_parameter_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_pds_parameter_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t PDSParameter_set[] = { + { &hf_p1_printable_string , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_pds_parameter_length }, + { &hf_p1_pds_teletex_string, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_TeletexString_SIZE_1_ub_pds_parameter_length }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_PDSParameter(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, + PDSParameter_set, hf_index, ett_p1_PDSParameter); + + return offset; +} + + + +static int +dissect_p1_PhysicalDeliveryOfficeName(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPDSParameter(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPhysicalDeliveryOfficeName(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_PhysicalDeliveryOfficeNumber(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPhysicalDeliveryOfficeNumber(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ExtensionORAddressComponents(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalExtensionORAddressComponents(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_PhysicalDeliveryPersonalName(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPhysicalDeliveryPersonalName(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_PhysicalDeliveryOrganizationName(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPhysicalDeliveryOrganizationName(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_ExtensionPhysicalDeliveryAddressComponents(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalExtensionPhysicalDeliveryAddressComponents(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t T_printable_address_sequence_of[1] = { + { &hf_p1_printable_address_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p1_PrintableString_SIZE_1_ub_pds_parameter_length }, +}; + +static int +dissect_p1_T_printable_address(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_pds_physical_address_lines, T_printable_address_sequence_of, hf_index, ett_p1_T_printable_address); + + return offset; +} + + + +static int +dissect_p1_TeletexString_SIZE_1_ub_unformatted_address_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_unformatted_address_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t UnformattedPostalAddress_set[] = { + { &hf_p1_printable_address, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_T_printable_address }, + { &hf_p1_teletex_string , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_TeletexString_SIZE_1_ub_unformatted_address_length }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_UnformattedPostalAddress(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, + UnformattedPostalAddress_set, hf_index, ett_p1_UnformattedPostalAddress); + + return offset; +} + + + +static int +dissect_p1_UniversalUnformattedPostalAddress(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_StreetAddress(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalStreetAddress(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_PostOfficeBoxAddress(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPostOfficeBoxAddress(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_PosteRestanteAddress(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalPosteRestanteAddress(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniquePostalName(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalUniquePostalName(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_LocalPostalAttributes(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_p1_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_UniversalLocalPostalAttributes(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_p1_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_NumericString_SIZE_1_ub_e163_4_number_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_e163_4_number_length, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_NumericString_SIZE_1_ub_e163_4_sub_address_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, + actx, tree, tvb, offset, + 1, ub_e163_4_sub_address_length, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t T_e163_4_address_sequence[] = { + { &hf_p1_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_NumericString_SIZE_1_ub_e163_4_number_length }, + { &hf_p1_sub_address , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_NumericString_SIZE_1_ub_e163_4_sub_address_length }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_e163_4_address(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_e163_4_address_sequence, hf_index, ett_p1_T_e163_4_address); + + return offset; +} + + +static const value_string p1_ExtendedNetworkAddress_vals[] = { + { 0, "e163-4-address" }, + { 1, "psap-address" }, + { 0, NULL } +}; + +static const ber_choice_t ExtendedNetworkAddress_choice[] = { + { 0, &hf_p1_e163_4_address , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_T_e163_4_address }, + { 1, &hf_p1_psap_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509sat_PresentationAddress }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_ExtendedNetworkAddress(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, + ExtendedNetworkAddress_choice, hf_index, ett_p1_ExtendedNetworkAddress, + NULL); + + return offset; +} + + +static const value_string p1_TerminalType_vals[] = { + { 3, "telex" }, + { 4, "teletex" }, + { 5, "g3-facsimile" }, + { 6, "g4-facsimile" }, + { 7, "ia5-terminal" }, + { 8, "videotex" }, + { 0, NULL } +}; + + +static int +dissect_p1_TerminalType(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_integer_options, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p1_T_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 912 "p1.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_domain_defined_attribute_type_length, hf_index, &tstring); + + + if(doing_address && tstring) { + g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + g_strlcat(ddatype, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + } + + + + + return offset; +} + + + +static int +dissect_p1_T_teletex_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_) { +#line 924 "p1.cnf" + tvbuff_t *tstring = NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 1, ub_domain_defined_attribute_value_length, hf_index, &tstring); + + + if(doing_address && tstring) { + g_strlcat(oraddress, "=", MAX_ORA_STR_LEN); + g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); + if (*ddatype) { + proto_item_append_text (tree, " (%s=%s)", ddatype, tvb_format_text(tstring, 0, tvb_length(tstring))); + } + } + + + + + return offset; +} + + +static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = { + { &hf_p1_type , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p1_T_type }, + { &hf_p1_teletex_value , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p1_T_teletex_value }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_TeletexDomainDefinedAttribute(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 938 "p1.cnf" + ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0'; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TeletexDomainDefinedAttribute_sequence, hf_index, ett_p1_TeletexDomainDefinedAttribute); + + + + + return offset; +} + + +static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = { + { &hf_p1_TeletexDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_TeletexDomainDefinedAttribute }, +}; + +static int +dissect_p1_TeletexDomainDefinedAttributes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_domain_defined_attributes, TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_p1_TeletexDomainDefinedAttributes); + + return offset; +} + + +static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = { + { &hf_p1_universal_type , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalOrBMPString }, + { &hf_p1_universal_value , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalOrBMPString }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_UniversalDomainDefinedAttribute(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, + UniversalDomainDefinedAttribute_sequence, hf_index, ett_p1_UniversalDomainDefinedAttribute); + + return offset; +} + + +static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = { + { &hf_p1_UniversalDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_UniversalDomainDefinedAttribute }, +}; + +static int +dissect_p1_UniversalDomainDefinedAttributes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_domain_defined_attributes, UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_p1_UniversalDomainDefinedAttributes); + + return offset; +} + + + +static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = { + { &hf_p1_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_GlobalDomainIdentifier }, + { &hf_p1_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p1_MTAName }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MTANameAndOptionalGDI(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 1131 "p1.cnf" + + doing_address = TRUE; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MTANameAndOptionalGDI_sequence, hf_index, ett_p1_MTANameAndOptionalGDI); + + + doing_address = FALSE; + proto_item_append_text(tree, ")"); + + + + return offset; +} + + +static const value_string p1_T_name_vals[] = { + { 0, "recipient-name" }, + { 1, "mta" }, + { 0, NULL } +}; + +static const ber_choice_t T_name_choice[] = { + { 0, &hf_p1_token_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_RecipientName }, + { 1, &hf_p1_token_mta , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_MTANameAndOptionalGDI }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_T_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_choice(actx, tree, tvb, offset, + T_name_choice, hf_index, ett_p1_T_name, + NULL); + + return offset; +} + + +static const value_string p1_TokenDataType_vals[] = { + { 1, "bind-token-signed-data" }, + { 2, "message-token-signed-data" }, + { 3, "message-token-encrypted-data" }, + { 4, "bind-token-encrypted-data" }, + { 0, NULL } +}; + + +static int +dissect_p1_TokenDataType(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, tree, tvb, offset, hf_index, + &extension_id); + + return offset; +} + + + +static int +dissect_p1_T_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_) { +#line 1235 "p1.cnf" + + proto_item_append_text(tree, " (%s)", val_to_str(extension_id, p1_TokenDataType_vals, "tokendata-type %d")); + if (dissector_try_uint(p1_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) { + offset = tvb_length(tvb); + } else { + proto_item *item = NULL; + proto_tree *next_tree = NULL; + + item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), + "Dissector for tokendata-type %d not implemented. Contact Wireshark developers if you want this supported", extension_id); + next_tree = proto_item_add_subtree(item, ett_p1_unknown_tokendata_type); + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree); + expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown tokendata-type"); + } + + + + return offset; +} + + +static const ber_sequence_t TokenData_sequence[] = { + { &hf_p1_token_data_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_TokenDataType }, + { &hf_p1_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_T_value }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_TokenData(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, + TokenData_sequence, hf_index, ett_p1_TokenData); + + return offset; +} + + +static const ber_sequence_t AsymmetricTokenData_sequence[] = { + { &hf_p1_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p1_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p1_T_name }, + { &hf_p1_time , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_p1_Time }, + { &hf_p1_signed_data , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TokenData }, + { &hf_p1_encryption_algorithm_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p1_encrypted_data , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_BIT_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_AsymmetricTokenData(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, + AsymmetricTokenData_sequence, hf_index, ett_p1_AsymmetricTokenData); + + return offset; +} + + +static const ber_sequence_t AsymmetricToken_sequence[] = { + { &hf_p1_asymmetric_token_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_AsymmetricTokenData }, + { &hf_p1_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p1_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_BIT_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_AsymmetricToken(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, + AsymmetricToken_sequence, hf_index, ett_p1_AsymmetricToken); + + return offset; +} + + + +static int +dissect_p1_RandomNumber(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, tree, tvb, offset, + NULL, hf_index, -1, + NULL); + + return offset; +} + + + +static int +dissect_p1_BindTokenSignedData(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_p1_RandomNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p1_INTEGER(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MessageTokenSignedData_sequence[] = { + { &hf_p1_content_confidentiality_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentConfidentialityAlgorithmIdentifier }, + { &hf_p1_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentIntegrityCheck }, + { &hf_p1_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageSecurityLabel }, + { &hf_p1_proof_of_delivery_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ProofOfDeliveryRequest }, + { &hf_p1_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_INTEGER }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageTokenSignedData(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, + MessageTokenSignedData_sequence, hf_index, ett_p1_MessageTokenSignedData); + + return offset; +} + + + +static int +dissect_p1_EncryptionKey(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, tree, tvb, offset, + NULL, hf_index, -1, + NULL); + + return offset; +} + + +static const ber_sequence_t MessageTokenEncryptedData_sequence[] = { + { &hf_p1_content_confidentiality_key, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncryptionKey }, + { &hf_p1_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ContentIntegrityCheck }, + { &hf_p1_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageSecurityLabel }, + { &hf_p1_content_integrity_key, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_EncryptionKey }, + { &hf_p1_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_INTEGER }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p1_MessageTokenEncryptedData(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, + MessageTokenEncryptedData_sequence, hf_index, ett_p1_MessageTokenEncryptedData); + + return offset; +} + + + +static int +dissect_p1_BindTokenEncryptedData(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); + + return offset; +} + +/*--- PDUs ---*/ + +static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_InternalTraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_InternalTraceInformation_PDU); +} +static void dissect_InternalTraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_InternalTraceInformationElement(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_InternalTraceInformationElement_PDU); +} +static void dissect_TraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TraceInformation_PDU); +} +static void dissect_TraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TraceInformationElement(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TraceInformationElement_PDU); +} +static int dissect_MTSBindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_MTSBindArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_MTSBindArgument_PDU); + return offset; +} +static int dissect_MTSBindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_MTSBindResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_MTSBindResult_PDU); + return offset; +} +static int dissect_PAR_mts_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_mts_bind_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_mts_bind_error_PDU); + return offset; +} +static int dissect_MessageSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_MessageSubmissionArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_MessageSubmissionArgument_PDU); + return offset; +} +static int dissect_MessageSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_MessageSubmissionResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_MessageSubmissionResult_PDU); + return offset; +} +static int dissect_ProbeSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_ProbeSubmissionArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_ProbeSubmissionArgument_PDU); + return offset; +} +static int dissect_ProbeSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_ProbeSubmissionResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_ProbeSubmissionResult_PDU); + return offset; +} +static int dissect_CancelDeferredDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_CancelDeferredDeliveryArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_CancelDeferredDeliveryArgument_PDU); + return offset; +} +static int dissect_CancelDeferredDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_CancelDeferredDeliveryResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_CancelDeferredDeliveryResult_PDU); + return offset; +} +static int dissect_SubmissionControlArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_SubmissionControlArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_SubmissionControlArgument_PDU); + return offset; +} +static int dissect_SubmissionControlResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_SubmissionControlResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_SubmissionControlResult_PDU); + return offset; +} +static int dissect_PAR_submission_control_violated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_submission_control_violated(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_submission_control_violated_PDU); + return offset; +} +static int dissect_PAR_element_of_service_not_subscribed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_element_of_service_not_subscribed(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_element_of_service_not_subscribed_PDU); + return offset; +} +static int dissect_PAR_deferred_delivery_cancellation_rejected_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_deferred_delivery_cancellation_rejected(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_deferred_delivery_cancellation_rejected_PDU); + return offset; +} +static int dissect_PAR_originator_invalid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_originator_invalid(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_originator_invalid_PDU); + return offset; +} +static int dissect_ImproperlySpecifiedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_ImproperlySpecifiedRecipients(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_ImproperlySpecifiedRecipients_PDU); + return offset; +} +static int dissect_PAR_message_submission_identifier_invalid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_message_submission_identifier_invalid(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_message_submission_identifier_invalid_PDU); + return offset; +} +static int dissect_PAR_inconsistent_request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_inconsistent_request(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_inconsistent_request_PDU); + return offset; +} +static int dissect_SecurityProblem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_SecurityProblem(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_SecurityProblem_PDU); + return offset; +} +static int dissect_PAR_unsupported_critical_function_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_unsupported_critical_function(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_unsupported_critical_function_PDU); + return offset; +} +static int dissect_PAR_remote_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_remote_bind_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_remote_bind_error_PDU); + return offset; +} +static void dissect_MessageSubmissionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageSubmissionTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageSubmissionTime_PDU); +} +static int dissect_MessageDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_MessageDeliveryArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_MessageDeliveryArgument_PDU); + return offset; +} +static int dissect_MessageDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_MessageDeliveryResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_MessageDeliveryResult_PDU); + return offset; +} +static int dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_ReportDeliveryArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_ReportDeliveryArgument_PDU); + return offset; +} +static int dissect_ReportDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_ReportDeliveryResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_ReportDeliveryResult_PDU); + return offset; +} +static int dissect_DeliveryControlArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_DeliveryControlArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_DeliveryControlArgument_PDU); + return offset; +} +static int dissect_DeliveryControlResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_DeliveryControlResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_DeliveryControlResult_PDU); + return offset; +} +static int dissect_PAR_delivery_control_violated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_delivery_control_violated(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_delivery_control_violated_PDU); + return offset; +} +static int dissect_PAR_control_violates_registration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_control_violates_registration(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_control_violates_registration_PDU); + return offset; +} +static int dissect_RefusedOperation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_RefusedOperation(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_RefusedOperation_PDU); + return offset; +} +static void dissect_RecipientCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_RecipientCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_RecipientCertificate_PDU); +} +static void dissect_ProofOfDelivery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ProofOfDelivery(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ProofOfDelivery_PDU); +} +static int dissect_RegisterArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_RegisterArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_RegisterArgument_PDU); + return offset; +} +static int dissect_RegisterResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_RegisterResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_RegisterResult_PDU); + return offset; +} +static int dissect_ChangeCredentialsArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_ChangeCredentialsArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_ChangeCredentialsArgument_PDU); + return offset; +} +static int dissect_RES_change_credentials_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_RES_change_credentials(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_RES_change_credentials_PDU); + return offset; +} +static int dissect_PAR_register_rejected_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_register_rejected(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_register_rejected_PDU); + return offset; +} +static int dissect_PAR_new_credentials_unacceptable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_new_credentials_unacceptable(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_new_credentials_unacceptable_PDU); + return offset; +} +static int dissect_PAR_old_credentials_incorrectly_specified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_p1_PAR_old_credentials_incorrectly_specified(FALSE, tvb, offset, &asn1_ctx, tree, hf_p1_PAR_old_credentials_incorrectly_specified_PDU); + return offset; +} +static void dissect_MessageSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageSubmissionEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageSubmissionEnvelope_PDU); +} +static void dissect_PerRecipientMessageSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PerRecipientMessageSubmissionFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PerRecipientMessageSubmissionFields_PDU); +} +static void dissect_ProbeSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ProbeSubmissionEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ProbeSubmissionEnvelope_PDU); +} +static void dissect_PerRecipientProbeSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PerRecipientProbeSubmissionFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PerRecipientProbeSubmissionFields_PDU); +} +static void dissect_MessageDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageDeliveryEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageDeliveryEnvelope_PDU); +} +static void dissect_ReportDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ReportDeliveryEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ReportDeliveryEnvelope_PDU); +} +static void dissect_PerRecipientReportDeliveryFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PerRecipientReportDeliveryFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PerRecipientReportDeliveryFields_PDU); +} +static void dissect_ExtendedContentType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ExtendedContentType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ExtendedContentType_PDU); +} +static void dissect_ContentIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ContentIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ContentIdentifier_PDU); +} +static void dissect_PerMessageIndicators_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PerMessageIndicators(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PerMessageIndicators_PDU); +} +static void dissect_OriginatorReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_OriginatorReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_OriginatorReportRequest_PDU); +} +static void dissect_DeferredDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_DeferredDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_DeferredDeliveryTime_PDU); +} +static void dissect_Priority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_Priority(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_Priority_PDU); +} +static void dissect_ContentLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ContentLength(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ContentLength_PDU); +} +static void dissect_MessageDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageDeliveryTime_PDU); +} +static void dissect_DeliveryFlags_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_DeliveryFlags(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_DeliveryFlags_PDU); +} +static void dissect_SubjectSubmissionIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_SubjectSubmissionIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_SubjectSubmissionIdentifier_PDU); +} +static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_RecipientReassignmentProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_RecipientReassignmentProhibited_PDU); +} +static void dissect_OriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_OriginatorRequestedAlternateRecipient(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_OriginatorRequestedAlternateRecipient_PDU); +} +static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_DLExpansionProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_DLExpansionProhibited_PDU); +} +static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ConversionWithLossProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ConversionWithLossProhibited_PDU); +} +static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_LatestDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_LatestDeliveryTime_PDU); +} +static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_RequestedDeliveryMethod(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_RequestedDeliveryMethod_PDU); +} +static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalForwardingProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalForwardingProhibited_PDU); +} +static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalForwardingAddressRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalForwardingAddressRequest_PDU); +} +static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryModes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryModes_PDU); +} +static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_RegisteredMailType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_RegisteredMailType_PDU); +} +static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_RecipientNumberForAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_RecipientNumberForAdvice_PDU); +} +static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalRenditionAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalRenditionAttributes_PDU); +} +static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_OriginatorReturnAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_OriginatorReturnAddress_PDU); +} +static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryReportRequest_PDU); +} +static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_OriginatorCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_OriginatorCertificate_PDU); +} +static void dissect_MessageToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageToken_PDU); +} +static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ContentConfidentialityAlgorithmIdentifier_PDU); +} +static void dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ContentIntegrityCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ContentIntegrityCheck_PDU); +} +static void dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageOriginAuthenticationCheck_PDU); +} +static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageSecurityLabel_PDU); +} +static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ProofOfSubmissionRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ProofOfSubmissionRequest_PDU); +} +static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ProofOfDeliveryRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ProofOfDeliveryRequest_PDU); +} +static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ContentCorrelator(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ContentCorrelator_PDU); +} +static void dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ProbeOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ProbeOriginAuthenticationCheck_PDU); +} +static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_RedirectionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_RedirectionHistory_PDU); +} +static void dissect_Redirection_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_Redirection(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_Redirection_PDU); +} +static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_DLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_DLExpansionHistory_PDU); +} +static void dissect_DLExpansion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_DLExpansion(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_DLExpansion_PDU); +} +static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalForwardingAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalForwardingAddress_PDU); +} +static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_OriginatorAndDLExpansionHistory_PDU); +} +static void dissect_ReportingDLName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ReportingDLName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ReportingDLName_PDU); +} +static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ReportingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ReportingMTACertificate_PDU); +} +static void dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ReportOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ReportOriginAuthenticationCheck_PDU); +} +static void dissect_OriginatingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_OriginatingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_OriginatingMTACertificate_PDU); +} +static void dissect_ProofOfSubmission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ProofOfSubmission(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ProofOfSubmission_PDU); +} +static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ReportingMTAName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ReportingMTAName_PDU); +} +static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ExtendedCertificates(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ExtendedCertificates_PDU); +} +static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_DLExemptedRecipients(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_DLExemptedRecipients_PDU); +} +static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_CertificateSelectors(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_CertificateSelectors_PDU); +} +static void dissect_Content_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_Content(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_Content_PDU); +} +static void dissect_MTSIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MTSIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MTSIdentifier_PDU); +} +static void dissect_ORName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ORName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ORName_PDU); +} +static void dissect_ORAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ORAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ORAddress_PDU); +} +static void dissect_CommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_CommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_CommonName_PDU); +} +static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TeletexCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TeletexCommonName_PDU); +} +static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalCommonName_PDU); +} +static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TeletexOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TeletexOrganizationName_PDU); +} +static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalOrganizationName_PDU); +} +static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TeletexPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TeletexPersonalName_PDU); +} +static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPersonalName_PDU); +} +static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TeletexOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TeletexOrganizationalUnitNames_PDU); +} +static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalOrganizationalUnitNames_PDU); +} +static void dissect_PDSName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PDSName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PDSName_PDU); +} +static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryCountryName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryCountryName_PDU); +} +static void dissect_PostalCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PostalCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PostalCode_PDU); +} +static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryOfficeName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryOfficeName_PDU); +} +static void dissect_UniversalPhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPhysicalDeliveryOfficeName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryOfficeName_PDU); +} +static void dissect_PhysicalDeliveryOfficeNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryOfficeNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryOfficeNumber_PDU); +} +static void dissect_UniversalPhysicalDeliveryOfficeNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPhysicalDeliveryOfficeNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryOfficeNumber_PDU); +} +static void dissect_ExtensionORAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ExtensionORAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ExtensionORAddressComponents_PDU); +} +static void dissect_UniversalExtensionORAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalExtensionORAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalExtensionORAddressComponents_PDU); +} +static void dissect_PhysicalDeliveryPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryPersonalName_PDU); +} +static void dissect_UniversalPhysicalDeliveryPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPhysicalDeliveryPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryPersonalName_PDU); +} +static void dissect_PhysicalDeliveryOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PhysicalDeliveryOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PhysicalDeliveryOrganizationName_PDU); +} +static void dissect_UniversalPhysicalDeliveryOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPhysicalDeliveryOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPhysicalDeliveryOrganizationName_PDU); +} +static void dissect_ExtensionPhysicalDeliveryAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ExtensionPhysicalDeliveryAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ExtensionPhysicalDeliveryAddressComponents_PDU); +} +static void dissect_UniversalExtensionPhysicalDeliveryAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalExtensionPhysicalDeliveryAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalExtensionPhysicalDeliveryAddressComponents_PDU); +} +static void dissect_UnformattedPostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UnformattedPostalAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UnformattedPostalAddress_PDU); +} +static void dissect_UniversalUnformattedPostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalUnformattedPostalAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalUnformattedPostalAddress_PDU); +} +static void dissect_StreetAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_StreetAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_StreetAddress_PDU); +} +static void dissect_UniversalStreetAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalStreetAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalStreetAddress_PDU); +} +static void dissect_PostOfficeBoxAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PostOfficeBoxAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PostOfficeBoxAddress_PDU); +} +static void dissect_UniversalPostOfficeBoxAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPostOfficeBoxAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPostOfficeBoxAddress_PDU); +} +static void dissect_PosteRestanteAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_PosteRestanteAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_PosteRestanteAddress_PDU); +} +static void dissect_UniversalPosteRestanteAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalPosteRestanteAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalPosteRestanteAddress_PDU); +} +static void dissect_UniquePostalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniquePostalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniquePostalName_PDU); +} +static void dissect_UniversalUniquePostalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalUniquePostalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalUniquePostalName_PDU); +} +static void dissect_LocalPostalAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_LocalPostalAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_LocalPostalAttributes_PDU); +} +static void dissect_UniversalLocalPostalAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalLocalPostalAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalLocalPostalAttributes_PDU); +} +static void dissect_ExtendedNetworkAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ExtendedNetworkAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ExtendedNetworkAddress_PDU); +} +static void dissect_TerminalType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TerminalType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TerminalType_PDU); +} +static void dissect_TeletexDomainDefinedAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_TeletexDomainDefinedAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_TeletexDomainDefinedAttributes_PDU); +} +static void dissect_UniversalDomainDefinedAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_UniversalDomainDefinedAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_UniversalDomainDefinedAttributes_PDU); +} +static void dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_ExtendedEncodedInformationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_ExtendedEncodedInformationType_PDU); +} +static void dissect_MTANameAndOptionalGDI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MTANameAndOptionalGDI(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MTANameAndOptionalGDI_PDU); +} +static void dissect_AsymmetricToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_AsymmetricToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_AsymmetricToken_PDU); +} +static void dissect_BindTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_BindTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_BindTokenSignedData_PDU); +} +static void dissect_MessageTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageTokenSignedData_PDU); +} +static void dissect_MessageTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_MessageTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MessageTokenEncryptedData_PDU); +} +static void dissect_BindTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_BindTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_BindTokenEncryptedData_PDU); +} +static void dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p1_SecurityClassification(FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_SecurityClassification_PDU); +} + + +/*--- End of included file: packet-p1-fn.c ---*/ +#line 102 "packet-p1-template.c" + + +/*--- Included file: packet-p1-table11.c ---*/ +#line 1 "packet-p1-table11.c" + +static const ros_opr_t p3_opr_tab[] = { + /* mts-bind */ + { op_ros_bind , dissect_MTSBindArgument_PDU, dissect_MTSBindResult_PDU }, + /* message-submission */ + { op_message_submission , dissect_MessageSubmissionArgument_PDU, dissect_MessageSubmissionResult_PDU }, + /* probe-submission */ + { op_probe_submission , dissect_ProbeSubmissionArgument_PDU, dissect_ProbeSubmissionResult_PDU }, + /* cancel-deferred-delivery */ + { op_cancel_deferred_delivery, dissect_CancelDeferredDeliveryArgument_PDU, dissect_CancelDeferredDeliveryResult_PDU }, + /* submission-control */ + { op_submission_control , dissect_SubmissionControlArgument_PDU, dissect_SubmissionControlResult_PDU }, + /* message-delivery */ + { op_message_delivery , dissect_MessageDeliveryArgument_PDU, dissect_MessageDeliveryResult_PDU }, + /* report-delivery */ + { op_report_delivery , dissect_ReportDeliveryArgument_PDU, dissect_ReportDeliveryResult_PDU }, + /* delivery-control */ + { op_delivery_control , dissect_DeliveryControlArgument_PDU, dissect_DeliveryControlResult_PDU }, + /* register */ + { op_register , dissect_RegisterArgument_PDU, dissect_RegisterResult_PDU }, + /* change-credentials */ + { op_change_credentials , dissect_ChangeCredentialsArgument_PDU, dissect_RES_change_credentials_PDU }, + { 0, (new_dissector_t)(-1), (new_dissector_t)(-1) }, +}; + + +/*--- End of included file: packet-p1-table11.c ---*/ +#line 104 "packet-p1-template.c" + +/*--- Included file: packet-p1-table21.c ---*/ +#line 1 "packet-p1-table21.c" + +static const ros_err_t p3_err_tab[] = { + /* mts-bind-error*/ + { err_ros_bind, dissect_PAR_mts_bind_error_PDU }, + /* submission-control-violated*/ + { err_submission_control_violated, dissect_PAR_submission_control_violated_PDU }, + /* element-of-service-not-subscribed*/ + { err_element_of_service_not_subscribed, dissect_PAR_element_of_service_not_subscribed_PDU }, + /* deferred-delivery-cancellation-rejected*/ + { err_deferred_delivery_cancellation_rejected, dissect_PAR_deferred_delivery_cancellation_rejected_PDU }, + /* originator-invalid*/ + { err_originator_invalid, dissect_PAR_originator_invalid_PDU }, + /* recipient-improperly-specified*/ + { err_recipient_improperly_specified, dissect_ImproperlySpecifiedRecipients_PDU }, + /* message-submission-identifier-invalid*/ + { err_message_submission_identifier_invalid, dissect_PAR_message_submission_identifier_invalid_PDU }, + /* inconsistent-request*/ + { err_inconsistent_request, dissect_PAR_inconsistent_request_PDU }, + /* security-error*/ + { err_security_error, dissect_SecurityProblem_PDU }, + /* unsupported-critical-function*/ + { err_unsupported_critical_function, dissect_PAR_unsupported_critical_function_PDU }, + /* remote-bind-error*/ + { err_remote_bind_error, dissect_PAR_remote_bind_error_PDU }, + /* delivery-control-violated*/ + { err_delivery_control_violated, dissect_PAR_delivery_control_violated_PDU }, + /* control-violates-registration*/ + { err_control_violates_registration, dissect_PAR_control_violates_registration_PDU }, + /* operation-refused*/ + { err_operation_refused, dissect_RefusedOperation_PDU }, + /* register-rejected*/ + { err_register_rejected, dissect_PAR_register_rejected_PDU }, + /* new-credentials-unacceptable*/ + { err_new_credentials_unacceptable, dissect_PAR_new_credentials_unacceptable_PDU }, + /* old-credentials-incorrectly-specified*/ + { err_old_credentials_incorrectly_specified, dissect_PAR_old_credentials_incorrectly_specified_PDU }, + { 0, (new_dissector_t)(-1) }, +}; + + +/*--- End of included file: packet-p1-table21.c ---*/ +#line 105 "packet-p1-template.c" + +static const ros_info_t p3_ros_info = { + "P3", + &proto_p3, + &ett_p3, + p3_opr_code_string_vals, + p3_opr_tab, + p3_err_code_string_vals, + p3_err_tab +}; + + +char* p1_get_last_oraddress() { return oraddress; } + +/* + * Dissect P1 MTS APDU + */ +void +dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +{ + proto_item *item=NULL; + proto_tree *tree=NULL; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + + /* save parent_tree so subdissectors can create new top nodes */ + top_tree=parent_tree; + + if(parent_tree){ + item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, FALSE); + tree = proto_item_add_subtree(item, ett_p1); + } + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1"); + col_set_str(pinfo->cinfo, COL_INFO, "Transfer"); + + dissect_p1_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_p1_MTS_APDU_PDU); +} + +/* +* Dissect P1 PDUs inside a PPDU. +*/ +static void +dissect_p1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +{ + int offset = 0; + int old_offset; + proto_item *item=NULL; + proto_tree *tree=NULL; + int (*p1_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) = NULL; + char *p1_op_name; + int hf_p1_index = -1; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + + /* save parent_tree so subdissectors can create new top nodes */ + top_tree=parent_tree; + + /* do we have operation information from the ROS dissector? */ + if( !pinfo->private_data ){ + if(parent_tree){ + proto_tree_add_text(parent_tree, tvb, offset, -1, + "Internal error: can't get operation information from ROS dissector."); + } + return ; + } else { + session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) ); + } + + if(parent_tree){ + item = proto_tree_add_item(parent_tree, proto_p1, tvb, 0, -1, FALSE); + tree = proto_item_add_subtree(item, ett_p1); + } + col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1"); + col_clear(pinfo->cinfo, COL_INFO); + + switch(session->ros_op & ROS_OP_MASK) { + case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */ + p1_dissector = dissect_p1_MTABindArgument; + p1_op_name = "Bind-Argument"; + hf_p1_index = hf_p1_MTABindArgument_PDU; + break; + case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */ + p1_dissector = dissect_p1_MTABindResult; + p1_op_name = "Bind-Result"; + hf_p1_index = hf_p1_MTABindResult_PDU; + break; + case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */ + p1_dissector = dissect_p1_MTABindError; + p1_op_name = "Bind-Error"; + hf_p1_index = hf_p1_MTABindError_PDU; + break; + case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */ + p1_dissector = dissect_p1_MTS_APDU; + p1_op_name = "Transfer"; + hf_p1_index = hf_p1_MTS_APDU_PDU; + break; + default: + proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P1 PDU"); + return; + } + + if (check_col(pinfo->cinfo, COL_INFO)) + col_set_str(pinfo->cinfo, COL_INFO, p1_op_name); + + while (tvb_reported_length_remaining(tvb, offset) > 0){ + old_offset=offset; + offset=(*p1_dissector)(FALSE, tvb, offset, &asn1_ctx , tree, hf_p1_index); + if(offset == old_offset){ + proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte P1 PDU"); + offset = tvb_length(tvb); + break; + } + } +} + + +/*--- proto_register_p1 -------------------------------------------*/ +void proto_register_p1(void) { + + /* List of fields */ + static hf_register_info hf[] = + { + /* "Created by defining PDU in .cnf */ + { &hf_p1_MTABindArgument_PDU, + { "MTABindArgument", "p1.MTABindArgument", + FT_UINT32, BASE_DEC, VALS(p1_MTABindArgument_vals), 0, + "p1.MTABindArgument", HFILL }}, + { &hf_p1_MTABindResult_PDU, + { "MTABindResult", "p1.MTABindResult", + FT_UINT32, BASE_DEC, VALS(p1_MTABindResult_vals), 0, + "p1.MTABindResult", HFILL }}, + { &hf_p1_MTABindError_PDU, + { "MTABindError", "p1.MTABindError", + FT_UINT32, BASE_DEC, VALS(p1_MTABindError_vals), 0, + "p1.MTABindError", HFILL }}, + { &hf_p1_MTS_APDU_PDU, + { "MTS-APDU", "p1.MTS_APDU", + FT_UINT32, BASE_DEC, VALS(p1_MTS_APDU_vals), 0, + "p1.MTS_APDU", HFILL }}, + + +/*--- Included file: packet-p1-hfarr.c ---*/ +#line 1 "packet-p1-hfarr.c" + { &hf_p1_InternalTraceInformation_PDU, + { "InternalTraceInformation", "p1.InternalTraceInformation", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_InternalTraceInformationElement_PDU, + { "InternalTraceInformationElement", "p1.InternalTraceInformationElement", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_TraceInformation_PDU, + { "TraceInformation", "p1.TraceInformation", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_TraceInformationElement_PDU, + { "TraceInformationElement", "p1.TraceInformationElement", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MTSBindArgument_PDU, + { "MTSBindArgument", "p1.MTSBindArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MTSBindResult_PDU, + { "MTSBindResult", "p1.MTSBindResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_mts_bind_error_PDU, + { "PAR-mts-bind-error", "p1.PAR_mts_bind_error", + FT_UINT32, BASE_DEC, VALS(p1_PAR_mts_bind_error_vals), 0, + NULL, HFILL }}, + { &hf_p1_MessageSubmissionArgument_PDU, + { "MessageSubmissionArgument", "p1.MessageSubmissionArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageSubmissionResult_PDU, + { "MessageSubmissionResult", "p1.MessageSubmissionResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ProbeSubmissionArgument_PDU, + { "ProbeSubmissionArgument", "p1.ProbeSubmissionArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ProbeSubmissionResult_PDU, + { "ProbeSubmissionResult", "p1.ProbeSubmissionResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_CancelDeferredDeliveryArgument_PDU, + { "CancelDeferredDeliveryArgument", "p1.CancelDeferredDeliveryArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_CancelDeferredDeliveryResult_PDU, + { "CancelDeferredDeliveryResult", "p1.CancelDeferredDeliveryResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_SubmissionControlArgument_PDU, + { "SubmissionControlArgument", "p1.SubmissionControlArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_SubmissionControlResult_PDU, + { "SubmissionControlResult", "p1.SubmissionControlResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_submission_control_violated_PDU, + { "PAR-submission-control-violated", "p1.PAR_submission_control_violated", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_element_of_service_not_subscribed_PDU, + { "PAR-element-of-service-not-subscribed", "p1.PAR_element_of_service_not_subscribed", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_deferred_delivery_cancellation_rejected_PDU, + { "PAR-deferred-delivery-cancellation-rejected", "p1.PAR_deferred_delivery_cancellation_rejected", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_originator_invalid_PDU, + { "PAR-originator-invalid", "p1.PAR_originator_invalid", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ImproperlySpecifiedRecipients_PDU, + { "ImproperlySpecifiedRecipients", "p1.ImproperlySpecifiedRecipients", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_message_submission_identifier_invalid_PDU, + { "PAR-message-submission-identifier-invalid", "p1.PAR_message_submission_identifier_invalid", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_inconsistent_request_PDU, + { "PAR-inconsistent-request", "p1.PAR_inconsistent_request", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_SecurityProblem_PDU, + { "SecurityProblem", "p1.SecurityProblem", + FT_UINT32, BASE_DEC, VALS(p1_SecurityProblem_vals), 0, + NULL, HFILL }}, + { &hf_p1_PAR_unsupported_critical_function_PDU, + { "PAR-unsupported-critical-function", "p1.PAR_unsupported_critical_function", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_remote_bind_error_PDU, + { "PAR-remote-bind-error", "p1.PAR_remote_bind_error", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageSubmissionTime_PDU, + { "MessageSubmissionTime", "p1.MessageSubmissionTime", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageDeliveryArgument_PDU, + { "MessageDeliveryArgument", "p1.MessageDeliveryArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageDeliveryResult_PDU, + { "MessageDeliveryResult", "p1.MessageDeliveryResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportDeliveryArgument_PDU, + { "ReportDeliveryArgument", "p1.ReportDeliveryArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportDeliveryResult_PDU, + { "ReportDeliveryResult", "p1.ReportDeliveryResult", + FT_UINT32, BASE_DEC, VALS(p1_ReportDeliveryResult_vals), 0, + NULL, HFILL }}, + { &hf_p1_DeliveryControlArgument_PDU, + { "DeliveryControlArgument", "p1.DeliveryControlArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DeliveryControlResult_PDU, + { "DeliveryControlResult", "p1.DeliveryControlResult", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_delivery_control_violated_PDU, + { "PAR-delivery-control-violated", "p1.PAR_delivery_control_violated", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_control_violates_registration_PDU, + { "PAR-control-violates-registration", "p1.PAR_control_violates_registration", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RefusedOperation_PDU, + { "RefusedOperation", "p1.RefusedOperation", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RecipientCertificate_PDU, + { "RecipientCertificate", "p1.RecipientCertificate", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ProofOfDelivery_PDU, + { "ProofOfDelivery", "p1.ProofOfDelivery", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RegisterArgument_PDU, + { "RegisterArgument", "p1.RegisterArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RegisterResult_PDU, + { "RegisterResult", "p1.RegisterResult", + FT_UINT32, BASE_DEC, VALS(p1_RegisterResult_vals), 0, + NULL, HFILL }}, + { &hf_p1_ChangeCredentialsArgument_PDU, + { "ChangeCredentialsArgument", "p1.ChangeCredentialsArgument", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RES_change_credentials_PDU, + { "RES-change-credentials", "p1.RES_change_credentials", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_register_rejected_PDU, + { "PAR-register-rejected", "p1.PAR_register_rejected", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_new_credentials_unacceptable_PDU, + { "PAR-new-credentials-unacceptable", "p1.PAR_new_credentials_unacceptable", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PAR_old_credentials_incorrectly_specified_PDU, + { "PAR-old-credentials-incorrectly-specified", "p1.PAR_old_credentials_incorrectly_specified", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageSubmissionEnvelope_PDU, + { "MessageSubmissionEnvelope", "p1.MessageSubmissionEnvelope", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PerRecipientMessageSubmissionFields_PDU, + { "PerRecipientMessageSubmissionFields", "p1.PerRecipientMessageSubmissionFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ProbeSubmissionEnvelope_PDU, + { "ProbeSubmissionEnvelope", "p1.ProbeSubmissionEnvelope", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PerRecipientProbeSubmissionFields_PDU, + { "PerRecipientProbeSubmissionFields", "p1.PerRecipientProbeSubmissionFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageDeliveryEnvelope_PDU, + { "MessageDeliveryEnvelope", "p1.MessageDeliveryEnvelope", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportDeliveryEnvelope_PDU, + { "ReportDeliveryEnvelope", "p1.ReportDeliveryEnvelope", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PerRecipientReportDeliveryFields_PDU, + { "PerRecipientReportDeliveryFields", "p1.PerRecipientReportDeliveryFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ExtendedContentType_PDU, + { "ExtendedContentType", "p1.ExtendedContentType", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ContentIdentifier_PDU, + { "ContentIdentifier", "p1.ContentIdentifier", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_PDU, + { "PerMessageIndicators", "p1.PerMessageIndicators", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_OriginatorReportRequest_PDU, + { "OriginatorReportRequest", "p1.OriginatorReportRequest", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DeferredDeliveryTime_PDU, + { "DeferredDeliveryTime", "p1.DeferredDeliveryTime", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_Priority_PDU, + { "Priority", "p1.Priority", + FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0, + NULL, HFILL }}, + { &hf_p1_ContentLength_PDU, + { "ContentLength", "p1.ContentLength", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageDeliveryTime_PDU, + { "MessageDeliveryTime", "p1.MessageDeliveryTime", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DeliveryFlags_PDU, + { "DeliveryFlags", "p1.DeliveryFlags", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_SubjectSubmissionIdentifier_PDU, + { "SubjectSubmissionIdentifier", "p1.SubjectSubmissionIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RecipientReassignmentProhibited_PDU, + { "RecipientReassignmentProhibited", "p1.RecipientReassignmentProhibited", + FT_UINT32, BASE_DEC, VALS(p1_RecipientReassignmentProhibited_vals), 0, + NULL, HFILL }}, + { &hf_p1_OriginatorRequestedAlternateRecipient_PDU, + { "OriginatorRequestedAlternateRecipient", "p1.OriginatorRequestedAlternateRecipient", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DLExpansionProhibited_PDU, + { "DLExpansionProhibited", "p1.DLExpansionProhibited", + FT_UINT32, BASE_DEC, VALS(p1_DLExpansionProhibited_vals), 0, + NULL, HFILL }}, + { &hf_p1_ConversionWithLossProhibited_PDU, + { "ConversionWithLossProhibited", "p1.ConversionWithLossProhibited", + FT_UINT32, BASE_DEC, VALS(p1_ConversionWithLossProhibited_vals), 0, + NULL, HFILL }}, + { &hf_p1_LatestDeliveryTime_PDU, + { "LatestDeliveryTime", "p1.LatestDeliveryTime", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RequestedDeliveryMethod_PDU, + { "RequestedDeliveryMethod", "p1.RequestedDeliveryMethod", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalForwardingProhibited_PDU, + { "PhysicalForwardingProhibited", "p1.PhysicalForwardingProhibited", + FT_UINT32, BASE_DEC, VALS(p1_PhysicalForwardingProhibited_vals), 0, + NULL, HFILL }}, + { &hf_p1_PhysicalForwardingAddressRequest_PDU, + { "PhysicalForwardingAddressRequest", "p1.PhysicalForwardingAddressRequest", + FT_UINT32, BASE_DEC, VALS(p1_PhysicalForwardingAddressRequest_vals), 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_PDU, + { "PhysicalDeliveryModes", "p1.PhysicalDeliveryModes", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RegisteredMailType_PDU, + { "RegisteredMailType", "p1.RegisteredMailType", + FT_UINT32, BASE_DEC, VALS(p1_RegisteredMailType_vals), 0, + NULL, HFILL }}, + { &hf_p1_RecipientNumberForAdvice_PDU, + { "RecipientNumberForAdvice", "p1.RecipientNumberForAdvice", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalRenditionAttributes_PDU, + { "PhysicalRenditionAttributes", "p1.PhysicalRenditionAttributes", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_OriginatorReturnAddress_PDU, + { "OriginatorReturnAddress", "p1.OriginatorReturnAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryReportRequest_PDU, + { "PhysicalDeliveryReportRequest", "p1.PhysicalDeliveryReportRequest", + FT_UINT32, BASE_DEC, VALS(p1_PhysicalDeliveryReportRequest_vals), 0, + NULL, HFILL }}, + { &hf_p1_OriginatorCertificate_PDU, + { "OriginatorCertificate", "p1.OriginatorCertificate", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageToken_PDU, + { "MessageToken", "p1.MessageToken", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ContentConfidentialityAlgorithmIdentifier_PDU, + { "ContentConfidentialityAlgorithmIdentifier", "p1.ContentConfidentialityAlgorithmIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ContentIntegrityCheck_PDU, + { "ContentIntegrityCheck", "p1.ContentIntegrityCheck", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageOriginAuthenticationCheck_PDU, + { "MessageOriginAuthenticationCheck", "p1.MessageOriginAuthenticationCheck", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageSecurityLabel_PDU, + { "MessageSecurityLabel", "p1.MessageSecurityLabel", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ProofOfSubmissionRequest_PDU, + { "ProofOfSubmissionRequest", "p1.ProofOfSubmissionRequest", + FT_UINT32, BASE_DEC, VALS(p1_ProofOfSubmissionRequest_vals), 0, + NULL, HFILL }}, + { &hf_p1_ProofOfDeliveryRequest_PDU, + { "ProofOfDeliveryRequest", "p1.ProofOfDeliveryRequest", + FT_UINT32, BASE_DEC, VALS(p1_ProofOfDeliveryRequest_vals), 0, + NULL, HFILL }}, + { &hf_p1_ContentCorrelator_PDU, + { "ContentCorrelator", "p1.ContentCorrelator", + FT_UINT32, BASE_DEC, VALS(p1_ContentCorrelator_vals), 0, + NULL, HFILL }}, + { &hf_p1_ProbeOriginAuthenticationCheck_PDU, + { "ProbeOriginAuthenticationCheck", "p1.ProbeOriginAuthenticationCheck", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_RedirectionHistory_PDU, + { "RedirectionHistory", "p1.RedirectionHistory", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_Redirection_PDU, + { "Redirection", "p1.Redirection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DLExpansionHistory_PDU, + { "DLExpansionHistory", "p1.DLExpansionHistory", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DLExpansion_PDU, + { "DLExpansion", "p1.DLExpansion", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalForwardingAddress_PDU, + { "PhysicalForwardingAddress", "p1.PhysicalForwardingAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_OriginatorAndDLExpansionHistory_PDU, + { "OriginatorAndDLExpansionHistory", "p1.OriginatorAndDLExpansionHistory", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportingDLName_PDU, + { "ReportingDLName", "p1.ReportingDLName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportingMTACertificate_PDU, + { "ReportingMTACertificate", "p1.ReportingMTACertificate", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportOriginAuthenticationCheck_PDU, + { "ReportOriginAuthenticationCheck", "p1.ReportOriginAuthenticationCheck", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_OriginatingMTACertificate_PDU, + { "OriginatingMTACertificate", "p1.OriginatingMTACertificate", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ProofOfSubmission_PDU, + { "ProofOfSubmission", "p1.ProofOfSubmission", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ReportingMTAName_PDU, + { "ReportingMTAName", "p1.ReportingMTAName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ExtendedCertificates_PDU, + { "ExtendedCertificates", "p1.ExtendedCertificates", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_DLExemptedRecipients_PDU, + { "DLExemptedRecipients", "p1.DLExemptedRecipients", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_CertificateSelectors_PDU, + { "CertificateSelectors", "p1.CertificateSelectors", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_Content_PDU, + { "Content", "p1.Content", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MTSIdentifier_PDU, + { "MTSIdentifier", "p1.MTSIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ORName_PDU, + { "ORName", "p1.ORName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ORAddress_PDU, + { "ORAddress", "p1.ORAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_CommonName_PDU, + { "CommonName", "p1.CommonName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_TeletexCommonName_PDU, + { "TeletexCommonName", "p1.TeletexCommonName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalCommonName_PDU, + { "UniversalCommonName", "p1.UniversalCommonName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_TeletexOrganizationName_PDU, + { "TeletexOrganizationName", "p1.TeletexOrganizationName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalOrganizationName_PDU, + { "UniversalOrganizationName", "p1.UniversalOrganizationName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_TeletexPersonalName_PDU, + { "TeletexPersonalName", "p1.TeletexPersonalName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPersonalName_PDU, + { "UniversalPersonalName", "p1.UniversalPersonalName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_TeletexOrganizationalUnitNames_PDU, + { "TeletexOrganizationalUnitNames", "p1.TeletexOrganizationalUnitNames", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalOrganizationalUnitNames_PDU, + { "UniversalOrganizationalUnitNames", "p1.UniversalOrganizationalUnitNames", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PDSName_PDU, + { "PDSName", "p1.PDSName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryCountryName_PDU, + { "PhysicalDeliveryCountryName", "p1.PhysicalDeliveryCountryName", + FT_UINT32, BASE_DEC, VALS(p1_PhysicalDeliveryCountryName_vals), 0, + NULL, HFILL }}, + { &hf_p1_PostalCode_PDU, + { "PostalCode", "p1.PostalCode", + FT_UINT32, BASE_DEC, VALS(p1_PostalCode_vals), 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryOfficeName_PDU, + { "PhysicalDeliveryOfficeName", "p1.PhysicalDeliveryOfficeName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPhysicalDeliveryOfficeName_PDU, + { "UniversalPhysicalDeliveryOfficeName", "p1.UniversalPhysicalDeliveryOfficeName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryOfficeNumber_PDU, + { "PhysicalDeliveryOfficeNumber", "p1.PhysicalDeliveryOfficeNumber", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPhysicalDeliveryOfficeNumber_PDU, + { "UniversalPhysicalDeliveryOfficeNumber", "p1.UniversalPhysicalDeliveryOfficeNumber", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ExtensionORAddressComponents_PDU, + { "ExtensionORAddressComponents", "p1.ExtensionORAddressComponents", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalExtensionORAddressComponents_PDU, + { "UniversalExtensionORAddressComponents", "p1.UniversalExtensionORAddressComponents", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryPersonalName_PDU, + { "PhysicalDeliveryPersonalName", "p1.PhysicalDeliveryPersonalName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPhysicalDeliveryPersonalName_PDU, + { "UniversalPhysicalDeliveryPersonalName", "p1.UniversalPhysicalDeliveryPersonalName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryOrganizationName_PDU, + { "PhysicalDeliveryOrganizationName", "p1.PhysicalDeliveryOrganizationName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPhysicalDeliveryOrganizationName_PDU, + { "UniversalPhysicalDeliveryOrganizationName", "p1.UniversalPhysicalDeliveryOrganizationName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ExtensionPhysicalDeliveryAddressComponents_PDU, + { "ExtensionPhysicalDeliveryAddressComponents", "p1.ExtensionPhysicalDeliveryAddressComponents", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalExtensionPhysicalDeliveryAddressComponents_PDU, + { "UniversalExtensionPhysicalDeliveryAddressComponents", "p1.UniversalExtensionPhysicalDeliveryAddressComponents", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UnformattedPostalAddress_PDU, + { "UnformattedPostalAddress", "p1.UnformattedPostalAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalUnformattedPostalAddress_PDU, + { "UniversalUnformattedPostalAddress", "p1.UniversalUnformattedPostalAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_StreetAddress_PDU, + { "StreetAddress", "p1.StreetAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalStreetAddress_PDU, + { "UniversalStreetAddress", "p1.UniversalStreetAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PostOfficeBoxAddress_PDU, + { "PostOfficeBoxAddress", "p1.PostOfficeBoxAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPostOfficeBoxAddress_PDU, + { "UniversalPostOfficeBoxAddress", "p1.UniversalPostOfficeBoxAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_PosteRestanteAddress_PDU, + { "PosteRestanteAddress", "p1.PosteRestanteAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalPosteRestanteAddress_PDU, + { "UniversalPosteRestanteAddress", "p1.UniversalPosteRestanteAddress", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniquePostalName_PDU, + { "UniquePostalName", "p1.UniquePostalName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalUniquePostalName_PDU, + { "UniversalUniquePostalName", "p1.UniversalUniquePostalName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_LocalPostalAttributes_PDU, + { "LocalPostalAttributes", "p1.LocalPostalAttributes", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalLocalPostalAttributes_PDU, + { "UniversalLocalPostalAttributes", "p1.UniversalLocalPostalAttributes", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ExtendedNetworkAddress_PDU, + { "ExtendedNetworkAddress", "p1.ExtendedNetworkAddress", + FT_UINT32, BASE_DEC, VALS(p1_ExtendedNetworkAddress_vals), 0, + NULL, HFILL }}, + { &hf_p1_TerminalType_PDU, + { "TerminalType", "p1.TerminalType", + FT_UINT32, BASE_DEC, VALS(p1_TerminalType_vals), 0, + NULL, HFILL }}, + { &hf_p1_TeletexDomainDefinedAttributes_PDU, + { "TeletexDomainDefinedAttributes", "p1.TeletexDomainDefinedAttributes", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalDomainDefinedAttributes_PDU, + { "UniversalDomainDefinedAttributes", "p1.UniversalDomainDefinedAttributes", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_ExtendedEncodedInformationType_PDU, + { "ExtendedEncodedInformationType", "p1.ExtendedEncodedInformationType", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MTANameAndOptionalGDI_PDU, + { "MTANameAndOptionalGDI", "p1.MTANameAndOptionalGDI", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_AsymmetricToken_PDU, + { "AsymmetricToken", "p1.AsymmetricToken", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_BindTokenSignedData_PDU, + { "BindTokenSignedData", "p1.BindTokenSignedData", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageTokenSignedData_PDU, + { "MessageTokenSignedData", "p1.MessageTokenSignedData", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_MessageTokenEncryptedData_PDU, + { "MessageTokenEncryptedData", "p1.MessageTokenEncryptedData", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_BindTokenEncryptedData_PDU, + { "BindTokenEncryptedData", "p1.BindTokenEncryptedData", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_SecurityClassification_PDU, + { "SecurityClassification", "p1.SecurityClassification", + FT_UINT32, BASE_DEC, VALS(p1_SecurityClassification_vals), 0, + NULL, HFILL }}, + { &hf_p1_unauthenticated, + { "unauthenticated", "p1.unauthenticated", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_authenticated_argument, + { "authenticated", "p1.authenticated", + FT_NONE, BASE_NONE, NULL, 0, + "AuthenticatedArgument", HFILL }}, + { &hf_p1_authenticated_initiator_name, + { "initiator-name", "p1.initiator_name", + FT_STRING, BASE_NONE, NULL, 0, + "MTAName", HFILL }}, + { &hf_p1_initiator_credentials, + { "initiator-credentials", "p1.initiator_credentials", + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, + "InitiatorCredentials", HFILL }}, + { &hf_p1_security_context, + { "security-context", "p1.security_context", + FT_UINT32, BASE_DEC, NULL, 0, + "SecurityContext", HFILL }}, + { &hf_p1_authenticated_result, + { "authenticated", "p1.authenticated", + FT_NONE, BASE_NONE, NULL, 0, + "AuthenticatedResult", HFILL }}, + { &hf_p1_authenticated_responder_name, + { "responder-name", "p1.responder_name", + FT_STRING, BASE_NONE, NULL, 0, + "MTAName", HFILL }}, + { &hf_p1_responder_credentials, + { "responder-credentials", "p1.responder_credentials", + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, + "ResponderCredentials", HFILL }}, + { &hf_p1_message, + { "message", "p1.message", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_probe, + { "probe", "p1.probe", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_report, + { "report", "p1.report", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_message_envelope, + { "envelope", "p1.envelope", + FT_NONE, BASE_NONE, NULL, 0, + "MessageTransferEnvelope", HFILL }}, + { &hf_p1_content, + { "content", "p1.content", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_report_envelope, + { "envelope", "p1.envelope", + FT_NONE, BASE_NONE, NULL, 0, + "ReportTransferEnvelope", HFILL }}, + { &hf_p1_report_content, + { "content", "p1.content", + FT_NONE, BASE_NONE, NULL, 0, + "ReportTransferContent", HFILL }}, + { &hf_p1_message_identifier, + { "message-identifier", "p1.message_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "MessageIdentifier", HFILL }}, + { &hf_p1_originator_name, + { "originator-name", "p1.originator_name", + FT_NONE, BASE_NONE, NULL, 0, + "MTAOriginatorName", HFILL }}, + { &hf_p1_original_encoded_information_types, + { "original-encoded-information-types", "p1.original_encoded_information_types", + FT_NONE, BASE_NONE, NULL, 0, + "OriginalEncodedInformationTypes", HFILL }}, + { &hf_p1_content_type, + { "content-type", "p1.content_type", + FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0, + "ContentType", HFILL }}, + { &hf_p1_content_identifier, + { "content-identifier", "p1.content_identifier", + FT_STRING, BASE_NONE, NULL, 0, + "ContentIdentifier", HFILL }}, + { &hf_p1_priority, + { "priority", "p1.priority", + FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0, + NULL, HFILL }}, + { &hf_p1_per_message_indicators, + { "per-message-indicators", "p1.per_message_indicators", + FT_BYTES, BASE_NONE, NULL, 0, + "PerMessageIndicators", HFILL }}, + { &hf_p1_deferred_delivery_time, + { "deferred-delivery-time", "p1.deferred_delivery_time", + FT_STRING, BASE_NONE, NULL, 0, + "DeferredDeliveryTime", HFILL }}, + { &hf_p1_per_domain_bilateral_information, + { "per-domain-bilateral-information", "p1.per_domain_bilateral_information", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation", HFILL }}, + { &hf_p1_per_domain_bilateral_information_item, + { "PerDomainBilateralInformation", "p1.PerDomainBilateralInformation", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_trace_information, + { "trace-information", "p1.trace_information", + FT_UINT32, BASE_DEC, NULL, 0, + "TraceInformation", HFILL }}, + { &hf_p1_extensions, + { "extensions", "p1.extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_ExtensionField", HFILL }}, + { &hf_p1_extensions_item, + { "ExtensionField", "p1.ExtensionField", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_recipient_name, + { "recipient-name", "p1.recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "MTARecipientName", HFILL }}, + { &hf_p1_originally_specified_recipient_number, + { "originally-specified-recipient-number", "p1.originally_specified_recipient_number", + FT_UINT32, BASE_DEC, NULL, 0, + "OriginallySpecifiedRecipientNumber", HFILL }}, + { &hf_p1_per_recipient_indicators, + { "per-recipient-indicators", "p1.per_recipient_indicators", + FT_BYTES, BASE_NONE, NULL, 0, + "PerRecipientIndicators", HFILL }}, + { &hf_p1_explicit_conversion, + { "explicit-conversion", "p1.explicit_conversion", + FT_UINT32, BASE_DEC, VALS(p1_ExplicitConversion_vals), 0, + "ExplicitConversion", HFILL }}, + { &hf_p1_probe_identifier, + { "probe-identifier", "p1.probe_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "ProbeIdentifier", HFILL }}, + { &hf_p1_content_length, + { "content-length", "p1.content_length", + FT_UINT32, BASE_DEC, NULL, 0, + "ContentLength", HFILL }}, + { &hf_p1_report_identifier, + { "report-identifier", "p1.report_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "ReportIdentifier", HFILL }}, + { &hf_p1_report_destination_name, + { "report-destination-name", "p1.report_destination_name", + FT_NONE, BASE_NONE, NULL, 0, + "ReportDestinationName", HFILL }}, + { &hf_p1_subject_identifier, + { "subject-identifier", "p1.subject_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "SubjectIdentifier", HFILL }}, + { &hf_p1_subject_intermediate_trace_information, + { "subject-intermediate-trace-information", "p1.subject_intermediate_trace_information", + FT_UINT32, BASE_DEC, NULL, 0, + "SubjectIntermediateTraceInformation", HFILL }}, + { &hf_p1_returned_content, + { "returned-content", "p1.returned_content", + FT_BYTES, BASE_NONE, NULL, 0, + "Content", HFILL }}, + { &hf_p1_additional_information, + { "additional-information", "p1.additional_information", + FT_NONE, BASE_NONE, NULL, 0, + "AdditionalInformation", HFILL }}, + { &hf_p1_mta_actual_recipient_name, + { "actual-recipient-name", "p1.actual_recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "MTAActualRecipientName", HFILL }}, + { &hf_p1_last_trace_information, + { "last-trace-information", "p1.last_trace_information", + FT_NONE, BASE_NONE, NULL, 0, + "LastTraceInformation", HFILL }}, + { &hf_p1_report_originally_intended_recipient_name, + { "originally-intended-recipient-name", "p1.originally_intended_recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "OriginallyIntendedRecipientName", HFILL }}, + { &hf_p1_supplementary_information, + { "supplementary-information", "p1.supplementary_information", + FT_STRING, BASE_NONE, NULL, 0, + "SupplementaryInformation", HFILL }}, + { &hf_p1_country_name, + { "country-name", "p1.country_name", + FT_UINT32, BASE_DEC, VALS(p1_CountryName_U_vals), 0, + "CountryName", HFILL }}, + { &hf_p1_bilateral_domain, + { "domain", "p1.domain", + FT_UINT32, BASE_DEC, VALS(p1_T_bilateral_domain_vals), 0, + "T_bilateral_domain", HFILL }}, + { &hf_p1_administration_domain_name, + { "administration-domain-name", "p1.administration_domain_name", + FT_UINT32, BASE_DEC, VALS(p1_AdministrationDomainName_U_vals), 0, + "AdministrationDomainName", HFILL }}, + { &hf_p1_private_domain, + { "private-domain", "p1.private_domain", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_private_domain_identifier, + { "private-domain-identifier", "p1.private_domain_identifier", + FT_UINT32, BASE_DEC, VALS(p1_PrivateDomainIdentifier_vals), 0, + "PrivateDomainIdentifier", HFILL }}, + { &hf_p1_bilateral_information, + { "bilateral-information", "p1.bilateral_information", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_arrival_time, + { "arrival-time", "p1.arrival_time", + FT_STRING, BASE_NONE, NULL, 0, + "ArrivalTime", HFILL }}, + { &hf_p1_converted_encoded_information_types, + { "converted-encoded-information-types", "p1.converted_encoded_information_types", + FT_NONE, BASE_NONE, NULL, 0, + "ConvertedEncodedInformationTypes", HFILL }}, + { &hf_p1_trace_report_type, + { "report-type", "p1.report_type", + FT_UINT32, BASE_DEC, VALS(p1_ReportType_vals), 0, + "ReportType", HFILL }}, + { &hf_p1_InternalTraceInformation_item, + { "InternalTraceInformationElement", "p1.InternalTraceInformationElement", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_global_domain_identifier, + { "global-domain-identifier", "p1.global_domain_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "GlobalDomainIdentifier", HFILL }}, + { &hf_p1_mta_name, + { "mta-name", "p1.mta_name", + FT_STRING, BASE_NONE, NULL, 0, + "MTAName", HFILL }}, + { &hf_p1_mta_supplied_information, + { "mta-supplied-information", "p1.mta_supplied_information", + FT_NONE, BASE_NONE, NULL, 0, + "MTASuppliedInformation", HFILL }}, + { &hf_p1__untag_item, + { "TraceInformationElement", "p1.TraceInformationElement", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_domain_supplied_information, + { "domain-supplied-information", "p1.domain_supplied_information", + FT_NONE, BASE_NONE, NULL, 0, + "DomainSuppliedInformation", HFILL }}, + { &hf_p1_deferred_time, + { "deferred-time", "p1.deferred_time", + FT_STRING, BASE_NONE, NULL, 0, + "DeferredTime", HFILL }}, + { &hf_p1_other_actions, + { "other-actions", "p1.other_actions", + FT_BYTES, BASE_NONE, NULL, 0, + "OtherActions", HFILL }}, + { &hf_p1_initiator_name, + { "initiator-name", "p1.initiator_name", + FT_UINT32, BASE_DEC, VALS(p1_ObjectName_vals), 0, + "ObjectName", HFILL }}, + { &hf_p1_messages_waiting, + { "messages-waiting", "p1.messages_waiting", + FT_NONE, BASE_NONE, NULL, 0, + "MessagesWaiting", HFILL }}, + { &hf_p1_responder_name, + { "responder-name", "p1.responder_name", + FT_UINT32, BASE_DEC, VALS(p1_ObjectName_vals), 0, + "ObjectName", HFILL }}, + { &hf_p1_user_agent, + { "user-agent", "p1.user_agent", + FT_NONE, BASE_NONE, NULL, 0, + "ORAddressAndOptionalDirectoryName", HFILL }}, + { &hf_p1_mTA, + { "mTA", "p1.mTA", + FT_STRING, BASE_NONE, NULL, 0, + "MTAName", HFILL }}, + { &hf_p1_message_store, + { "message-store", "p1.message_store", + FT_NONE, BASE_NONE, NULL, 0, + "ORAddressAndOptionalDirectoryName", HFILL }}, + { &hf_p1_urgent, + { "urgent", "p1.urgent", + FT_NONE, BASE_NONE, NULL, 0, + "DeliveryQueue", HFILL }}, + { &hf_p1_normal, + { "normal", "p1.normal", + FT_NONE, BASE_NONE, NULL, 0, + "DeliveryQueue", HFILL }}, + { &hf_p1_non_urgent, + { "non-urgent", "p1.non_urgent", + FT_NONE, BASE_NONE, NULL, 0, + "DeliveryQueue", HFILL }}, + { &hf_p1_messages, + { "messages", "p1.messages", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_ub_queue_size", HFILL }}, + { &hf_p1_delivery_queue_octets, + { "octets", "p1.octets", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_ub_content_length", HFILL }}, + { &hf_p1_simple, + { "simple", "p1.simple", + FT_UINT32, BASE_DEC, VALS(p1_Password_vals), 0, + "Password", HFILL }}, + { &hf_p1_strong, + { "strong", "p1.strong", + FT_NONE, BASE_NONE, NULL, 0, + "StrongCredentials", HFILL }}, + { &hf_p1_protected, + { "protected", "p1.protected", + FT_NONE, BASE_NONE, NULL, 0, + "ProtectedPassword", HFILL }}, + { &hf_p1_ia5_string, + { "ia5-string", "p1.ia5_string", + FT_STRING, BASE_NONE, NULL, 0, + "IA5String_SIZE_0_ub_password_length", HFILL }}, + { &hf_p1_octet_string, + { "octet-string", "p1.octet_string", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_0_ub_password_length", HFILL }}, + { &hf_p1_bind_token, + { "bind-token", "p1.bind_token", + FT_NONE, BASE_NONE, NULL, 0, + "Token", HFILL }}, + { &hf_p1_certificate, + { "certificate", "p1.certificate", + FT_NONE, BASE_NONE, NULL, 0, + "Certificates", HFILL }}, + { &hf_p1_certificate_selector, + { "certificate-selector", "p1.certificate_selector", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p1_signature, + { "signature", "p1.signature", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_time1, + { "time1", "p1.time1", + FT_STRING, BASE_NONE, NULL, 0, + "UTCTime", HFILL }}, + { &hf_p1_time2, + { "time2", "p1.time2", + FT_STRING, BASE_NONE, NULL, 0, + "UTCTime", HFILL }}, + { &hf_p1_random1, + { "random1", "p1.random1", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p1_random2, + { "random2", "p1.random2", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p1_algorithmIdentifier, + { "algorithmIdentifier", "p1.algorithmIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_encrypted, + { "encrypted", "p1.encrypted", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p1_SecurityContext_item, + { "SecurityLabel", "p1.SecurityLabel", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_message_submission_envelope, + { "envelope", "p1.envelope", + FT_NONE, BASE_NONE, NULL, 0, + "MessageSubmissionEnvelope", HFILL }}, + { &hf_p1_message_submission_identifier, + { "message-submission-identifier", "p1.message_submission_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "MessageSubmissionIdentifier", HFILL }}, + { &hf_p1_message_submission_time, + { "message-submission-time", "p1.message_submission_time", + FT_STRING, BASE_NONE, NULL, 0, + "MessageSubmissionTime", HFILL }}, + { &hf_p1_probe_submission_identifier, + { "probe-submission-identifier", "p1.probe_submission_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "ProbeSubmissionIdentifier", HFILL }}, + { &hf_p1_probe_submission_time, + { "probe-submission-time", "p1.probe_submission_time", + FT_STRING, BASE_NONE, NULL, 0, + "ProbeSubmissionTime", HFILL }}, + { &hf_p1_ImproperlySpecifiedRecipients_item, + { "RecipientName", "p1.RecipientName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_waiting_operations, + { "waiting-operations", "p1.waiting_operations", + FT_BYTES, BASE_NONE, NULL, 0, + "Operations", HFILL }}, + { &hf_p1_waiting_messages, + { "waiting-messages", "p1.waiting_messages", + FT_BYTES, BASE_NONE, NULL, 0, + "WaitingMessages", HFILL }}, + { &hf_p1_waiting_content_types, + { "waiting-content-types", "p1.waiting_content_types", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_0_ub_content_types_OF_ContentType", HFILL }}, + { &hf_p1_waiting_content_types_item, + { "ContentType", "p1.ContentType", + FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0, + NULL, HFILL }}, + { &hf_p1_waiting_encoded_information_types, + { "waiting-encoded-information-types", "p1.waiting_encoded_information_types", + FT_NONE, BASE_NONE, NULL, 0, + "EncodedInformationTypes", HFILL }}, + { &hf_p1_recipient_certificate, + { "recipient-certificate", "p1.recipient_certificate", + FT_NONE, BASE_NONE, NULL, 0, + "RecipientCertificate", HFILL }}, + { &hf_p1_proof_of_delivery, + { "proof-of-delivery", "p1.proof_of_delivery", + FT_NONE, BASE_NONE, NULL, 0, + "ProofOfDelivery", HFILL }}, + { &hf_p1_empty_result, + { "empty-result", "p1.empty_result", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_max_extensions, + { "extensions", "p1.extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_1_MAX_OF_ExtensionField", HFILL }}, + { &hf_p1_max_extensions_item, + { "ExtensionField", "p1.ExtensionField", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_restrict, + { "restrict", "p1.restrict", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_p1_permissible_operations, + { "permissible-operations", "p1.permissible_operations", + FT_BYTES, BASE_NONE, NULL, 0, + "Operations", HFILL }}, + { &hf_p1_permissible_maximum_content_length, + { "permissible-maximum-content-length", "p1.permissible_maximum_content_length", + FT_UINT32, BASE_DEC, NULL, 0, + "ContentLength", HFILL }}, + { &hf_p1_permissible_lowest_priority, + { "permissible-lowest-priority", "p1.permissible_lowest_priority", + FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0, + "Priority", HFILL }}, + { &hf_p1_permissible_content_types, + { "permissible-content-types", "p1.permissible_content_types", + FT_UINT32, BASE_DEC, NULL, 0, + "ContentTypes", HFILL }}, + { &hf_p1_permissible_encoded_information_types, + { "permissible-encoded-information-types", "p1.permissible_encoded_information_types", + FT_NONE, BASE_NONE, NULL, 0, + "PermissibleEncodedInformationTypes", HFILL }}, + { &hf_p1_permissible_security_context, + { "permissible-security-context", "p1.permissible_security_context", + FT_UINT32, BASE_DEC, NULL, 0, + "SecurityContext", HFILL }}, + { &hf_p1_refused_argument, + { "refused-argument", "p1.refused_argument", + FT_UINT32, BASE_DEC, VALS(p1_T_refused_argument_vals), 0, + NULL, HFILL }}, + { &hf_p1_built_in_argument, + { "built-in-argument", "p1.built_in_argument", + FT_UINT32, BASE_DEC, VALS(p1_RefusedArgument_vals), 0, + "RefusedArgument", HFILL }}, + { &hf_p1_refused_extension, + { "refused-extension", "p1.refused_extension", + FT_UINT32, BASE_DEC, VALS(p1_ExtensionType_vals), 0, + NULL, HFILL }}, + { &hf_p1_refusal_reason, + { "refusal-reason", "p1.refusal_reason", + FT_UINT32, BASE_DEC, VALS(p1_RefusalReason_vals), 0, + "RefusalReason", HFILL }}, + { &hf_p1_user_name, + { "user-name", "p1.user_name", + FT_NONE, BASE_NONE, NULL, 0, + "UserName", HFILL }}, + { &hf_p1_user_address, + { "user-address", "p1.user_address", + FT_UINT32, BASE_DEC, VALS(p1_UserAddress_vals), 0, + "UserAddress", HFILL }}, + { &hf_p1_deliverable_class, + { "deliverable-class", "p1.deliverable_class", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass", HFILL }}, + { &hf_p1_deliverable_class_item, + { "DeliverableClass", "p1.DeliverableClass", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_default_delivery_controls, + { "default-delivery-controls", "p1.default_delivery_controls", + FT_NONE, BASE_NONE, NULL, 0, + "DefaultDeliveryControls", HFILL }}, + { &hf_p1_redirections, + { "redirections", "p1.redirections", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_restricted_delivery, + { "restricted-delivery", "p1.restricted_delivery", + FT_UINT32, BASE_DEC, NULL, 0, + "RestrictedDelivery", HFILL }}, + { &hf_p1_retrieve_registrations, + { "retrieve-registrations", "p1.retrieve_registrations", + FT_NONE, BASE_NONE, NULL, 0, + "RegistrationTypes", HFILL }}, + { &hf_p1_non_empty_result, + { "non-empty-result", "p1.non_empty_result", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_registered_information, + { "registered-information", "p1.registered_information", + FT_NONE, BASE_NONE, NULL, 0, + "RegisterArgument", HFILL }}, + { &hf_p1_old_credentials, + { "old-credentials", "p1.old_credentials", + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, + "Credentials", HFILL }}, + { &hf_p1_new_credentials, + { "new-credentials", "p1.new_credentials", + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, + "Credentials", HFILL }}, + { &hf_p1_x121, + { "x121", "p1.x121", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_x121_address, + { "x121-address", "p1.x121_address", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_tsap_id, + { "tsap-id", "p1.tsap_id", + FT_STRING, BASE_NONE, NULL, 0, + "PrintableString_SIZE_1_ub_tsap_id_length", HFILL }}, + { &hf_p1_presentation, + { "presentation", "p1.presentation", + FT_NONE, BASE_NONE, NULL, 0, + "PSAPAddress", HFILL }}, + { &hf_p1_Redirections_item, + { "RecipientRedirection", "p1.RecipientRedirection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_redirection_classes, + { "redirection-classes", "p1.redirection_classes", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass", HFILL }}, + { &hf_p1_redirection_classes_item, + { "RedirectionClass", "p1.RedirectionClass", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_recipient_assigned_alternate_recipient, + { "recipient-assigned-alternate-recipient", "p1.recipient_assigned_alternate_recipient", + FT_NONE, BASE_NONE, NULL, 0, + "RecipientAssignedAlternateRecipient", HFILL }}, + { &hf_p1_content_types, + { "content-types", "p1.content_types", + FT_UINT32, BASE_DEC, NULL, 0, + "ContentTypes", HFILL }}, + { &hf_p1_maximum_content_length, + { "maximum-content-length", "p1.maximum_content_length", + FT_UINT32, BASE_DEC, NULL, 0, + "ContentLength", HFILL }}, + { &hf_p1_encoded_information_types_constraints, + { "encoded-information-types-constraints", "p1.encoded_information_types_constraints", + FT_NONE, BASE_NONE, NULL, 0, + "EncodedInformationTypesConstraints", HFILL }}, + { &hf_p1_security_labels, + { "security-labels", "p1.security_labels", + FT_UINT32, BASE_DEC, NULL, 0, + "SecurityContext", HFILL }}, + { &hf_p1_class_priority, + { "priority", "p1.priority", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_Priority", HFILL }}, + { &hf_p1_class_priority_item, + { "Priority", "p1.Priority", + FT_UINT32, BASE_DEC, VALS(p1_Priority_U_vals), 0, + NULL, HFILL }}, + { &hf_p1_objects, + { "objects", "p1.objects", + FT_UINT32, BASE_DEC, VALS(p1_T_objects_vals), 0, + NULL, HFILL }}, + { &hf_p1_applies_only_to, + { "applies-only-to", "p1.applies_only_to", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_OF_Restriction", HFILL }}, + { &hf_p1_applies_only_to_item, + { "Restriction", "p1.Restriction", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_unacceptable_eits, + { "unacceptable-eits", "p1.unacceptable_eits", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtendedEncodedInformationTypes", HFILL }}, + { &hf_p1_acceptable_eits, + { "acceptable-eits", "p1.acceptable_eits", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtendedEncodedInformationTypes", HFILL }}, + { &hf_p1_exclusively_acceptable_eits, + { "exclusively-acceptable-eits", "p1.exclusively_acceptable_eits", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtendedEncodedInformationTypes", HFILL }}, + { &hf_p1_RestrictedDelivery_item, + { "Restriction", "p1.Restriction", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_permitted, + { "permitted", "p1.permitted", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_p1_source_type, + { "source-type", "p1.source_type", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_source_name, + { "source-name", "p1.source_name", + FT_UINT32, BASE_DEC, VALS(p1_ExactOrPattern_vals), 0, + "ExactOrPattern", HFILL }}, + { &hf_p1_exact_match, + { "exact-match", "p1.exact_match", + FT_NONE, BASE_NONE, NULL, 0, + "ORName", HFILL }}, + { &hf_p1_pattern_match, + { "pattern-match", "p1.pattern_match", + FT_NONE, BASE_NONE, NULL, 0, + "ORName", HFILL }}, + { &hf_p1_standard_parameters, + { "standard-parameters", "p1.standard_parameters", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_type_extensions, + { "extensions", "p1.extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "T_type_extensions", HFILL }}, + { &hf_p1_type_extensions_item, + { "extensions item", "p1.extensions_item", + FT_UINT32, BASE_DEC, VALS(p1_ExtensionType_vals), 0, + "T_type_extensions_item", HFILL }}, + { &hf_p1_originator_name_01, + { "originator-name", "p1.originator_name", + FT_NONE, BASE_NONE, NULL, 0, + "OriginatorName", HFILL }}, + { &hf_p1_submission_recipient_name, + { "recipient-name", "p1.recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "RecipientName", HFILL }}, + { &hf_p1_originator_report_request, + { "originator-report-request", "p1.originator_report_request", + FT_BYTES, BASE_NONE, NULL, 0, + "OriginatorReportRequest", HFILL }}, + { &hf_p1_probe_recipient_name, + { "recipient-name", "p1.recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "RecipientName", HFILL }}, + { &hf_p1_message_delivery_identifier, + { "message-delivery-identifier", "p1.message_delivery_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "MessageDeliveryIdentifier", HFILL }}, + { &hf_p1_message_delivery_time, + { "message-delivery-time", "p1.message_delivery_time", + FT_STRING, BASE_NONE, NULL, 0, + "MessageDeliveryTime", HFILL }}, + { &hf_p1_other_fields, + { "other-fields", "p1.other_fields", + FT_NONE, BASE_NONE, NULL, 0, + "OtherMessageDeliveryFields", HFILL }}, + { &hf_p1_delivered_content_type, + { "content-type", "p1.content_type", + FT_UINT32, BASE_DEC, VALS(p1_DeliveredContentType_vals), 0, + "DeliveredContentType", HFILL }}, + { &hf_p1_delivered_originator_name, + { "originator-name", "p1.originator_name", + FT_NONE, BASE_NONE, NULL, 0, + "DeliveredOriginatorName", HFILL }}, + { &hf_p1_delivery_flags, + { "delivery-flags", "p1.delivery_flags", + FT_BYTES, BASE_NONE, NULL, 0, + "DeliveryFlags", HFILL }}, + { &hf_p1_other_recipient_names, + { "other-recipient-names", "p1.other_recipient_names", + FT_UINT32, BASE_DEC, NULL, 0, + "OtherRecipientNames", HFILL }}, + { &hf_p1_this_recipient_name, + { "this-recipient-name", "p1.this_recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "ThisRecipientName", HFILL }}, + { &hf_p1_originally_intended_recipient_name, + { "originally-intended-recipient-name", "p1.originally_intended_recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "OriginallyIntendedRecipientName", HFILL }}, + { &hf_p1_subject_submission_identifier, + { "subject-submission-identifier", "p1.subject_submission_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "SubjectSubmissionIdentifier", HFILL }}, + { &hf_p1_actual_recipient_name, + { "actual-recipient-name", "p1.actual_recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "ActualRecipientName", HFILL }}, + { &hf_p1_delivery_report_type, + { "report-type", "p1.report_type", + FT_UINT32, BASE_DEC, VALS(p1_ReportType_vals), 0, + "ReportType", HFILL }}, + { &hf_p1_delivery, + { "delivery", "p1.delivery", + FT_NONE, BASE_NONE, NULL, 0, + "DeliveryReport", HFILL }}, + { &hf_p1_non_delivery, + { "non-delivery", "p1.non_delivery", + FT_NONE, BASE_NONE, NULL, 0, + "NonDeliveryReport", HFILL }}, + { &hf_p1_type_of_MTS_user, + { "type-of-MTS-user", "p1.type_of_MTS_user", + FT_UINT32, BASE_DEC, VALS(p1_TypeOfMTSUser_vals), 0, + "TypeOfMTSUser", HFILL }}, + { &hf_p1_non_delivery_reason_code, + { "non-delivery-reason-code", "p1.non_delivery_reason_code", + FT_UINT32, BASE_DEC, VALS(p1_NonDeliveryReasonCode_vals), 0, + "NonDeliveryReasonCode", HFILL }}, + { &hf_p1_non_delivery_diagnostic_code, + { "non-delivery-diagnostic-code", "p1.non_delivery_diagnostic_code", + FT_UINT32, BASE_DEC, VALS(p1_NonDeliveryDiagnosticCode_vals), 0, + "NonDeliveryDiagnosticCode", HFILL }}, + { &hf_p1_ContentTypes_item, + { "ContentType", "p1.ContentType", + FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0, + NULL, HFILL }}, + { &hf_p1_built_in, + { "built-in", "p1.built_in", + FT_UINT32, BASE_DEC, VALS(p1_BuiltInContentType_U_vals), 0, + "BuiltInContentType", HFILL }}, + { &hf_p1_extended, + { "extended", "p1.extended", + FT_OID, BASE_NONE, NULL, 0, + "ExtendedContentType", HFILL }}, + { &hf_p1_OtherRecipientNames_item, + { "OtherRecipientName", "p1.OtherRecipientName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_standard_extension, + { "standard-extension", "p1.standard_extension", + FT_INT32, BASE_DEC, VALS(p1_StandardExtension_vals), 0, + "StandardExtension", HFILL }}, + { &hf_p1_private_extension, + { "private-extension", "p1.private_extension", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_extension_type, + { "type", "p1.type", + FT_UINT32, BASE_DEC, VALS(p1_ExtensionType_vals), 0, + "ExtensionType", HFILL }}, + { &hf_p1_criticality, + { "criticality", "p1.criticality", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_extension_value, + { "value", "p1.value", + FT_NONE, BASE_NONE, NULL, 0, + "ExtensionValue", HFILL }}, + { &hf_p1_RequestedDeliveryMethod_item, + { "RequestedDeliveryMethod item", "p1.RequestedDeliveryMethod_item", + FT_UINT32, BASE_DEC, VALS(p1_RequestedDeliveryMethod_item_vals), 0, + NULL, HFILL }}, + { &hf_p1_ia5text, + { "ia5text", "p1.ia5text", + FT_STRING, BASE_NONE, NULL, 0, + "IA5String", HFILL }}, + { &hf_p1_octets, + { "octets", "p1.octets", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_p1_RedirectionHistory_item, + { "Redirection", "p1.Redirection", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_intended_recipient_name, + { "intended-recipient-name", "p1.intended_recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "IntendedRecipientName", HFILL }}, + { &hf_p1_redirection_reason, + { "redirection-reason", "p1.redirection_reason", + FT_UINT32, BASE_DEC, VALS(p1_RedirectionReason_vals), 0, + "RedirectionReason", HFILL }}, + { &hf_p1_intended_recipient, + { "intended-recipient", "p1.intended_recipient", + FT_NONE, BASE_NONE, NULL, 0, + "ORAddressAndOptionalDirectoryName", HFILL }}, + { &hf_p1_redirection_time, + { "redirection-time", "p1.redirection_time", + FT_STRING, BASE_NONE, NULL, 0, + "Time", HFILL }}, + { &hf_p1_DLExpansionHistory_item, + { "DLExpansion", "p1.DLExpansion", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_dl, + { "dl", "p1.dl", + FT_NONE, BASE_NONE, NULL, 0, + "ORAddressAndOptionalDirectoryName", HFILL }}, + { &hf_p1_dl_expansion_time, + { "dl-expansion-time", "p1.dl_expansion_time", + FT_STRING, BASE_NONE, NULL, 0, + "Time", HFILL }}, + { &hf_p1_OriginatorAndDLExpansionHistory_item, + { "OriginatorAndDLExpansion", "p1.OriginatorAndDLExpansion", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_originator_or_dl_name, + { "originator-or-dl-name", "p1.originator_or_dl_name", + FT_NONE, BASE_NONE, NULL, 0, + "ORAddressAndOptionalDirectoryName", HFILL }}, + { &hf_p1_origination_or_expansion_time, + { "origination-or-expansion-time", "p1.origination_or_expansion_time", + FT_STRING, BASE_NONE, NULL, 0, + "Time", HFILL }}, + { &hf_p1_report_type, + { "report-type", "p1.report_type", + FT_UINT32, BASE_DEC, VALS(p1_T_report_type_vals), 0, + "T_report_type", HFILL }}, + { &hf_p1_report_type_delivery, + { "delivery", "p1.delivery", + FT_NONE, BASE_NONE, NULL, 0, + "PerRecipientDeliveryReportFields", HFILL }}, + { &hf_p1_non_delivery_report, + { "non-delivery", "p1.non_delivery", + FT_NONE, BASE_NONE, NULL, 0, + "PerRecipientNonDeliveryReportFields", HFILL }}, + { &hf_p1_domain, + { "domain", "p1.domain", + FT_NONE, BASE_NONE, NULL, 0, + "GlobalDomainIdentifier", HFILL }}, + { &hf_p1_mta_directory_name, + { "mta-directory-name", "p1.mta_directory_name", + FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0, + "Name", HFILL }}, + { &hf_p1_ExtendedCertificates_item, + { "ExtendedCertificate", "p1.ExtendedCertificate", + FT_UINT32, BASE_DEC, VALS(p1_ExtendedCertificate_vals), 0, + NULL, HFILL }}, + { &hf_p1_directory_entry, + { "directory-entry", "p1.directory_entry", + FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0, + "Name", HFILL }}, + { &hf_p1_DLExemptedRecipients_item, + { "ORAddressAndOrDirectoryName", "p1.ORAddressAndOrDirectoryName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_encryption_recipient, + { "encryption-recipient", "p1.encryption_recipient", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p1_encryption_originator, + { "encryption-originator", "p1.encryption_originator", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p1_selectors_content_integrity_check, + { "content-integrity-check", "p1.content_integrity_check", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p1_token_signature, + { "token-signature", "p1.token_signature", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p1_message_origin_authentication, + { "message-origin-authentication", "p1.message_origin_authentication", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p1_local_identifier, + { "local-identifier", "p1.local_identifier", + FT_STRING, BASE_NONE, NULL, 0, + "LocalIdentifier", HFILL }}, + { &hf_p1_numeric_private_domain_identifier, + { "numeric", "p1.numeric", + FT_STRING, BASE_NONE, NULL, 0, + "T_numeric_private_domain_identifier", HFILL }}, + { &hf_p1_printable_private_domain_identifier, + { "printable", "p1.printable", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_private_domain_identifier", HFILL }}, + { &hf_p1_built_in_standard_attributes, + { "built-in-standard-attributes", "p1.built_in_standard_attributes", + FT_NONE, BASE_NONE, NULL, 0, + "BuiltInStandardAttributes", HFILL }}, + { &hf_p1_built_in_domain_defined_attributes, + { "built-in-domain-defined-attributes", "p1.built_in_domain_defined_attributes", + FT_UINT32, BASE_DEC, NULL, 0, + "BuiltInDomainDefinedAttributes", HFILL }}, + { &hf_p1_extension_attributes, + { "extension-attributes", "p1.extension_attributes", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtensionAttributes", HFILL }}, + { &hf_p1_network_address, + { "network-address", "p1.network_address", + FT_STRING, BASE_NONE, NULL, 0, + "NetworkAddress", HFILL }}, + { &hf_p1_terminal_identifier, + { "terminal-identifier", "p1.terminal_identifier", + FT_STRING, BASE_NONE, NULL, 0, + "TerminalIdentifier", HFILL }}, + { &hf_p1_private_domain_name, + { "private-domain-name", "p1.private_domain_name", + FT_UINT32, BASE_DEC, VALS(p1_PrivateDomainName_vals), 0, + "PrivateDomainName", HFILL }}, + { &hf_p1_organization_name, + { "organization-name", "p1.organization_name", + FT_STRING, BASE_NONE, NULL, 0, + "OrganizationName", HFILL }}, + { &hf_p1_numeric_user_identifier, + { "numeric-user-identifier", "p1.numeric_user_identifier", + FT_STRING, BASE_NONE, NULL, 0, + "NumericUserIdentifier", HFILL }}, + { &hf_p1_personal_name, + { "personal-name", "p1.personal_name", + FT_NONE, BASE_NONE, NULL, 0, + "PersonalName", HFILL }}, + { &hf_p1_organizational_unit_names, + { "organizational-unit-names", "p1.organizational_unit_names", + FT_UINT32, BASE_DEC, NULL, 0, + "OrganizationalUnitNames", HFILL }}, + { &hf_p1_x121_dcc_code, + { "x121-dcc-code", "p1.x121_dcc_code", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_iso_3166_alpha2_code, + { "iso-3166-alpha2-code", "p1.iso_3166_alpha2_code", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_numeric, + { "numeric", "p1.numeric", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_printable, + { "printable", "p1.printable", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_numeric_private_domain_name, + { "numeric", "p1.numeric", + FT_STRING, BASE_NONE, NULL, 0, + "T_numeric_private_domain_name", HFILL }}, + { &hf_p1_printable_private_domain_name, + { "printable", "p1.printable", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_private_domain_name", HFILL }}, + { &hf_p1_printable_surname, + { "surname", "p1.surname", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_surname", HFILL }}, + { &hf_p1_printable_given_name, + { "given-name", "p1.given_name", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_given_name", HFILL }}, + { &hf_p1_printable_initials, + { "initials", "p1.initials", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_initials", HFILL }}, + { &hf_p1_printable_generation_qualifier, + { "generation-qualifier", "p1.generation_qualifier", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_generation_qualifier", HFILL }}, + { &hf_p1_OrganizationalUnitNames_item, + { "OrganizationalUnitName", "p1.OrganizationalUnitName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_BuiltInDomainDefinedAttributes_item, + { "BuiltInDomainDefinedAttribute", "p1.BuiltInDomainDefinedAttribute", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_printable_type, + { "type", "p1.type", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_type", HFILL }}, + { &hf_p1_printable_value, + { "value", "p1.value", + FT_STRING, BASE_NONE, NULL, 0, + "T_printable_value", HFILL }}, + { &hf_p1_ExtensionAttributes_item, + { "ExtensionAttribute", "p1.ExtensionAttribute", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_extension_attribute_type, + { "extension-attribute-type", "p1.extension_attribute_type", + FT_INT32, BASE_DEC, VALS(p1_ExtensionAttributeType_vals), 0, + "ExtensionAttributeType", HFILL }}, + { &hf_p1_extension_attribute_value, + { "extension-attribute-value", "p1.extension_attribute_value", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_teletex_surname, + { "surname", "p1.surname", + FT_STRING, BASE_NONE, NULL, 0, + "T_teletex_surname", HFILL }}, + { &hf_p1_teletex_given_name, + { "given-name", "p1.given_name", + FT_STRING, BASE_NONE, NULL, 0, + "T_teletex_given_name", HFILL }}, + { &hf_p1_teletex_initials, + { "initials", "p1.initials", + FT_STRING, BASE_NONE, NULL, 0, + "T_teletex_initials", HFILL }}, + { &hf_p1_teletex_generation_qualifier, + { "generation-qualifier", "p1.generation_qualifier", + FT_STRING, BASE_NONE, NULL, 0, + "T_teletex_generation_qualifier", HFILL }}, + { &hf_p1_universal_surname, + { "surname", "p1.surname", + FT_NONE, BASE_NONE, NULL, 0, + "UniversalOrBMPString", HFILL }}, + { &hf_p1_universal_given_name, + { "given-name", "p1.given_name", + FT_NONE, BASE_NONE, NULL, 0, + "UniversalOrBMPString", HFILL }}, + { &hf_p1_universal_initials, + { "initials", "p1.initials", + FT_NONE, BASE_NONE, NULL, 0, + "UniversalOrBMPString", HFILL }}, + { &hf_p1_universal_generation_qualifier, + { "generation-qualifier", "p1.generation_qualifier", + FT_NONE, BASE_NONE, NULL, 0, + "UniversalOrBMPString", HFILL }}, + { &hf_p1_TeletexOrganizationalUnitNames_item, + { "TeletexOrganizationalUnitName", "p1.TeletexOrganizationalUnitName", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_UniversalOrganizationalUnitNames_item, + { "UniversalOrganizationalUnitName", "p1.UniversalOrganizationalUnitName", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_character_encoding, + { "character-encoding", "p1.character_encoding", + FT_UINT32, BASE_DEC, VALS(p1_T_character_encoding_vals), 0, + NULL, HFILL }}, + { &hf_p1_two_octets, + { "two-octets", "p1.two_octets", + FT_STRING, BASE_NONE, NULL, 0, + "BMPString_SIZE_1_ub_string_length", HFILL }}, + { &hf_p1_four_octets, + { "four-octets", "p1.four_octets", + FT_STRING, BASE_NONE, NULL, 0, + "UniversalString_SIZE_1_ub_string_length", HFILL }}, + { &hf_p1_iso_639_language_code, + { "iso-639-language-code", "p1.iso_639_language_code", + FT_STRING, BASE_NONE, NULL, 0, + "PrintableString_SIZE_CONSTR001", HFILL }}, + { &hf_p1_x121_dcc_code_01, + { "x121-dcc-code", "p1.x121_dcc_code", + FT_STRING, BASE_NONE, NULL, 0, + "T_x121_dcc_code_01", HFILL }}, + { &hf_p1_iso_3166_alpha2_code_01, + { "iso-3166-alpha2-code", "p1.iso_3166_alpha2_code", + FT_STRING, BASE_NONE, NULL, 0, + "T_iso_3166_alpha2_code_01", HFILL }}, + { &hf_p1_numeric_code, + { "numeric-code", "p1.numeric_code", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_printable_code, + { "printable-code", "p1.printable_code", + FT_STRING, BASE_NONE, NULL, 0, + "PrintableString_SIZE_1_ub_postal_code_length", HFILL }}, + { &hf_p1_printable_address, + { "printable-address", "p1.printable_address", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p1_printable_address_item, + { "printable-address item", "p1.printable_address_item", + FT_STRING, BASE_NONE, NULL, 0, + "PrintableString_SIZE_1_ub_pds_parameter_length", HFILL }}, + { &hf_p1_teletex_string, + { "teletex-string", "p1.teletex_string", + FT_STRING, BASE_NONE, NULL, 0, + "TeletexString_SIZE_1_ub_unformatted_address_length", HFILL }}, + { &hf_p1_printable_string, + { "printable-string", "p1.printable_string", + FT_STRING, BASE_NONE, NULL, 0, + "PrintableString_SIZE_1_ub_pds_parameter_length", HFILL }}, + { &hf_p1_pds_teletex_string, + { "teletex-string", "p1.teletex_string", + FT_STRING, BASE_NONE, NULL, 0, + "TeletexString_SIZE_1_ub_pds_parameter_length", HFILL }}, + { &hf_p1_e163_4_address, + { "e163-4-address", "p1.e163_4_address", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_number, + { "number", "p1.number", + FT_STRING, BASE_NONE, NULL, 0, + "NumericString_SIZE_1_ub_e163_4_number_length", HFILL }}, + { &hf_p1_sub_address, + { "sub-address", "p1.sub_address", + FT_STRING, BASE_NONE, NULL, 0, + "NumericString_SIZE_1_ub_e163_4_sub_address_length", HFILL }}, + { &hf_p1_psap_address, + { "psap-address", "p1.psap_address", + FT_NONE, BASE_NONE, NULL, 0, + "PresentationAddress", HFILL }}, + { &hf_p1_TeletexDomainDefinedAttributes_item, + { "TeletexDomainDefinedAttribute", "p1.TeletexDomainDefinedAttribute", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_type, + { "type", "p1.type", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_teletex_value, + { "value", "p1.value", + FT_STRING, BASE_NONE, NULL, 0, + "T_teletex_value", HFILL }}, + { &hf_p1_UniversalDomainDefinedAttributes_item, + { "UniversalDomainDefinedAttribute", "p1.UniversalDomainDefinedAttribute", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_universal_type, + { "type", "p1.type", + FT_NONE, BASE_NONE, NULL, 0, + "UniversalOrBMPString", HFILL }}, + { &hf_p1_universal_value, + { "value", "p1.value", + FT_NONE, BASE_NONE, NULL, 0, + "UniversalOrBMPString", HFILL }}, + { &hf_p1_ExtendedEncodedInformationTypes_item, + { "ExtendedEncodedInformationType", "p1.ExtendedEncodedInformationType", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_g3_facsimile, + { "g3-facsimile", "p1.g3_facsimile", + FT_BYTES, BASE_NONE, NULL, 0, + "G3FacsimileNonBasicParameters", HFILL }}, + { &hf_p1_teletex, + { "teletex", "p1.teletex", + FT_NONE, BASE_NONE, NULL, 0, + "TeletexNonBasicParameters", HFILL }}, + { &hf_p1_graphic_character_sets, + { "graphic-character-sets", "p1.graphic_character_sets", + FT_STRING, BASE_NONE, NULL, 0, + "TeletexString", HFILL }}, + { &hf_p1_control_character_sets, + { "control-character-sets", "p1.control_character_sets", + FT_STRING, BASE_NONE, NULL, 0, + "TeletexString", HFILL }}, + { &hf_p1_page_formats, + { "page-formats", "p1.page_formats", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_p1_miscellaneous_terminal_capabilities, + { "miscellaneous-terminal-capabilities", "p1.miscellaneous_terminal_capabilities", + FT_STRING, BASE_NONE, NULL, 0, + "TeletexString", HFILL }}, + { &hf_p1_private_use, + { "private-use", "p1.private_use", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_p1_token_type_identifier, + { "token-type-identifier", "p1.token_type_identifier", + FT_OID, BASE_NONE, NULL, 0, + "TokenTypeIdentifier", HFILL }}, + { &hf_p1_token, + { "token", "p1.token", + FT_NONE, BASE_NONE, NULL, 0, + "TokenTypeData", HFILL }}, + { &hf_p1_signature_algorithm_identifier, + { "signature-algorithm-identifier", "p1.signature_algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "AlgorithmIdentifier", HFILL }}, + { &hf_p1_name, + { "name", "p1.name", + FT_UINT32, BASE_DEC, VALS(p1_T_name_vals), 0, + NULL, HFILL }}, + { &hf_p1_token_recipient_name, + { "recipient-name", "p1.recipient_name", + FT_NONE, BASE_NONE, NULL, 0, + "RecipientName", HFILL }}, + { &hf_p1_token_mta, + { "mta", "p1.mta", + FT_NONE, BASE_NONE, NULL, 0, + "MTANameAndOptionalGDI", HFILL }}, + { &hf_p1_time, + { "time", "p1.time", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_signed_data, + { "signed-data", "p1.signed_data", + FT_NONE, BASE_NONE, NULL, 0, + "TokenData", HFILL }}, + { &hf_p1_encryption_algorithm_identifier, + { "encryption-algorithm-identifier", "p1.encryption_algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "AlgorithmIdentifier", HFILL }}, + { &hf_p1_encrypted_data, + { "encrypted-data", "p1.encrypted_data", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p1_asymmetric_token_data, + { "asymmetric-token-data", "p1.asymmetric_token_data", + FT_NONE, BASE_NONE, NULL, 0, + "AsymmetricTokenData", HFILL }}, + { &hf_p1_algorithm_identifier, + { "algorithm-identifier", "p1.algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "AlgorithmIdentifier", HFILL }}, + { &hf_p1_token_data_type, + { "type", "p1.type", + FT_INT32, BASE_DEC, VALS(p1_TokenDataType_vals), 0, + "TokenDataType", HFILL }}, + { &hf_p1_value, + { "value", "p1.value", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_content_confidentiality_algorithm_identifier, + { "content-confidentiality-algorithm-identifier", "p1.content_confidentiality_algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "ContentConfidentialityAlgorithmIdentifier", HFILL }}, + { &hf_p1_content_integrity_check, + { "content-integrity-check", "p1.content_integrity_check", + FT_NONE, BASE_NONE, NULL, 0, + "ContentIntegrityCheck", HFILL }}, + { &hf_p1_message_security_label, + { "message-security-label", "p1.message_security_label", + FT_NONE, BASE_NONE, NULL, 0, + "MessageSecurityLabel", HFILL }}, + { &hf_p1_proof_of_delivery_request, + { "proof-of-delivery-request", "p1.proof_of_delivery_request", + FT_UINT32, BASE_DEC, VALS(p1_ProofOfDeliveryRequest_vals), 0, + "ProofOfDeliveryRequest", HFILL }}, + { &hf_p1_message_sequence_number, + { "message-sequence-number", "p1.message_sequence_number", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_p1_content_confidentiality_key, + { "content-confidentiality-key", "p1.content_confidentiality_key", + FT_BYTES, BASE_NONE, NULL, 0, + "EncryptionKey", HFILL }}, + { &hf_p1_content_integrity_key, + { "content-integrity-key", "p1.content_integrity_key", + FT_BYTES, BASE_NONE, NULL, 0, + "EncryptionKey", HFILL }}, + { &hf_p1_security_policy_identifier, + { "security-policy-identifier", "p1.security_policy_identifier", + FT_OID, BASE_NONE, NULL, 0, + "SecurityPolicyIdentifier", HFILL }}, + { &hf_p1_security_classification, + { "security-classification", "p1.security_classification", + FT_UINT32, BASE_DEC, VALS(p1_SecurityClassification_vals), 0, + "SecurityClassification", HFILL }}, + { &hf_p1_privacy_mark, + { "privacy-mark", "p1.privacy_mark", + FT_STRING, BASE_NONE, NULL, 0, + "PrivacyMark", HFILL }}, + { &hf_p1_security_categories, + { "security-categories", "p1.security_categories", + FT_UINT32, BASE_DEC, NULL, 0, + "SecurityCategories", HFILL }}, + { &hf_p1_SecurityCategories_item, + { "SecurityCategory", "p1.SecurityCategory", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_category_type, + { "type", "p1.type", + FT_OID, BASE_NONE, NULL, 0, + "SecurityCategoryIdentifier", HFILL }}, + { &hf_p1_category_value, + { "value", "p1.value", + FT_NONE, BASE_NONE, NULL, 0, + "CategoryValue", HFILL }}, + { &hf_p1_mta_originator_name, + { "originator-name", "p1.originator_name", + FT_NONE, BASE_NONE, NULL, 0, + "MTAOriginatorName", HFILL }}, + { &hf_p1_per_recipient_message_fields, + { "per-recipient-fields", "p1.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields", HFILL }}, + { &hf_p1_per_recipient_message_fields_item, + { "PerRecipientMessageTransferFields", "p1.PerRecipientMessageTransferFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_per_recipient_probe_transfer_fields, + { "per-recipient-fields", "p1.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields", HFILL }}, + { &hf_p1_per_recipient_probe_transfer_fields_item, + { "PerRecipientProbeTransferFields", "p1.PerRecipientProbeTransferFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_per_recipient_report_fields, + { "per-recipient-fields", "p1.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields", HFILL }}, + { &hf_p1_per_recipient_report_fields_item, + { "PerRecipientReportTransferFields", "p1.PerRecipientReportTransferFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_routing_action, + { "routing-action", "p1.routing_action", + FT_UINT32, BASE_DEC, VALS(p1_RoutingAction_vals), 0, + "RoutingAction", HFILL }}, + { &hf_p1_attempted, + { "attempted", "p1.attempted", + FT_UINT32, BASE_DEC, VALS(p1_T_attempted_vals), 0, + NULL, HFILL }}, + { &hf_p1_mta, + { "mta", "p1.mta", + FT_STRING, BASE_NONE, NULL, 0, + "MTAName", HFILL }}, + { &hf_p1_attempted_domain, + { "attempted-domain", "p1.attempted_domain", + FT_NONE, BASE_NONE, NULL, 0, + "GlobalDomainIdentifier", HFILL }}, + { &hf_p1_per_recipient_report_delivery_fields, + { "per-recipient-fields", "p1.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields", HFILL }}, + { &hf_p1_per_recipient_report_delivery_fields_item, + { "PerRecipientReportDeliveryFields", "p1.PerRecipientReportDeliveryFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_mts_originator_name, + { "originator-name", "p1.originator_name", + FT_NONE, BASE_NONE, NULL, 0, + "OriginatorName", HFILL }}, + { &hf_p1_per_recipient_message_submission_fields, + { "per-recipient-fields", "p1.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields", HFILL }}, + { &hf_p1_per_recipient_message_submission_fields_item, + { "PerRecipientMessageSubmissionFields", "p1.PerRecipientMessageSubmissionFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_per_recipient_probe_submission_fields, + { "per-recipient-fields", "p1.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields", HFILL }}, + { &hf_p1_per_recipient_probe_submission_fields_item, + { "PerRecipientProbeSubmissionFields", "p1.PerRecipientProbeSubmissionFields", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p1_directory_name, + { "directory-name", "p1.directory_name", + FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0, + "Name", HFILL }}, + { &hf_p1_built_in_encoded_information_types, + { "built-in-encoded-information-types", "p1.built_in_encoded_information_types", + FT_BYTES, BASE_NONE, NULL, 0, + "BuiltInEncodedInformationTypes", HFILL }}, + { &hf_p1_extended_encoded_information_types, + { "extended-encoded-information-types", "p1.extended_encoded_information_types", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtendedEncodedInformationTypes", HFILL }}, + { &hf_p1_PerRecipientIndicators_responsibility, + { "responsibility", "p1.responsibility", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_originating_MTA_report, + { "originating-MTA-report", "p1.originating-MTA-report", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_originating_MTA_non_delivery_report, + { "originating-MTA-non-delivery-report", "p1.originating-MTA-non-delivery-report", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_originator_report, + { "originator-report", "p1.originator-report", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_originator_non_delivery_report, + { "originator-non-delivery-report", "p1.originator-non-delivery-report", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_reserved_5, + { "reserved-5", "p1.reserved-5", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_reserved_6, + { "reserved-6", "p1.reserved-6", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_PerRecipientIndicators_reserved_7, + { "reserved-7", "p1.reserved-7", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p1_OtherActions_redirected, + { "redirected", "p1.redirected", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_OtherActions_dl_operation, + { "dl-operation", "p1.dl-operation", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_Operations_probe_submission_or_report_delivery, + { "probe-submission-or-report-delivery", "p1.probe-submission-or-report-delivery", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_Operations_message_submission_or_message_delivery, + { "message-submission-or-message-delivery", "p1.message-submission-or-message-delivery", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_WaitingMessages_long_content, + { "long-content", "p1.long-content", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_WaitingMessages_low_priority, + { "low-priority", "p1.low-priority", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_WaitingMessages_other_security_labels, + { "other-security-labels", "p1.other-security-labels", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_T_source_type_originated_by, + { "originated-by", "p1.originated-by", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_T_source_type_redirected_by, + { "redirected-by", "p1.redirected-by", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_T_source_type_dl_expanded_by, + { "dl-expanded-by", "p1.dl-expanded-by", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_T_standard_parameters_user_name, + { "user-name", "p1.user-name", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_T_standard_parameters_user_address, + { "user-address", "p1.user-address", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_T_standard_parameters_deliverable_class, + { "deliverable-class", "p1.deliverable-class", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_T_standard_parameters_default_delivery_controls, + { "default-delivery-controls", "p1.default-delivery-controls", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_T_standard_parameters_redirections, + { "redirections", "p1.redirections", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_T_standard_parameters_restricted_delivery, + { "restricted-delivery", "p1.restricted-delivery", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_disclosure_of_other_recipients, + { "disclosure-of-other-recipients", "p1.disclosure-of-other-recipients", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_implicit_conversion_prohibited, + { "implicit-conversion-prohibited", "p1.implicit-conversion-prohibited", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_alternate_recipient_allowed, + { "alternate-recipient-allowed", "p1.alternate-recipient-allowed", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_content_return_request, + { "content-return-request", "p1.content-return-request", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_reserved, + { "reserved", "p1.reserved", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_bit_5, + { "bit-5", "p1.bit-5", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_bit_6, + { "bit-6", "p1.bit-6", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_PerMessageIndicators_U_service_message, + { "service-message", "p1.service-message", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p1_OriginatorReportRequest_report, + { "report", "p1.report", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_OriginatorReportRequest_non_delivery_report, + { "non-delivery-report", "p1.non-delivery-report", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_DeliveryFlags_implicit_conversion_prohibited, + { "implicit-conversion-prohibited", "p1.implicit-conversion-prohibited", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_Criticality_for_submission, + { "for-submission", "p1.for-submission", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_Criticality_for_transfer, + { "for-transfer", "p1.for-transfer", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_Criticality_for_delivery, + { "for-delivery", "p1.for-delivery", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_ordinary_mail, + { "ordinary-mail", "p1.ordinary-mail", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_special_delivery, + { "special-delivery", "p1.special-delivery", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_express_mail, + { "express-mail", "p1.express-mail", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_counter_collection, + { "counter-collection", "p1.counter-collection", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_counter_collection_with_telephone_advice, + { "counter-collection-with-telephone-advice", "p1.counter-collection-with-telephone-advice", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_counter_collection_with_telex_advice, + { "counter-collection-with-telex-advice", "p1.counter-collection-with-telex-advice", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_counter_collection_with_teletex_advice, + { "counter-collection-with-teletex-advice", "p1.counter-collection-with-teletex-advice", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_PhysicalDeliveryModes_bureau_fax_delivery, + { "bureau-fax-delivery", "p1.bureau-fax-delivery", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_unknown, + { "unknown", "p1.unknown", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_ia5_text, + { "ia5-text", "p1.ia5-text", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_g3_facsimile, + { "g3-facsimile", "p1.g3-facsimile", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_g4_class_1, + { "g4-class-1", "p1.g4-class-1", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_teletex, + { "teletex", "p1.teletex", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_videotex, + { "videotex", "p1.videotex", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_voice, + { "voice", "p1.voice", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_sfd, + { "sfd", "p1.sfd", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_BuiltInEncodedInformationTypes_mixed_mode, + { "mixed-mode", "p1.mixed-mode", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_two_dimensional, + { "two-dimensional", "p1.two-dimensional", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_fine_resolution, + { "fine-resolution", "p1.fine-resolution", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_unlimited_length, + { "unlimited-length", "p1.unlimited-length", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_b4_length, + { "b4-length", "p1.b4-length", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_a3_width, + { "a3-width", "p1.a3-width", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_b4_width, + { "b4-width", "p1.b4-width", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_t6_coding, + { "t6-coding", "p1.t6-coding", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_uncompressed, + { "uncompressed", "p1.uncompressed", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_width_middle_864_of_1728, + { "width-middle-864-of-1728", "p1.width-middle-864-of-1728", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, + { "width-middle-1216-of-1728", "p1.width-middle-1216-of-1728", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_resolution_type, + { "resolution-type", "p1.resolution-type", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_resolution_400x400, + { "resolution-400x400", "p1.resolution-400x400", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_resolution_300x300, + { "resolution-300x300", "p1.resolution-300x300", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_resolution_8x15, + { "resolution-8x15", "p1.resolution-8x15", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_edi, + { "edi", "p1.edi", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_dtm, + { "dtm", "p1.dtm", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_bft, + { "bft", "p1.bft", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_mixed_mode, + { "mixed-mode", "p1.mixed-mode", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_character_mode, + { "character-mode", "p1.character-mode", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_twelve_bits, + { "twelve-bits", "p1.twelve-bits", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_preferred_huffmann, + { "preferred-huffmann", "p1.preferred-huffmann", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_full_colour, + { "full-colour", "p1.full-colour", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_jpeg, + { "jpeg", "p1.jpeg", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p1_G3FacsimileNonBasicParameters_processable_mode_26, + { "processable-mode-26", "p1.processable-mode-26", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + +/*--- End of included file: packet-p1-hfarr.c ---*/ +#line 247 "packet-p1-template.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_p1, + &ett_p3, + &ett_p1_content_unknown, + &ett_p1_bilateral_information, + &ett_p1_additional_information, + &ett_p1_unknown_standard_extension, + &ett_p1_unknown_extension_attribute_type, + &ett_p1_unknown_tokendata_type, + +/*--- Included file: packet-p1-ettarr.c ---*/ +#line 1 "packet-p1-ettarr.c" + &ett_p1_MTABindArgument, + &ett_p1_AuthenticatedArgument, + &ett_p1_MTABindResult, + &ett_p1_AuthenticatedResult, + &ett_p1_MTS_APDU, + &ett_p1_Message, + &ett_p1_Report, + &ett_p1_MessageTransferEnvelope, + &ett_p1_PerMessageTransferFields, + &ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation, + &ett_p1_SET_OF_ExtensionField, + &ett_p1_PerRecipientMessageTransferFields, + &ett_p1_ProbeTransferEnvelope, + &ett_p1_PerProbeTransferFields, + &ett_p1_PerRecipientProbeTransferFields, + &ett_p1_ReportTransferEnvelope, + &ett_p1_ReportTransferContent, + &ett_p1_PerReportTransferFields, + &ett_p1_PerRecipientReportTransferFields, + &ett_p1_PerDomainBilateralInformation, + &ett_p1_T_bilateral_domain, + &ett_p1_T_private_domain, + &ett_p1_PerRecipientIndicators, + &ett_p1_LastTraceInformation, + &ett_p1_InternalTraceInformation, + &ett_p1_InternalTraceInformationElement, + &ett_p1_MTASuppliedInformation, + &ett_p1_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement, + &ett_p1_TraceInformationElement, + &ett_p1_DomainSuppliedInformation, + &ett_p1_AdditionalActions, + &ett_p1_OtherActions, + &ett_p1_MTSBindArgument, + &ett_p1_MTSBindResult, + &ett_p1_ObjectName, + &ett_p1_MessagesWaiting, + &ett_p1_DeliveryQueue, + &ett_p1_Credentials, + &ett_p1_Password, + &ett_p1_StrongCredentials, + &ett_p1_ProtectedPassword, + &ett_p1_Signature, + &ett_p1_SecurityContext, + &ett_p1_MessageSubmissionArgument, + &ett_p1_MessageSubmissionResult, + &ett_p1_ProbeSubmissionResult, + &ett_p1_ImproperlySpecifiedRecipients, + &ett_p1_Waiting, + &ett_p1_SET_SIZE_0_ub_content_types_OF_ContentType, + &ett_p1_Operations, + &ett_p1_WaitingMessages, + &ett_p1_MessageDeliveryArgument, + &ett_p1_MessageDeliveryResult, + &ett_p1_ReportDeliveryArgument, + &ett_p1_ReportDeliveryResult, + &ett_p1_SET_SIZE_1_MAX_OF_ExtensionField, + &ett_p1_DeliveryControlArgument, + &ett_p1_DeliveryControlResult, + &ett_p1_RefusedOperation, + &ett_p1_T_refused_argument, + &ett_p1_Controls, + &ett_p1_RegisterArgument, + &ett_p1_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass, + &ett_p1_RegisterResult, + &ett_p1_T_non_empty_result, + &ett_p1_ChangeCredentialsArgument, + &ett_p1_UserAddress, + &ett_p1_T_x121, + &ett_p1_Redirections, + &ett_p1_RecipientRedirection, + &ett_p1_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass, + &ett_p1_MessageClass, + &ett_p1_SET_OF_Priority, + &ett_p1_SEQUENCE_OF_Restriction, + &ett_p1_EncodedInformationTypesConstraints, + &ett_p1_RestrictedDelivery, + &ett_p1_Restriction, + &ett_p1_T_source_type, + &ett_p1_ExactOrPattern, + &ett_p1_RegistrationTypes, + &ett_p1_T_standard_parameters, + &ett_p1_T_type_extensions, + &ett_p1_MessageSubmissionEnvelope, + &ett_p1_PerMessageSubmissionFields, + &ett_p1_PerRecipientMessageSubmissionFields, + &ett_p1_ProbeSubmissionEnvelope, + &ett_p1_PerProbeSubmissionFields, + &ett_p1_PerRecipientProbeSubmissionFields, + &ett_p1_MessageDeliveryEnvelope, + &ett_p1_OtherMessageDeliveryFields, + &ett_p1_ReportDeliveryEnvelope, + &ett_p1_PerReportDeliveryFields, + &ett_p1_PerRecipientReportDeliveryFields, + &ett_p1_ReportType, + &ett_p1_DeliveryReport, + &ett_p1_NonDeliveryReport, + &ett_p1_ContentTypes, + &ett_p1_ContentType, + &ett_p1_DeliveredContentType, + &ett_p1_PerMessageIndicators_U, + &ett_p1_OriginatorReportRequest, + &ett_p1_DeliveryFlags, + &ett_p1_OtherRecipientNames, + &ett_p1_ExtensionType, + &ett_p1_Criticality, + &ett_p1_ExtensionField, + &ett_p1_RequestedDeliveryMethod, + &ett_p1_PhysicalDeliveryModes, + &ett_p1_ContentCorrelator, + &ett_p1_RedirectionHistory, + &ett_p1_Redirection, + &ett_p1_IntendedRecipientName, + &ett_p1_DLExpansionHistory, + &ett_p1_DLExpansion, + &ett_p1_OriginatorAndDLExpansionHistory, + &ett_p1_OriginatorAndDLExpansion, + &ett_p1_PerRecipientReportFields, + &ett_p1_T_report_type, + &ett_p1_PerRecipientDeliveryReportFields, + &ett_p1_PerRecipientNonDeliveryReportFields, + &ett_p1_ReportingMTAName, + &ett_p1_ExtendedCertificates, + &ett_p1_ExtendedCertificate, + &ett_p1_DLExemptedRecipients, + &ett_p1_CertificateSelectors, + &ett_p1_MTSIdentifier_U, + &ett_p1_GlobalDomainIdentifier_U, + &ett_p1_PrivateDomainIdentifier, + &ett_p1_ORName_U, + &ett_p1_ORAddress, + &ett_p1_BuiltInStandardAttributes, + &ett_p1_CountryName_U, + &ett_p1_AdministrationDomainName_U, + &ett_p1_PrivateDomainName, + &ett_p1_PersonalName, + &ett_p1_OrganizationalUnitNames, + &ett_p1_BuiltInDomainDefinedAttributes, + &ett_p1_BuiltInDomainDefinedAttribute, + &ett_p1_ExtensionAttributes, + &ett_p1_ExtensionAttribute, + &ett_p1_TeletexPersonalName, + &ett_p1_UniversalPersonalName, + &ett_p1_TeletexOrganizationalUnitNames, + &ett_p1_UniversalOrganizationalUnitNames, + &ett_p1_UniversalOrBMPString, + &ett_p1_T_character_encoding, + &ett_p1_PhysicalDeliveryCountryName, + &ett_p1_PostalCode, + &ett_p1_UnformattedPostalAddress, + &ett_p1_T_printable_address, + &ett_p1_PDSParameter, + &ett_p1_ExtendedNetworkAddress, + &ett_p1_T_e163_4_address, + &ett_p1_TeletexDomainDefinedAttributes, + &ett_p1_TeletexDomainDefinedAttribute, + &ett_p1_UniversalDomainDefinedAttributes, + &ett_p1_UniversalDomainDefinedAttribute, + &ett_p1_EncodedInformationTypes_U, + &ett_p1_BuiltInEncodedInformationTypes, + &ett_p1_ExtendedEncodedInformationTypes, + &ett_p1_NonBasicParameters, + &ett_p1_G3FacsimileNonBasicParameters, + &ett_p1_TeletexNonBasicParameters, + &ett_p1_Token, + &ett_p1_AsymmetricTokenData, + &ett_p1_T_name, + &ett_p1_MTANameAndOptionalGDI, + &ett_p1_AsymmetricToken, + &ett_p1_TokenData, + &ett_p1_MessageTokenSignedData, + &ett_p1_MessageTokenEncryptedData, + &ett_p1_SecurityLabel, + &ett_p1_SecurityCategories, + &ett_p1_SecurityCategory, + &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields, + &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields, + &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields, + &ett_p1_T_attempted, + &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields, + &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields, + &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields, + +/*--- End of included file: packet-p1-ettarr.c ---*/ +#line 260 "packet-p1-template.c" + }; + + module_t *p1_module; + + /* Register protocol */ + proto_p1 = proto_register_protocol(PNAME, PSNAME, PFNAME); + register_dissector("p1", dissect_p1, proto_p1); + + proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3"); + + /* Register fields and subtrees */ + proto_register_field_array(proto_p1, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + p1_extension_dissector_table = register_dissector_table("p1.extension", "P1-EXTENSION", FT_UINT32, BASE_DEC); + p1_extension_attribute_dissector_table = register_dissector_table("p1.extension-attribute", "P1-EXTENSION-ATTRIBUTE", FT_UINT32, BASE_DEC); + p1_tokendata_dissector_table = register_dissector_table("p1.tokendata", "P1-TOKENDATA", FT_UINT32, BASE_DEC); + + /* Register our configuration options for P1, particularly our port */ + + p1_module = prefs_register_protocol_subtree("OSI/X.400", proto_p1, prefs_register_p1); + + prefs_register_uint_preference(p1_module, "tcp.port", "P1 TCP Port", + "Set the port for P1 operations (if other" + " than the default of 102)", + 10, &global_p1_tcp_port); + + register_ber_syntax_dissector("P1 Message", proto_p1, dissect_p1_mts_apdu); +} + + +/*--- proto_reg_handoff_p1 --- */ +void proto_reg_handoff_p1(void) { + dissector_handle_t p1_handle; + + +/*--- Included file: packet-p1-dis-tab.c ---*/ +#line 1 "packet-p1-dis-tab.c" + dissector_add_uint("p1.extension", 1, create_dissector_handle(dissect_RecipientReassignmentProhibited_PDU, proto_p1)); + dissector_add_uint("p1.extension", 2, create_dissector_handle(dissect_OriginatorRequestedAlternateRecipient_PDU, proto_p1)); + dissector_add_uint("p1.extension", 3, create_dissector_handle(dissect_DLExpansionProhibited_PDU, proto_p1)); + dissector_add_uint("p1.extension", 4, create_dissector_handle(dissect_ConversionWithLossProhibited_PDU, proto_p1)); + dissector_add_uint("p1.extension", 5, create_dissector_handle(dissect_LatestDeliveryTime_PDU, proto_p1)); + dissector_add_uint("p1.extension", 6, create_dissector_handle(dissect_RequestedDeliveryMethod_PDU, proto_p1)); + dissector_add_uint("p1.extension", 7, create_dissector_handle(dissect_PhysicalForwardingProhibited_PDU, proto_p1)); + dissector_add_uint("p1.extension", 8, create_dissector_handle(dissect_PhysicalForwardingAddressRequest_PDU, proto_p1)); + dissector_add_uint("p1.extension", 9, create_dissector_handle(dissect_PhysicalDeliveryModes_PDU, proto_p1)); + dissector_add_uint("p1.extension", 10, create_dissector_handle(dissect_RegisteredMailType_PDU, proto_p1)); + dissector_add_uint("p1.extension", 11, create_dissector_handle(dissect_RecipientNumberForAdvice_PDU, proto_p1)); + dissector_add_uint("p1.extension", 12, create_dissector_handle(dissect_PhysicalRenditionAttributes_PDU, proto_p1)); + dissector_add_uint("p1.extension", 13, create_dissector_handle(dissect_OriginatorReturnAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension", 14, create_dissector_handle(dissect_PhysicalDeliveryReportRequest_PDU, proto_p1)); + dissector_add_uint("p1.extension", 15, create_dissector_handle(dissect_OriginatorCertificate_PDU, proto_p1)); + dissector_add_uint("p1.extension", 16, create_dissector_handle(dissect_MessageToken_PDU, proto_p1)); + dissector_add_uint("p1.extension", 17, create_dissector_handle(dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_p1)); + dissector_add_uint("p1.extension", 18, create_dissector_handle(dissect_ContentIntegrityCheck_PDU, proto_p1)); + dissector_add_uint("p1.extension", 19, create_dissector_handle(dissect_MessageOriginAuthenticationCheck_PDU, proto_p1)); + dissector_add_uint("p1.extension", 20, create_dissector_handle(dissect_MessageSecurityLabel_PDU, proto_p1)); + dissector_add_uint("p1.extension", 21, create_dissector_handle(dissect_ProofOfSubmissionRequest_PDU, proto_p1)); + dissector_add_uint("p1.extension", 22, create_dissector_handle(dissect_ProofOfDeliveryRequest_PDU, proto_p1)); + dissector_add_uint("p1.extension", 23, create_dissector_handle(dissect_ContentCorrelator_PDU, proto_p1)); + dissector_add_uint("p1.extension", 24, create_dissector_handle(dissect_ProbeOriginAuthenticationCheck_PDU, proto_p1)); + dissector_add_uint("p1.extension", 25, create_dissector_handle(dissect_RedirectionHistory_PDU, proto_p1)); + dissector_add_uint("p1.extension", 26, create_dissector_handle(dissect_DLExpansionHistory_PDU, proto_p1)); + dissector_add_uint("p1.extension", 27, create_dissector_handle(dissect_PhysicalForwardingAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension", 28, create_dissector_handle(dissect_RecipientCertificate_PDU, proto_p1)); + dissector_add_uint("p1.extension", 29, create_dissector_handle(dissect_ProofOfDelivery_PDU, proto_p1)); + dissector_add_uint("p1.extension", 30, create_dissector_handle(dissect_OriginatorAndDLExpansionHistory_PDU, proto_p1)); + dissector_add_uint("p1.extension", 31, create_dissector_handle(dissect_ReportingDLName_PDU, proto_p1)); + dissector_add_uint("p1.extension", 32, create_dissector_handle(dissect_ReportingMTACertificate_PDU, proto_p1)); + dissector_add_uint("p1.extension", 33, create_dissector_handle(dissect_ReportOriginAuthenticationCheck_PDU, proto_p1)); + dissector_add_uint("p1.extension", 35, create_dissector_handle(dissect_ProofOfSubmission_PDU, proto_p1)); + dissector_add_uint("p1.extension", 37, create_dissector_handle(dissect_TraceInformation_PDU, proto_p1)); + dissector_add_uint("p1.extension", 38, create_dissector_handle(dissect_InternalTraceInformation_PDU, proto_p1)); + dissector_add_uint("p1.extension", 39, create_dissector_handle(dissect_ReportingMTAName_PDU, proto_p1)); + dissector_add_uint("p1.extension", 40, create_dissector_handle(dissect_ExtendedCertificates_PDU, proto_p1)); + dissector_add_uint("p1.extension", 42, create_dissector_handle(dissect_DLExemptedRecipients_PDU, proto_p1)); + dissector_add_uint("p1.extension", 45, create_dissector_handle(dissect_CertificateSelectors_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 1, create_dissector_handle(dissect_CommonName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 2, create_dissector_handle(dissect_TeletexCommonName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 3, create_dissector_handle(dissect_TeletexOrganizationName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 4, create_dissector_handle(dissect_TeletexPersonalName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 5, create_dissector_handle(dissect_TeletexOrganizationalUnitNames_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 6, create_dissector_handle(dissect_TeletexDomainDefinedAttributes_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 7, create_dissector_handle(dissect_PDSName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 8, create_dissector_handle(dissect_PhysicalDeliveryCountryName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 9, create_dissector_handle(dissect_PostalCode_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 10, create_dissector_handle(dissect_PhysicalDeliveryOfficeName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 11, create_dissector_handle(dissect_PhysicalDeliveryOfficeNumber_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 12, create_dissector_handle(dissect_ExtensionORAddressComponents_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 13, create_dissector_handle(dissect_PhysicalDeliveryPersonalName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 14, create_dissector_handle(dissect_PhysicalDeliveryOrganizationName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 15, create_dissector_handle(dissect_ExtensionPhysicalDeliveryAddressComponents_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 16, create_dissector_handle(dissect_UnformattedPostalAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 17, create_dissector_handle(dissect_StreetAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 18, create_dissector_handle(dissect_PostOfficeBoxAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 19, create_dissector_handle(dissect_PosteRestanteAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 20, create_dissector_handle(dissect_UniquePostalName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 21, create_dissector_handle(dissect_LocalPostalAttributes_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 22, create_dissector_handle(dissect_ExtendedNetworkAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 23, create_dissector_handle(dissect_TerminalType_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 24, create_dissector_handle(dissect_UniversalCommonName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 25, create_dissector_handle(dissect_UniversalOrganizationName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 26, create_dissector_handle(dissect_UniversalPersonalName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 27, create_dissector_handle(dissect_UniversalOrganizationalUnitNames_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 28, create_dissector_handle(dissect_UniversalDomainDefinedAttributes_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 29, create_dissector_handle(dissect_UniversalPhysicalDeliveryOfficeName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 30, create_dissector_handle(dissect_UniversalPhysicalDeliveryOfficeNumber_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 31, create_dissector_handle(dissect_UniversalExtensionORAddressComponents_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 32, create_dissector_handle(dissect_UniversalPhysicalDeliveryPersonalName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 33, create_dissector_handle(dissect_UniversalPhysicalDeliveryOrganizationName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 34, create_dissector_handle(dissect_UniversalExtensionPhysicalDeliveryAddressComponents_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 35, create_dissector_handle(dissect_UniversalUnformattedPostalAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 36, create_dissector_handle(dissect_UniversalStreetAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 37, create_dissector_handle(dissect_UniversalPostOfficeBoxAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 38, create_dissector_handle(dissect_UniversalPosteRestanteAddress_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 39, create_dissector_handle(dissect_UniversalUniquePostalName_PDU, proto_p1)); + dissector_add_uint("p1.extension-attribute", 40, create_dissector_handle(dissect_UniversalLocalPostalAttributes_PDU, proto_p1)); + register_ber_oid_dissector("2.6.3.6.0", dissect_AsymmetricToken_PDU, proto_p1, "id-tok-asymmetricToken"); + register_ber_oid_dissector("2.6.5.6.0", dissect_MTANameAndOptionalGDI_PDU, proto_p1, "id-on-mtaName"); + dissector_add_uint("p1.tokendata", 1, create_dissector_handle(dissect_BindTokenSignedData_PDU, proto_p1)); + dissector_add_uint("p1.tokendata", 2, create_dissector_handle(dissect_MessageTokenSignedData_PDU, proto_p1)); + dissector_add_uint("p1.tokendata", 3, create_dissector_handle(dissect_MessageTokenEncryptedData_PDU, proto_p1)); + dissector_add_uint("p1.tokendata", 4, create_dissector_handle(dissect_BindTokenEncryptedData_PDU, proto_p1)); + register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_p1, "id-at-mhs-maximum-content-length"); + register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_p1, "id-at-mhs-deliverable-content-types"); + register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_p1, "id-at-mhs-exclusively-acceptable-eits"); + register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_p1, "id-at-mhs-dl-members"); + register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_p1, "id-at-mhs-or-addresses"); + register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_p1, "id-at-mhs-supported-content-types"); + register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_p1, "id-at-mhs-dl-archive-service"); + register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_p1, "id-at-mhs-dl-subscription-service"); + register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_p1, "id-at-mhs-acceptable-eits"); + register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_p1, "id-at-mhs-unacceptable-eits"); + register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_p1, "id-at-aLExemptedAddressProcessor"); + register_ber_oid_dissector("2.16.840.1.101.2.2.1.134.1", dissect_ORAddress_PDU, proto_p1, "id-at-collective-mhs-or-addresses"); + register_ber_oid_dissector("2.6.4.3.80", dissect_CertificateSelectors_PDU, proto_p1, "id-att-certificate-selectors"); + register_ber_oid_dissector("2.6.4.3.1", dissect_Content_PDU, proto_p1, "id-att-content"); + register_ber_oid_dissector("2.6.4.3.3", dissect_ContentCorrelator_PDU, proto_p1, "id-att-content-correlator"); + register_ber_oid_dissector("2.6.4.3.4", dissect_ContentIdentifier_PDU, proto_p1, "id-att-content-identifier"); + register_ber_oid_dissector("2.6.4.3.5", dissect_ContentIntegrityCheck_PDU, proto_p1, "id-att-content-inetgrity-check"); + register_ber_oid_dissector("2.6.4.3.6", dissect_ContentLength_PDU, proto_p1, "id-att-content-length"); + register_ber_oid_dissector("2.6.4.3.8", dissect_ExtendedContentType_PDU, proto_p1, "id-att-content-type"); + register_ber_oid_dissector("2.6.4.3.9", dissect_ConversionWithLossProhibited_PDU, proto_p1, "id-att-conversion-with-loss-prohibited"); + register_ber_oid_dissector("2.6.4.3.51", dissect_DeferredDeliveryTime_PDU, proto_p1, "id-att-deferred-delivery-time"); + register_ber_oid_dissector("2.6.4.3.13", dissect_DeliveryFlags_PDU, proto_p1, "id-att-delivery-flags"); + register_ber_oid_dissector("2.6.4.3.78", dissect_ORName_PDU, proto_p1, "id-att-dl-exempted-recipients"); + register_ber_oid_dissector("2.6.4.3.14", dissect_DLExpansion_PDU, proto_p1, "id-att-dl-expansion-history"); + register_ber_oid_dissector("2.6.4.3.53", dissect_DLExpansionProhibited_PDU, proto_p1, "id-att-dl-expansion-prohibited"); + register_ber_oid_dissector("2.6.4.3.54", dissect_InternalTraceInformationElement_PDU, proto_p1, "id-att-internal-trace-information"); + register_ber_oid_dissector("2.6.4.3.55", dissect_LatestDeliveryTime_PDU, proto_p1, "id-att-latest-delivery-time"); + register_ber_oid_dissector("2.6.4.3.18", dissect_MessageDeliveryEnvelope_PDU, proto_p1, "id-att-message-delivery-envelope"); + register_ber_oid_dissector("2.6.4.3.20", dissect_MessageDeliveryTime_PDU, proto_p1, "id-att-message-delivery-time"); + register_ber_oid_dissector("2.6.4.3.19", dissect_MTSIdentifier_PDU, proto_p1, "id-att-message-identifier"); + register_ber_oid_dissector("2.6.4.3.21", dissect_MessageOriginAuthenticationCheck_PDU, proto_p1, "id-at-message-orgin-authentication-check"); + register_ber_oid_dissector("2.6.4.3.22", dissect_MessageSecurityLabel_PDU, proto_p1, "id-att-message-security-label"); + register_ber_oid_dissector("2.6.4.3.59", dissect_MessageSubmissionEnvelope_PDU, proto_p1, "id-att-message-submission-envelope"); + register_ber_oid_dissector("2.6.4.3.23", dissect_MessageSubmissionTime_PDU, proto_p1, "id-att-message-submission-time"); + register_ber_oid_dissector("2.6.4.3.24", dissect_MessageToken_PDU, proto_p1, "id-att-message-token"); + register_ber_oid_dissector("2.6.4.3.81", dissect_ExtendedCertificates_PDU, proto_p1, "id-att-multiple-originator-certificates"); + register_ber_oid_dissector("2.6.4.3.17", dissect_ORName_PDU, proto_p1, "id-att-originally-intended-recipient-name"); + register_ber_oid_dissector("2.6.4.3.62", dissect_OriginatingMTACertificate_PDU, proto_p1, "id-att-originating-MTA-certificate"); + register_ber_oid_dissector("2.6.4.3.26", dissect_OriginatorCertificate_PDU, proto_p1, "id-att-originator-certificate"); + register_ber_oid_dissector("2.6.4.3.27", dissect_ORName_PDU, proto_p1, "id-att-originator-name"); + register_ber_oid_dissector("2.6.4.3.63", dissect_OriginatorReportRequest_PDU, proto_p1, "id-att-originator-report-request"); + register_ber_oid_dissector("2.6.4.3.64", dissect_OriginatorReturnAddress_PDU, proto_p1, "id-att-originator-return-address"); + register_ber_oid_dissector("2.6.4.3.28", dissect_ORName_PDU, proto_p1, "id-att-other-recipient-names"); + register_ber_oid_dissector("2.6.4.3.65", dissect_PerMessageIndicators_PDU, proto_p1, "id-att-per-message-indicators"); + register_ber_oid_dissector("2.6.4.3.66", dissect_PerRecipientMessageSubmissionFields_PDU, proto_p1, "id-att-per-recipient-message-submission-fields"); + register_ber_oid_dissector("2.6.4.3.67", dissect_PerRecipientProbeSubmissionFields_PDU, proto_p1, "id-att-per-recipient-probe-submission-fields"); + register_ber_oid_dissector("2.6.4.3.30", dissect_PerRecipientReportDeliveryFields_PDU, proto_p1, "id-att-per-recipient-report-delivery-fields"); + register_ber_oid_dissector("2.6.4.3.31", dissect_Priority_PDU, proto_p1, "id-att-priority"); + register_ber_oid_dissector("2.6.4.3.68", dissect_ProbeOriginAuthenticationCheck_PDU, proto_p1, "id-att-probe-origin-authentication-check"); + register_ber_oid_dissector("2.6.4.3.69", dissect_ProbeSubmissionEnvelope_PDU, proto_p1, "id-att-probe-submission-envelope"); + register_ber_oid_dissector("2.6.4.3.32", dissect_ProofOfDeliveryRequest_PDU, proto_p1, "id-att-proof-of-delivery-request"); + register_ber_oid_dissector("2.6.4.3.70", dissect_ProofOfSubmission_PDU, proto_p1, "id-att-proof-of-submission"); + register_ber_oid_dissector("2.6.4.3.82", dissect_ExtendedCertificates_PDU, proto_p1, "id-att-recipient-certificate"); + register_ber_oid_dissector("2.6.4.3.71", dissect_ORName_PDU, proto_p1, "id-att-recipient-names"); + register_ber_oid_dissector("2.6.4.3.72", dissect_RecipientReassignmentProhibited_PDU, proto_p1, "id-att-recipient-reassignment-prohibited"); + register_ber_oid_dissector("2.6.4.3.33", dissect_Redirection_PDU, proto_p1, "id-at-redirection-history"); + register_ber_oid_dissector("2.6.4.3.34", dissect_ReportDeliveryEnvelope_PDU, proto_p1, "id-att-report-delivery-envelope"); + register_ber_oid_dissector("2.6.4.3.35", dissect_ReportingDLName_PDU, proto_p1, "id-att-reporting-DL-name"); + register_ber_oid_dissector("2.6.4.3.36", dissect_ReportingMTACertificate_PDU, proto_p1, "id-att-reporting-MTA-certificate"); + register_ber_oid_dissector("2.6.4.3.37", dissect_ReportOriginAuthenticationCheck_PDU, proto_p1, "id-att-report-origin-authentication-check"); + register_ber_oid_dissector("2.6.4.3.38", dissect_SecurityClassification_PDU, proto_p1, "id-att-security-classification"); + register_ber_oid_dissector("2.6.4.3.40", dissect_SubjectSubmissionIdentifier_PDU, proto_p1, "id-att-subject-submission-identifier"); + register_ber_oid_dissector("2.6.4.3.41", dissect_ORName_PDU, proto_p1, "id-att-this-recipient-name"); + register_ber_oid_dissector("2.6.4.3.75", dissect_TraceInformationElement_PDU, proto_p1, "id-att-trace-information"); + register_ber_oid_dissector("2.6.1.7.36", dissect_MessageToken_PDU, proto_p1, "id-hat-forwarded-token"); + + +/*--- End of included file: packet-p1-dis-tab.c ---*/ +#line 296 "packet-p1-template.c" + + /* APPLICATION CONTEXT */ + + oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6"); + + /* ABSTRACT SYNTAXES */ + + p1_handle = find_dissector("p1"); + register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", TRUE); + register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", FALSE); + + register_rtse_oid_dissector_handle("applicationProtocol.1", p1_handle, 0, "mts-transfer-protocol-1984", FALSE); + register_rtse_oid_dissector_handle("applicationProtocol.12", p1_handle, 0, "mta-transfer-protocol", FALSE); + + /* remember the tpkt handler for change in preferences */ + tpkt_handle = find_dissector("tpkt"); + + /* APPLICATION CONTEXT */ + + oid_add_from_string("id-ac-mts-access-88", id_ac_mts_access_88); + oid_add_from_string("id-ac-mts-forced-access-88", id_ac_mts_forced_access_88); + oid_add_from_string("id-ac-mts-access-94", id_ac_mts_access_94); + oid_add_from_string("id-ac-mts-forced-access-94", id_ac_mts_forced_access_94); + + + /* Register P3 with ROS */ + register_ros_protocol_info(id_as_msse, &p3_ros_info, 0, "id-as-msse", FALSE); + + register_ros_protocol_info(id_as_mdse_88, &p3_ros_info, 0, "id-as-mdse-88", FALSE); + register_ros_protocol_info(id_as_mdse_94, &p3_ros_info, 0, "id-as-mdse-94", FALSE); + + register_ros_protocol_info(id_as_mase_88, &p3_ros_info, 0, "id-as-mase-88", FALSE); + register_ros_protocol_info(id_as_mase_94, &p3_ros_info, 0, "id-as-mase-94", FALSE); + + register_ros_protocol_info(id_as_mts, &p3_ros_info, 0, "id-as-mts", FALSE); + +} + +static void +prefs_register_p1(void) +{ + static guint tcp_port = 0; + + /* de-register the old port */ + /* port 102 is registered by TPKT - don't undo this! */ + if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle) + dissector_delete_uint("tcp.port", tcp_port, tpkt_handle); + + /* Set our port number for future use */ + tcp_port = global_p1_tcp_port; + + if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle) + dissector_add_uint("tcp.port", tcp_port, tpkt_handle); + +} diff --git a/epan/dissectors/packet-x411.h b/epan/dissectors/packet-p1.h index c531e4bcf5..e6df43d822 100644 --- a/epan/dissectors/packet-x411.h +++ b/epan/dissectors/packet-p1.h @@ -1,13 +1,13 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* packet-x411.h */ -/* ../../tools/asn2wrs.py -b -e -C -p x411 -c ./x411.cnf -s ./packet-x411-template -D . MTAAbstractService.asn MTSAbstractService.asn MTSAccessProtocol.asn MHSProtocolObjectIdentifiers.asn MTSUpperBounds.asn */ +/* packet-p1.h */ +/* ../../tools/asn2wrs.py -b -e -C -p p1 -c ./p1.cnf -s ./packet-p1-template -D . MTAAbstractService.asn MTSAbstractService.asn MTSAccessProtocol.asn MHSProtocolObjectIdentifiers.asn MTSUpperBounds.asn */ -/* Input file: packet-x411-template.h */ +/* Input file: packet-p1-template.h */ -#line 1 "packet-x411-template.h" -/* packet-x411.h - * Routines forX.411 (X.400 Message Transfer) packet dissection +#line 1 "packet-p1-template.h" +/* packet-p3.h + * Routines for X.411 (X.400 Message Transfer) packet dissection * Graeme Lunt 2005 * * $Id$ @@ -31,12 +31,12 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef PACKET_X411_H -#define PACKET_X411_H +#ifndef PACKET_P1_H +#define PACKET_P1_H -/*--- Included file: packet-x411-val.h ---*/ -#line 1 "packet-x411-val.h" +/*--- Included file: packet-p1-val.h ---*/ +#line 1 "packet-p1-val.h" #define op_message_submission 3 #define op_probe_submission 4 #define op_cancel_deferred_delivery 7 @@ -171,69 +171,69 @@ #define ub_universal_surname_length 64 #define ub_x121_address_length 16 -/*--- End of included file: packet-x411-val.h ---*/ -#line 30 "packet-x411-template.h" +/*--- End of included file: packet-p1-val.h ---*/ +#line 30 "packet-p1-template.h" -char* x411_get_last_oraddress(void); -void dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree); +char* p1_get_last_oraddress(void); +void dissect_p1_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree); -/*--- Included file: packet-x411-exp.h ---*/ -#line 1 "packet-x411-exp.h" -extern const value_string x411_Credentials_vals[]; -extern const value_string x411_SecurityProblem_vals[]; -extern const value_string x411_ContentType_vals[]; -extern const value_string x411_NonDeliveryReasonCode_vals[]; -extern const value_string x411_NonDeliveryDiagnosticCode_vals[]; -int dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ResponderCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_SecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ImproperlySpecifiedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ProbeSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_OriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_NonDeliveryReasonCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_NonDeliveryDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_SupplementaryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_RequestedDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_MessageSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_OriginatingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ProofOfSubmission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ExtendedCertificates(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_UniversalOrBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_G3FacsimileNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x411_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +/*--- Included file: packet-p1-exp.h ---*/ +#line 1 "packet-p1-exp.h" +extern const value_string p1_Credentials_vals[]; +extern const value_string p1_SecurityProblem_vals[]; +extern const value_string p1_ContentType_vals[]; +extern const value_string p1_NonDeliveryReasonCode_vals[]; +extern const value_string p1_NonDeliveryDiagnosticCode_vals[]; +int dissect_p1_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ResponderCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_SecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ImproperlySpecifiedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ProbeSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_OriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_NonDeliveryReasonCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_NonDeliveryDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_SupplementaryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_RequestedDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_MessageSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_OriginatingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ProofOfSubmission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ExtendedCertificates(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_UniversalOrBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_G3FacsimileNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p1_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -/*--- End of included file: packet-x411-exp.h ---*/ -#line 34 "packet-x411-template.h" +/*--- End of included file: packet-p1-exp.h ---*/ +#line 34 "packet-p1-template.h" -void proto_reg_handoff_x411(void); -void proto_register_x411(void); +void proto_reg_handoff_p1(void); +void proto_register_p1(void); -#endif /* PACKET_X411_H */ +#endif /* PACKET_P1_H */ diff --git a/epan/dissectors/packet-p22.c b/epan/dissectors/packet-p22.c new file mode 100644 index 0000000000..1b5d7718ee --- /dev/null +++ b/epan/dissectors/packet-p22.c @@ -0,0 +1,6321 @@ +/* Do not modify this file. */ +/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ +/* packet-p22.c */ +/* ../../tools/asn2wrs.py -b -e -C -p p22 -c ./p22.cnf -s ./packet-p22-template -D . IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */ + +/* Input file: packet-p22-template.c */ + +#line 1 "packet-p22-template.c" +/* packet-p22.c + * Routines for X.420 (X.400 Message Transfer) packet dissection + * Graeme Lunt 2005 + * + * $Id$ + * + * 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 + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/oids.h> +#include <epan/asn1.h> + +#include "packet-ber.h" +#include "packet-acse.h" +#include "packet-ros.h" + +#include "packet-x509af.h" +#include "packet-x509ce.h" +#include "packet-ftam.h" +#include "packet-p1.h" +#include "packet-p7.h" + +#include "packet-p22.h" + +#define PNAME "X.420 Information Object" +#define PSNAME "P22" +#define PFNAME "p22" + +/* Initialize the protocol and registered fields */ +static int proto_p22 = -1; + +static const char *object_identifier_id; /* content type identifier */ + +static const value_string charsetreg_vals [] = { + { 1, "C0: (ISO/IEC 6429)"}, + { 6, "G0: ASCII (ISO/IEC 646)"}, + { 77, "C1: (ISO/IEC 6429)"}, + { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"}, + { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"}, + { 104, "C0: (ISO/IEC 4873)"}, + { 105, "C1: (ISO/IEC 4873)"}, + { 106, "C0: Teletex (CCITT T.61)"}, + { 107, "C1: Teletex (CCITT T.61)"}, + { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"}, + { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"}, + { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"}, + { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"}, + { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"}, + { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"}, + { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"}, + { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"}, + { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"}, + { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"}, + { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"}, + { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"}, + { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"}, + { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"}, + { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"}, + { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"}, + { 0, NULL} +}; + + +/*--- Included file: packet-p22-val.h ---*/ +#line 1 "packet-p22-val.h" +#define id_ipms "2.6.1" +#define id_mod id_ipms".0" +#define id_ot id_ipms".1" +#define id_pt id_ipms".2" +#define id_et id_ipms".4" +#define id_hex id_ipms".5" +#define id_sat id_ipms".6" +#define id_hat id_ipms".7" +#define id_bat id_ipms".8" +#define id_nat id_ipms".9" +#define id_mct id_ipms".10" +#define id_ep id_ipms".11" +#define id_eit id_ipms".12" +#define id_cat id_ipms".13" +#define id_mr id_ipms".14" +#define id_aa id_ipms".15" +#define id_aae id_ipms".16" +#define id_mst id_ipms".17" +#define id_sec id_ipms".18" +#define id_on id_ipms".19" +#define id_rex id_ipms".20" +#define id_mod_object_identifiers id_mod".0" +#define id_mod_functional_objects id_mod".1" +#define id_mod_information_objects id_mod".2" +#define id_mod_abstract_service id_mod".3" +#define id_mod_heading_extensions id_mod".6" +#define id_mod_extended_body_part_types id_mod".7" +#define id_mod_message_store_attributes id_mod".8" +#define id_mod_file_transfer_body_part_type id_mod".9" +#define id_mod_upper_bounds id_mod".10" +#define id_mod_extended_voice_body_part_type id_mod".11" +#define id_mod_forwarded_report_body_part_type id_mod".12" +#define id_mod_auto_actions id_mod".13" +#define id_mod_ipm_security_extensions id_mod".14" +#define id_mod_forwarded_content_body_part_type id_mod".15" +#define id_mod_pkcs7_body_part_type id_mod".16" +#define id_ot_ipms_user id_ot".1" +#define id_ot_ipms id_ot".2" +#define id_pt_origination id_pt".0" +#define id_pt_reception id_pt".1" +#define id_pt_management id_pt".2" +#define id_et_ia5_text id_et".0" +#define id_et_g3_facsimile id_et".2" +#define id_et_g4_class1 id_et".3" +#define id_et_teletex id_et".4" +#define id_et_videotex id_et".5" +#define id_et_encrypted id_et".6" +#define id_et_message id_et".7" +#define id_et_mixed_mode id_et".8" +#define id_et_bilaterally_defined id_et".9" +#define id_et_nationally_defined id_et".10" +#define id_et_general_text id_et".11" +#define id_et_file_transfer id_et".12" +#define id_et_report id_et".14" +#define id_et_notification id_et".15" +#define id_et_voice id_et".16" +#define id_et_content id_et".17" +#define id_et_pkcs7 id_et".18" +#define id_hex_incomplete_copy id_hex".0" +#define id_hex_languages id_hex".1" +#define id_hex_auto_submitted id_hex".2" +#define id_hex_body_part_signatures id_hex".3" +#define id_hex_ipm_security_label id_hex".4" +#define id_hex_authorization_time id_hex".5" +#define id_hex_circulation_list_recipients id_hex".6" +#define id_hex_distribution_codes id_hex".7" +#define id_hex_extended_subject id_hex".8" +#define id_hex_information_category id_hex".9" +#define id_hex_manual_handling_instructions id_hex".10" +#define id_hex_originators_reference id_hex".11" +#define id_hex_precedence_policy_id id_hex".12" +#define id_sat_ipm_entry_type id_sat".0" +#define id_sat_ipm_synopsis id_sat".1" +#define id_sat_body_parts_summary id_sat".2" +#define id_sat_ipm_auto_discarded id_sat".3" +#define id_hat_heading id_hat".0" +#define id_hat_this_ipm id_hat".1" +#define id_hat_originator id_hat".2" +#define id_hat_replied_to_IPM id_hat".3" +#define id_hat_subject id_hat".4" +#define id_hat_expiry_time id_hat".5" +#define id_hat_reply_time id_hat".6" +#define id_hat_importance id_hat".7" +#define id_hat_sensitivity id_hat".8" +#define id_hat_auto_forwarded id_hat".9" +#define id_hat_authorizing_users id_hat".10" +#define id_hat_primary_recipients id_hat".11" +#define id_hat_copy_recipients id_hat".12" +#define id_hat_blind_copy_recipients id_hat".13" +#define id_hat_obsoleted_IPMs id_hat".14" +#define id_hat_related_IPMs id_hat".15" +#define id_hat_reply_recipients id_hat".16" +#define id_hat_incomplete_copy id_hat".17" +#define id_hat_languages id_hat".18" +#define id_hat_rn_requestors id_hat".19" +#define id_hat_nrn_requestors id_hat".20" +#define id_hat_reply_requestors id_hat".21" +#define id_hat_auto_submitted id_hat".22" +#define id_hat_body_part_signatures id_hat".23" +#define id_hat_ipm_security_label id_hat".24" +#define id_hat_body_part_security_label id_hat".25" +#define id_hat_body_part_encryption_token id_hat".26" +#define id_hat_authorization_time id_hat".27" +#define id_hat_circulation_list_recipients id_hat".28" +#define id_hat_distribution_codes id_hat".29" +#define id_hat_extended_subject id_hat".30" +#define id_hat_information_category id_hat".31" +#define id_hat_manual_handling_instructions id_hat".32" +#define id_hat_originators_reference id_hat".33" +#define id_hat_precedence_policy_id id_hat".34" +#define id_hat_forwarded_content_token id_hat".35" +#define id_hat_forwarding_token id_hat".36" +#define id_hat_precedence id_hat".37" +#define id_hat_body_part_signature_verification_status id_hat".38" +#define id_bat_body id_bat".0" +#define id_bat_ia5_text_body_parts id_bat".1" +#define id_bat_g3_facsimile_body_parts id_bat".3" +#define id_bat_g4_class1_body_parts id_bat".4" +#define id_bat_teletex_body_parts id_bat".5" +#define id_bat_videotex_body_parts id_bat".6" +#define id_bat_encrypted_body_parts id_bat".7" +#define id_bat_message_body_parts id_bat".8" +#define id_bat_mixed_mode_body_parts id_bat".9" +#define id_bat_bilaterally_defined_body_parts id_bat".10" +#define id_bat_nationally_defined_body_parts id_bat".11" +#define id_bat_extended_body_part_types id_bat".12" +#define id_bat_ia5_text_parameters id_bat".13" +#define id_bat_g3_facsimile_parameters id_bat".15" +#define id_bat_teletex_parameters id_bat".16" +#define id_bat_videotex_parameters id_bat".17" +#define id_bat_encrypted_parameters id_bat".18" +#define id_bat_message_parameters id_bat".19" +#define id_bat_ia5_text_data id_bat".20" +#define id_bat_g3_facsimile_data id_bat".22" +#define id_bat_teletex_data id_bat".23" +#define id_bat_videotex_data id_bat".24" +#define id_bat_encrypted_data id_bat".25" +#define id_bat_message_data id_bat".26" +#define id_nat_subject_ipm id_nat".0" +#define id_nat_ipn_originator id_nat".1" +#define id_nat_ipm_intended_recipient id_nat".2" +#define id_nat_conversion_eits id_nat".3" +#define id_nat_non_receipt_reason id_nat".4" +#define id_nat_discard_reason id_nat".5" +#define id_nat_auto_forward_comment id_nat".6" +#define id_nat_returned_ipm id_nat".7" +#define id_nat_receipt_time id_nat".8" +#define id_nat_acknowledgment_mode id_nat".9" +#define id_nat_suppl_receipt_info id_nat".10" +#define id_nat_notification_extensions id_nat".11" +#define id_nat_nrn_extensions id_nat".12" +#define id_nat_rn_extensions id_nat".13" +#define id_nat_other_notification_type_fields id_nat".14" +#define id_cat_correlated_delivered_ipns id_cat".0" +#define id_cat_correlated_delivered_replies id_cat".1" +#define id_cat_delivered_ipn_summary id_cat".2" +#define id_cat_delivered_replies_summary id_cat".3" +#define id_cat_forwarded_ipms id_cat".4" +#define id_cat_forwarding_ipms id_cat".5" +#define id_cat_ipm_recipients id_cat".6" +#define id_cat_obsoleted_ipms id_cat".7" +#define id_cat_obsoleting_ipms id_cat".8" +#define id_cat_related_ipms id_cat".9" +#define id_cat_relating_ipms id_cat".10" +#define id_cat_replied_to_ipm id_cat".11" +#define id_cat_replying_ipms id_cat".12" +#define id_cat_revised_reply_time id_cat".13" +#define id_cat_submitted_ipn_status id_cat".14" +#define id_cat_submitted_ipns id_cat".15" +#define id_cat_submitted_reply_status id_cat".16" +#define id_cat_subject_ipm id_cat".17" +#define id_cat_recipient_category id_cat".18" +#define id_mct_p2_1984 id_mct".0" +#define id_mct_p2_1988 id_mct".1" +#define id_ep_ia5_text id_ep".0" +#define id_ep_g3_facsimile id_ep".2" +#define id_ep_teletex id_ep".4" +#define id_ep_videotex id_ep".5" +#define id_ep_encrypted id_ep".6" +#define id_ep_message id_ep".7" +#define id_ep_general_text id_ep".11" +#define id_ep_file_transfer id_ep".12" +#define id_ep_notification id_ep".15" +#define id_ep_voice id_ep".16" +#define id_ep_content id_ep".17" +#define id_eit_file_transfer id_eit".0" +#define id_eit_voice id_eit".1" +#define id_voice_11khz_sample id_eit_voice".0" +#define id_voice_22khz_sample id_eit_voice".1" +#define id_voice_cd_quality id_eit_voice".2" +#define id_voice_g711_mu_law id_eit_voice".3" +#define id_voice_g726_32k_adpcm id_eit_voice".4" +#define id_voice_g728_16k_ld_celp id_eit_voice".5" +#define id_mr_ipm_identifier id_mr".0" +#define id_mr_or_descriptor id_mr".1" +#define id_mr_or_descriptor_elements id_mr".2" +#define id_mr_or_descriptor_substring_elements id_mr".3" +#define id_mr_recipient_specifier id_mr".4" +#define id_mr_recipient_specifier_elements id_mr".5" +#define id_mr_recipient_specifier_substring_elements id_mr".6" +#define id_mr_ipm_location id_mr".7" +#define id_mr_or_descriptor_single_element id_mr".8" +#define id_mr_recipient_specifier_single_element id_mr".9" +#define id_mr_circulation_member id_mr".10" +#define id_mr_circulation_member_elements id_mr".11" +#define id_mr_circulation_member_substring_elements id_mr".12" +#define id_mr_circulation_member_single_element id_mr".13" +#define id_mr_circulation_member_checkmark id_mr".14" +#define id_mr_distribution_code id_mr".15" +#define id_mr_information_category id_mr".16" +#define id_aa_ipm_auto_acknowledgement id_aa".0" +#define id_aa_ipm_auto_correlate id_aa".1" +#define id_aa_ipm_auto_discard id_aa".2" +#define id_aa_ipm_auto_advise id_aa".3" +#define id_aae_auto_discard_error id_aae".0" +#define id_aae_auto_forwarding_loop id_aae".1" +#define id_aae_duplicate_ipn id_aae".2" +#define id_mst_invalid_assembly_instructions id_mst".0" +#define id_mst_invalid_ipn id_mst".1" +#define id_mst_assembly_instructions id_mst".2" +#define id_mst_suspend_auto_acknowledgement id_mst".3" +#define id_mst_prevent_nrn_generation id_mst".4" +#define id_mst_originator_body_part_encryption_token id_mst".5" +#define id_mst_originator_forwarded_content_token id_mst".6" +#define id_mst_assembly_capability id_mst".7" +#define id_sec_ipm_security_request id_sec".0" +#define id_sec_security_common_fields id_sec".1" +#define id_on_absence_advice id_on".0" +#define id_on_change_of_address_advice id_on".1" +#define id_rex_circulation_list_indicator id_rex".0" +#define id_rex_precedence id_rex".1" +#define ub_alpha_code_length 16 +#define ub_auto_forward_comment 256 +#define ub_circulation_list_members 256 +#define ub_distribution_codes 16 +#define ub_extended_subject_length 256 +#define ub_free_form_name 64 +#define ub_information_categories 16 +#define ub_information_category_length 64 +#define ub_ipm_identifier_suffix 2 +#define ub_local_ipm_identifier 64 +#define ub_manual_handling_instruction_length 128 +#define ub_manual_handling_instructions 16 +#define ub_originators_reference_length 64 +#define ub_precedence 127 +#define ub_subject_field 128 +#define ub_telephone_number 32 + +/*--- End of included file: packet-p22-val.h ---*/ +#line 86 "packet-p22-template.c" + + +/*--- Included file: packet-p22-hf.c ---*/ +#line 1 "packet-p22-hf.c" +static int hf_p22_InformationObject_PDU = -1; /* InformationObject */ +static int hf_p22_Heading_PDU = -1; /* Heading */ +static int hf_p22_ORDescriptor_PDU = -1; /* ORDescriptor */ +static int hf_p22_ThisIPMField_PDU = -1; /* ThisIPMField */ +static int hf_p22_OriginatorField_PDU = -1; /* OriginatorField */ +static int hf_p22_AuthorizingUsersSubfield_PDU = -1; /* AuthorizingUsersSubfield */ +static int hf_p22_PrimaryRecipientsSubfield_PDU = -1; /* PrimaryRecipientsSubfield */ +static int hf_p22_CopyRecipientsSubfield_PDU = -1; /* CopyRecipientsSubfield */ +static int hf_p22_BlindCopyRecipientsSubfield_PDU = -1; /* BlindCopyRecipientsSubfield */ +static int hf_p22_RepliedToIPMField_PDU = -1; /* RepliedToIPMField */ +static int hf_p22_ObsoletedIPMsSubfield_PDU = -1; /* ObsoletedIPMsSubfield */ +static int hf_p22_RelatedIPMsSubfield_PDU = -1; /* RelatedIPMsSubfield */ +static int hf_p22_SubjectField_PDU = -1; /* SubjectField */ +static int hf_p22_ExpiryTimeField_PDU = -1; /* ExpiryTimeField */ +static int hf_p22_ReplyTimeField_PDU = -1; /* ReplyTimeField */ +static int hf_p22_ReplyRecipientsSubfield_PDU = -1; /* ReplyRecipientsSubfield */ +static int hf_p22_ImportanceField_PDU = -1; /* ImportanceField */ +static int hf_p22_SensitivityField_PDU = -1; /* SensitivityField */ +static int hf_p22_AutoForwardedField_PDU = -1; /* AutoForwardedField */ +static int hf_p22_Body_PDU = -1; /* Body */ +static int hf_p22_IA5TextParameters_PDU = -1; /* IA5TextParameters */ +static int hf_p22_IA5TextData_PDU = -1; /* IA5TextData */ +static int hf_p22_G3FacsimileParameters_PDU = -1; /* G3FacsimileParameters */ +static int hf_p22_G3FacsimileData_PDU = -1; /* G3FacsimileData */ +static int hf_p22_G4Class1BodyPart_PDU = -1; /* G4Class1BodyPart */ +static int hf_p22_MixedModeBodyPart_PDU = -1; /* MixedModeBodyPart */ +static int hf_p22_TeletexParameters_PDU = -1; /* TeletexParameters */ +static int hf_p22_TeletexData_PDU = -1; /* TeletexData */ +static int hf_p22_VideotexParameters_PDU = -1; /* VideotexParameters */ +static int hf_p22_VideotexData_PDU = -1; /* VideotexData */ +static int hf_p22_EncryptedParameters_PDU = -1; /* EncryptedParameters */ +static int hf_p22_EncryptedData_PDU = -1; /* EncryptedData */ +static int hf_p22_MessageParameters_PDU = -1; /* MessageParameters */ +static int hf_p22_MessageData_PDU = -1; /* MessageData */ +static int hf_p22_BilaterallyDefinedBodyPart_PDU = -1; /* BilaterallyDefinedBodyPart */ +static int hf_p22_IPN_PDU = -1; /* IPN */ +static int hf_p22_AbsenceAdvice_PDU = -1; /* AbsenceAdvice */ +static int hf_p22_ChangeOfAddressAdvice_PDU = -1; /* ChangeOfAddressAdvice */ +static int hf_p22_IPMAssemblyInstructions_PDU = -1; /* IPMAssemblyInstructions */ +static int hf_p22_IncompleteCopy_PDU = -1; /* IncompleteCopy */ +static int hf_p22_Languages_PDU = -1; /* Languages */ +static int hf_p22_Language_PDU = -1; /* Language */ +static int hf_p22_AutoSubmitted_PDU = -1; /* AutoSubmitted */ +static int hf_p22_BodyPartSignatures_PDU = -1; /* BodyPartSignatures */ +static int hf_p22_IPMSecurityLabel_PDU = -1; /* IPMSecurityLabel */ +static int hf_p22_BodyPartSecurityLabel_PDU = -1; /* BodyPartSecurityLabel */ +static int hf_p22_AuthorizationTime_PDU = -1; /* AuthorizationTime */ +static int hf_p22_CirculationList_PDU = -1; /* CirculationList */ +static int hf_p22_CirculationMember_PDU = -1; /* CirculationMember */ +static int hf_p22_CirculationListIndicator_PDU = -1; /* CirculationListIndicator */ +static int hf_p22_DistributionCodes_PDU = -1; /* DistributionCodes */ +static int hf_p22_DistributionCode_PDU = -1; /* DistributionCode */ +static int hf_p22_ExtendedSubject_PDU = -1; /* ExtendedSubject */ +static int hf_p22_InformationCategories_PDU = -1; /* InformationCategories */ +static int hf_p22_InformationCategory_PDU = -1; /* InformationCategory */ +static int hf_p22_ManualHandlingInstructions_PDU = -1; /* ManualHandlingInstructions */ +static int hf_p22_ManualHandlingInstruction_PDU = -1; /* ManualHandlingInstruction */ +static int hf_p22_OriginatorsReference_PDU = -1; /* OriginatorsReference */ +static int hf_p22_PrecedencePolicyIdentifier_PDU = -1; /* PrecedencePolicyIdentifier */ +static int hf_p22_Precedence_PDU = -1; /* Precedence */ +static int hf_p22_GeneralTextParameters_PDU = -1; /* GeneralTextParameters */ +static int hf_p22_GeneralTextData_PDU = -1; /* GeneralTextData */ +static int hf_p22_FileTransferParameters_PDU = -1; /* FileTransferParameters */ +static int hf_p22_FileTransferData_PDU = -1; /* FileTransferData */ +static int hf_p22_VoiceParameters_PDU = -1; /* VoiceParameters */ +static int hf_p22_VoiceData_PDU = -1; /* VoiceData */ +static int hf_p22_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */ +static int hf_p22_IPMEntryType_PDU = -1; /* IPMEntryType */ +static int hf_p22_IPMSynopsis_PDU = -1; /* IPMSynopsis */ +static int hf_p22_BodyPartDescriptor_PDU = -1; /* BodyPartDescriptor */ +static int hf_p22_BodyPartSignatureVerification_PDU = -1; /* BodyPartSignatureVerification */ +static int hf_p22_IPMLocation_PDU = -1; /* IPMLocation */ +static int hf_p22_DeliveredReplyStatus_PDU = -1; /* DeliveredReplyStatus */ +static int hf_p22_CorrelatedDeliveredReplies_PDU = -1; /* CorrelatedDeliveredReplies */ +static int hf_p22_DeliveredIPNStatus_PDU = -1; /* DeliveredIPNStatus */ +static int hf_p22_CorrelatedDeliveredIPNs_PDU = -1; /* CorrelatedDeliveredIPNs */ +static int hf_p22_SubmittedReplyStatus_PDU = -1; /* SubmittedReplyStatus */ +static int hf_p22_SubmittedIPNStatus_PDU = -1; /* SubmittedIPNStatus */ +static int hf_p22_RecipientCategory_PDU = -1; /* RecipientCategory */ +static int hf_p22_RecipientSecurityRequest_PDU = -1; /* RecipientSecurityRequest */ +static int hf_p22_IpnSecurityResponse_PDU = -1; /* IpnSecurityResponse */ +static int hf_p22_BodyPartTokens_PDU = -1; /* BodyPartTokens */ +static int hf_p22_ForwardedContentToken_PDU = -1; /* ForwardedContentToken */ +static int hf_p22_ipm = -1; /* IPM */ +static int hf_p22_ipn = -1; /* IPN */ +static int hf_p22_heading = -1; /* Heading */ +static int hf_p22_body = -1; /* Body */ +static int hf_p22_type = -1; /* T_type */ +static int hf_p22_value = -1; /* T_value */ +static int hf_p22_this_IPM = -1; /* ThisIPMField */ +static int hf_p22_originator = -1; /* OriginatorField */ +static int hf_p22_authorizing_users = -1; /* AuthorizingUsersField */ +static int hf_p22_primary_recipients = -1; /* PrimaryRecipientsField */ +static int hf_p22_copy_recipients = -1; /* CopyRecipientsField */ +static int hf_p22_blind_copy_recipients = -1; /* BlindCopyRecipientsField */ +static int hf_p22_replied_to_IPM = -1; /* RepliedToIPMField */ +static int hf_p22_obsoleted_IPMs = -1; /* ObsoletedIPMsField */ +static int hf_p22_related_IPMs = -1; /* RelatedIPMsField */ +static int hf_p22_subject = -1; /* SubjectField */ +static int hf_p22_expiry_time = -1; /* ExpiryTimeField */ +static int hf_p22_reply_time = -1; /* ReplyTimeField */ +static int hf_p22_reply_recipients = -1; /* ReplyRecipientsField */ +static int hf_p22_importance = -1; /* ImportanceField */ +static int hf_p22_sensitivity = -1; /* SensitivityField */ +static int hf_p22_auto_forwarded = -1; /* AutoForwardedField */ +static int hf_p22_extensions = -1; /* ExtensionsField */ +static int hf_p22_user = -1; /* ORName */ +static int hf_p22_user_relative_identifier = -1; /* LocalIPMIdentifier */ +static int hf_p22_recipient = -1; /* ORDescriptor */ +static int hf_p22_notification_requests = -1; /* NotificationRequests */ +static int hf_p22_reply_requested = -1; /* BOOLEAN */ +static int hf_p22_recipient_extensions = -1; /* RecipientExtensionsField */ +static int hf_p22_formal_name = -1; /* ORName */ +static int hf_p22_free_form_name = -1; /* FreeFormName */ +static int hf_p22_telephone_number = -1; /* TelephoneNumber */ +static int hf_p22_RecipientExtensionsField_item = -1; /* IPMSExtension */ +static int hf_p22_AuthorizingUsersField_item = -1; /* AuthorizingUsersSubfield */ +static int hf_p22_PrimaryRecipientsField_item = -1; /* PrimaryRecipientsSubfield */ +static int hf_p22_CopyRecipientsField_item = -1; /* CopyRecipientsSubfield */ +static int hf_p22_BlindCopyRecipientsField_item = -1; /* BlindCopyRecipientsSubfield */ +static int hf_p22_ObsoletedIPMsField_item = -1; /* ObsoletedIPMsSubfield */ +static int hf_p22_RelatedIPMsField_item = -1; /* RelatedIPMsSubfield */ +static int hf_p22_ReplyRecipientsField_item = -1; /* ReplyRecipientsSubfield */ +static int hf_p22_ExtensionsField_item = -1; /* IPMSExtension */ +static int hf_p22_Body_item = -1; /* BodyPart */ +static int hf_p22_basic = -1; /* T_basic */ +static int hf_p22_ia5_text = -1; /* IA5TextBodyPart */ +static int hf_p22_g3_facsimile = -1; /* G3FacsimileBodyPart */ +static int hf_p22_g4_class1 = -1; /* G4Class1BodyPart */ +static int hf_p22_teletex = -1; /* TeletexBodyPart */ +static int hf_p22_videotex = -1; /* VideotexBodyPart */ +static int hf_p22_encrypted_bp = -1; /* EncryptedBodyPart */ +static int hf_p22_message = -1; /* MessageBodyPart */ +static int hf_p22_mixed_mode = -1; /* MixedModeBodyPart */ +static int hf_p22_bilaterally_defined = -1; /* BilaterallyDefinedBodyPart */ +static int hf_p22_nationally_defined = -1; /* NationallyDefinedBodyPart */ +static int hf_p22_extended = -1; /* ExtendedBodyPart */ +static int hf_p22_extended_parameters = -1; /* INSTANCE_OF */ +static int hf_p22_extended_data = -1; /* INSTANCE_OF */ +static int hf_p22_ia5text_parameters = -1; /* IA5TextParameters */ +static int hf_p22_ia5text_data = -1; /* IA5TextData */ +static int hf_p22_repertoire = -1; /* Repertoire */ +static int hf_p22_g3facsimile_parameters = -1; /* G3FacsimileParameters */ +static int hf_p22_g3facsimile_data = -1; /* G3FacsimileData */ +static int hf_p22_number_of_pages = -1; /* INTEGER */ +static int hf_p22_g3facsimile_non_basic_parameters = -1; /* G3FacsimileNonBasicParameters */ +static int hf_p22_G3FacsimileData_item = -1; /* BIT_STRING */ +static int hf_p22_G4Class1BodyPart_item = -1; /* Interchange_Data_Element */ +static int hf_p22_MixedModeBodyPart_item = -1; /* Interchange_Data_Element */ +static int hf_p22_teletex_parameters = -1; /* TeletexParameters */ +static int hf_p22_teletex_data = -1; /* TeletexData */ +static int hf_p22_telex_compatible = -1; /* BOOLEAN */ +static int hf_p22_teletex_non_basic_parameters = -1; /* TeletexNonBasicParameters */ +static int hf_p22_TeletexData_item = -1; /* TeletexString */ +static int hf_p22_videotex_parameters = -1; /* VideotexParameters */ +static int hf_p22_videotex_data = -1; /* VideotexData */ +static int hf_p22_syntax = -1; /* VideotexSyntax */ +static int hf_p22_encrypted_parameters = -1; /* EncryptedParameters */ +static int hf_p22_encrypted_data = -1; /* EncryptedData */ +static int hf_p22_algorithm_identifier = -1; /* AlgorithmIdentifier */ +static int hf_p22_originator_certificates = -1; /* ExtendedCertificates */ +static int hf_p22_message_parameters = -1; /* MessageParameters */ +static int hf_p22_message_data = -1; /* MessageData */ +static int hf_p22_delivery_time = -1; /* MessageDeliveryTime */ +static int hf_p22_delivery_envelope = -1; /* OtherMessageDeliveryFields */ +static int hf_p22_subject_ipm = -1; /* SubjectIPMField */ +static int hf_p22_ipn_originator = -1; /* IPNOriginatorField */ +static int hf_p22_ipm_intended_recipient = -1; /* IPMIntendedRecipientField */ +static int hf_p22_conversion_eits = -1; /* ConversionEITsField */ +static int hf_p22_notification_extensions = -1; /* NotificationExtensionsField */ +static int hf_p22_non_receipt_reason = -1; /* NonReceiptReasonField */ +static int hf_p22_discard_reason = -1; /* DiscardReasonField */ +static int hf_p22_auto_forward_comment = -1; /* AutoForwardCommentField */ +static int hf_p22_returned_ipm = -1; /* ReturnedIPMField */ +static int hf_p22_nrn_extensions = -1; /* NRNExtensionsField */ +static int hf_p22_receipt_time = -1; /* ReceiptTimeField */ +static int hf_p22_acknowledgment_mode = -1; /* AcknowledgmentModeField */ +static int hf_p22_suppl_receipt_info = -1; /* SupplReceiptInfoField */ +static int hf_p22_rn_extensions = -1; /* RNExtensionsField */ +static int hf_p22_NotificationExtensionsField_item = -1; /* IPMSExtension */ +static int hf_p22_NRNExtensionsField_item = -1; /* IPMSExtension */ +static int hf_p22_RNExtensionsField_item = -1; /* IPMSExtension */ +static int hf_p22_OtherNotificationTypeFields_item = -1; /* IPMSExtension */ +static int hf_p22_advice = -1; /* BodyPart */ +static int hf_p22_next_available = -1; /* Time */ +static int hf_p22_new_address = -1; /* ORDescriptor */ +static int hf_p22_effective_from = -1; /* Time */ +static int hf_p22_assembly_instructions = -1; /* BodyPartReferences */ +static int hf_p22_BodyPartReferences_item = -1; /* BodyPartReference */ +static int hf_p22_stored_entry = -1; /* SequenceNumber */ +static int hf_p22_stored_content = -1; /* SequenceNumber */ +static int hf_p22_submitted_body_part = -1; /* INTEGER_1_MAX */ +static int hf_p22_stored_body_part = -1; /* T_stored_body_part */ +static int hf_p22_message_entry = -1; /* SequenceNumber */ +static int hf_p22_body_part_number = -1; /* BodyPartNumber */ +static int hf_p22_Languages_item = -1; /* Language */ +static int hf_p22_BodyPartSignatures_item = -1; /* BodyPartSignatures_item */ +static int hf_p22_body_part_signature = -1; /* BodyPartSignature */ +static int hf_p22_originator_certificate_selector = -1; /* CertificateAssertion */ +static int hf_p22_algorithmIdentifier = -1; /* AlgorithmIdentifier */ +static int hf_p22_encrypted = -1; /* BIT_STRING */ +static int hf_p22_content_security_label = -1; /* SecurityLabel */ +static int hf_p22_heading_security_label = -1; /* SecurityLabel */ +static int hf_p22_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */ +static int hf_p22_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */ +static int hf_p22_body_part_unlabelled = -1; /* NULL */ +static int hf_p22_body_part_security_label = -1; /* SecurityLabel */ +static int hf_p22_CirculationList_item = -1; /* CirculationMember */ +static int hf_p22_circulation_recipient = -1; /* RecipientSpecifier */ +static int hf_p22_checked = -1; /* Checkmark */ +static int hf_p22_simple = -1; /* NULL */ +static int hf_p22_timestamped = -1; /* CirculationTime */ +static int hf_p22_signed = -1; /* CirculationSignature */ +static int hf_p22_circulation_signature_algorithm_identifier = -1; /* CirculationSignatureAlgorithmIdentifier */ +static int hf_p22_timestamp = -1; /* CirculationTime */ +static int hf_p22_circulation_signature_data = -1; /* CirculationSignatureData */ +static int hf_p22_DistributionCodes_item = -1; /* DistributionCode */ +static int hf_p22_oid_code = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_alphanumeric_code = -1; /* AlphaCode */ +static int hf_p22_or_descriptor = -1; /* ORDescriptor */ +static int hf_p22_InformationCategories_item = -1; /* InformationCategory */ +static int hf_p22_reference = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_description = -1; /* DescriptionString */ +static int hf_p22_ManualHandlingInstructions_item = -1; /* ManualHandlingInstruction */ +static int hf_p22_GeneralTextParameters_item = -1; /* CharacterSetRegistration */ +static int hf_p22_related_stored_file = -1; /* RelatedStoredFile */ +static int hf_p22_contents_type = -1; /* ContentsTypeParameter */ +static int hf_p22_environment = -1; /* EnvironmentParameter */ +static int hf_p22_compression = -1; /* CompressionParameter */ +static int hf_p22_file_attributes = -1; /* FileAttributes */ +static int hf_p22_FileTransferData_item = -1; /* EXTERNAL */ +static int hf_p22_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */ +static int hf_p22_file_identifier = -1; /* FileIdentifier */ +static int hf_p22_relationship = -1; /* Relationship */ +static int hf_p22_pathname_and_version = -1; /* PathnameandVersion */ +static int hf_p22_cross_reference = -1; /* CrossReference */ +static int hf_p22_pathname = -1; /* Pathname_Attribute */ +static int hf_p22_file_version = -1; /* GraphicString */ +static int hf_p22_application_cross_reference = -1; /* OCTET_STRING */ +static int hf_p22_message_reference = -1; /* MessageReference */ +static int hf_p22_body_part_reference = -1; /* INTEGER */ +static int hf_p22_user_relative_identifier_ref = -1; /* PrintableString */ +static int hf_p22_explicit_relationship = -1; /* ExplicitRelationship */ +static int hf_p22_descriptive_relationship = -1; /* GraphicString */ +static int hf_p22_document_type = -1; /* T_document_type */ +static int hf_p22_document_type_name = -1; /* Document_Type_Name */ +static int hf_p22_parameter = -1; /* T_parameter */ +static int hf_p22_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */ +static int hf_p22_constraint_set_name = -1; /* Constraint_Set_Name */ +static int hf_p22_abstract_syntax_name = -1; /* Abstract_Syntax_Name */ +static int hf_p22_application_reference = -1; /* GeneralIdentifier */ +static int hf_p22_machine = -1; /* GeneralIdentifier */ +static int hf_p22_operating_system = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_user_visible_string = -1; /* T_user_visible_string */ +static int hf_p22_user_visible_string_item = -1; /* GraphicString */ +static int hf_p22_registered_identifier = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_descriptive_identifier = -1; /* T_descriptive_identifier */ +static int hf_p22_descriptive_identifier_item = -1; /* GraphicString */ +static int hf_p22_compression_algorithm_id = -1; /* T_compression_algorithm_id */ +static int hf_p22_compression_algorithm_param = -1; /* T_compression_algorithm_param */ +static int hf_p22_permitted_actions = -1; /* Permitted_Actions_Attribute */ +static int hf_p22_storage_account = -1; /* Account_Attribute */ +static int hf_p22_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */ +static int hf_p22_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */ +static int hf_p22_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */ +static int hf_p22_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */ +static int hf_p22_identity_of_creator = -1; /* User_Identity_Attribute */ +static int hf_p22_identity_of_last_modifier = -1; /* User_Identity_Attribute */ +static int hf_p22_identity_of_last_reader = -1; /* User_Identity_Attribute */ +static int hf_p22_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */ +static int hf_p22_object_availability = -1; /* Object_Availability_Attribute */ +static int hf_p22_object_size = -1; /* Object_Size_Attribute */ +static int hf_p22_future_object_size = -1; /* Object_Size_Attribute */ +static int hf_p22_access_control = -1; /* Access_Control_Attribute */ +static int hf_p22_legal_qualifications = -1; /* Legal_Qualification_Attribute */ +static int hf_p22_private_use = -1; /* Private_Use_Attribute */ +static int hf_p22_attribute_extensions = -1; /* Attribute_Extensions */ +static int hf_p22_incomplete_pathname = -1; /* Pathname */ +static int hf_p22_complete_pathname = -1; /* Pathname */ +static int hf_p22_no_value_available = -1; /* NULL */ +static int hf_p22_account_actual_values = -1; /* Account */ +static int hf_p22_identity_actual_values = -1; /* User_Identity */ +static int hf_p22_actual_values = -1; /* SET_OF_Access_Control_Element */ +static int hf_p22_actual_values_item = -1; /* Access_Control_Element */ +static int hf_p22_action_list = -1; /* Access_Request */ +static int hf_p22_concurrency_access = -1; /* Concurrency_Access */ +static int hf_p22_identity = -1; /* User_Identity */ +static int hf_p22_passwords = -1; /* Access_Passwords */ +static int hf_p22_location = -1; /* Application_Entity_Title */ +static int hf_p22_read_password = -1; /* Password */ +static int hf_p22_insert_password = -1; /* Password */ +static int hf_p22_replace_password = -1; /* Password */ +static int hf_p22_extend_password = -1; /* Password */ +static int hf_p22_erase_password = -1; /* Password */ +static int hf_p22_read_attribute_password = -1; /* Password */ +static int hf_p22_change_attribute_password = -1; /* Password */ +static int hf_p22_delete_password = -1; /* Password */ +static int hf_p22_pass_passwords = -1; /* Pass_Passwords */ +static int hf_p22_link_password = -1; /* Password */ +static int hf_p22_graphic_string = -1; /* GraphicString */ +static int hf_p22_octet_string = -1; /* OCTET_STRING */ +static int hf_p22_Pass_Passwords_item = -1; /* Password */ +static int hf_p22_ap_title = -1; /* AP_title */ +static int hf_p22_ae_qualifier = -1; /* AE_qualifier */ +static int hf_p22_voice_message_duration = -1; /* INTEGER */ +static int hf_p22_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_supplementary_information = -1; /* IA5String */ +static int hf_p22_mts_identifier = -1; /* MessageDeliveryIdentifier */ +static int hf_p22_submission_proof = -1; /* SubmissionProof */ +static int hf_p22_proof_of_submission = -1; /* ProofOfSubmission */ +static int hf_p22_originating_MTA_certificate = -1; /* OriginatingMTACertificate */ +static int hf_p22_message_submission_envelope = -1; /* MessageSubmissionEnvelope */ +static int hf_p22_IPMSynopsis_item = -1; /* BodyPartSynopsis */ +static int hf_p22_message_synopsis = -1; /* MessageBodyPartSynopsis */ +static int hf_p22_non_message = -1; /* NonMessageBodyPartSynopsis */ +static int hf_p22_number = -1; /* SequenceNumber */ +static int hf_p22_synopsis = -1; /* IPMSynopsis */ +static int hf_p22_bp_type = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_bp_parameters = -1; /* INSTANCE_OF */ +static int hf_p22_size = -1; /* INTEGER */ +static int hf_p22_processed = -1; /* BOOLEAN */ +static int hf_p22_data = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_parameters = -1; /* OBJECT_IDENTIFIER */ +static int hf_p22_this_child_entry = -1; /* SequenceNumber */ +static int hf_p22_position = -1; /* INTEGER */ +static int hf_p22_BodyPartSignatureVerification_item = -1; /* BodyPartSignatureVerification_item */ +static int hf_p22_body_part_sequence_number = -1; /* BodyPartNumber */ +static int hf_p22_body_part_signature_status = -1; /* SignatureStatus */ +static int hf_p22_stored = -1; /* SET_OF_SequenceNumber */ +static int hf_p22_stored_item = -1; /* SequenceNumber */ +static int hf_p22_absent = -1; /* NULL */ +static int hf_p22_no_reply_received = -1; /* NULL */ +static int hf_p22_received_replies = -1; /* SEQUENCE_OF_SequenceNumber */ +static int hf_p22_received_replies_item = -1; /* SequenceNumber */ +static int hf_p22_no_ipn_received = -1; /* NULL */ +static int hf_p22_ipns_received = -1; /* SEQUENCE_OF_SequenceNumber */ +static int hf_p22_ipns_received_item = -1; /* SequenceNumber */ +static int hf_p22_content_or_arguments = -1; /* T_content_or_arguments */ +static int hf_p22_original_content = -1; /* OriginalContent */ +static int hf_p22_original_security_arguments = -1; /* T_original_security_arguments */ +static int hf_p22_original_content_integrity_check = -1; /* OriginalContentIntegrityCheck */ +static int hf_p22_original_message_origin_authentication_check = -1; /* OriginalMessageOriginAuthenticationCheck */ +static int hf_p22_original_message_token = -1; /* OriginalMessageToken */ +static int hf_p22_security_diagnostic_code = -1; /* SecurityDiagnosticCode */ +static int hf_p22_BodyPartTokens_item = -1; /* BodyPartTokens_item */ +static int hf_p22_body_part_choice = -1; /* T_body_part_choice */ +static int hf_p22_encryption_token = -1; /* EncryptionToken */ +static int hf_p22_message_or_content_body_part = -1; /* BodyPartTokens */ +static int hf_p22_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */ +static int hf_p22_encrypted_key = -1; /* BIT_STRING */ +static int hf_p22_recipient_certificate_selector = -1; /* CertificateAssertion */ +static int hf_p22_recipient_certificate = -1; /* Certificates */ +static int hf_p22_ForwardedContentToken_item = -1; /* ForwardedContentToken_item */ +static int hf_p22_body_part_token_choice = -1; /* T_body_part_token_choice */ +static int hf_p22_forwarding_token = -1; /* MessageToken */ +static int hf_p22_forwarded_content_token = -1; /* ForwardedContentToken */ +static int hf_p22_choice = -1; /* T_choice */ +static int hf_p22_non_receipt_fields = -1; /* NonReceiptFields */ +static int hf_p22_receipt_fields = -1; /* ReceiptFields */ +static int hf_p22_other_notification_type_fields = -1; /* OtherNotificationTypeFields */ +/* named bits */ +static int hf_p22_NotificationRequests_rn = -1; +static int hf_p22_NotificationRequests_nrn = -1; +static int hf_p22_NotificationRequests_ipm_return = -1; +static int hf_p22_NotificationRequests_an_supported = -1; +static int hf_p22_NotificationRequests_suppress_an = -1; +static int hf_p22_Access_Request_read = -1; +static int hf_p22_Access_Request_insert = -1; +static int hf_p22_Access_Request_replace = -1; +static int hf_p22_Access_Request_extend = -1; +static int hf_p22_Access_Request_erase = -1; +static int hf_p22_Access_Request_read_attribute = -1; +static int hf_p22_Access_Request_change_attribute = -1; +static int hf_p22_Access_Request_delete_object = -1; +static int hf_p22_RecipientSecurityRequest_content_non_repudiation = -1; +static int hf_p22_RecipientSecurityRequest_content_proof = -1; +static int hf_p22_RecipientSecurityRequest_ipn_non_repudiation = -1; +static int hf_p22_RecipientSecurityRequest_ipn_proof = -1; + +/*--- End of included file: packet-p22-hf.c ---*/ +#line 88 "packet-p22-template.c" + +/* Initialize the subtree pointers */ +static gint ett_p22 = -1; + +/*--- Included file: packet-p22-ett.c ---*/ +#line 1 "packet-p22-ett.c" +static gint ett_p22_InformationObject = -1; +static gint ett_p22_IPM = -1; +static gint ett_p22_IPMSExtension = -1; +static gint ett_p22_Heading = -1; +static gint ett_p22_IPMIdentifier_U = -1; +static gint ett_p22_RecipientSpecifier = -1; +static gint ett_p22_ORDescriptor = -1; +static gint ett_p22_NotificationRequests = -1; +static gint ett_p22_RecipientExtensionsField = -1; +static gint ett_p22_AuthorizingUsersField = -1; +static gint ett_p22_PrimaryRecipientsField = -1; +static gint ett_p22_CopyRecipientsField = -1; +static gint ett_p22_BlindCopyRecipientsField = -1; +static gint ett_p22_ObsoletedIPMsField = -1; +static gint ett_p22_RelatedIPMsField = -1; +static gint ett_p22_ReplyRecipientsField = -1; +static gint ett_p22_ExtensionsField = -1; +static gint ett_p22_Body = -1; +static gint ett_p22_BodyPart = -1; +static gint ett_p22_T_basic = -1; +static gint ett_p22_ExtendedBodyPart = -1; +static gint ett_p22_IA5TextBodyPart = -1; +static gint ett_p22_IA5TextParameters = -1; +static gint ett_p22_G3FacsimileBodyPart = -1; +static gint ett_p22_G3FacsimileParameters = -1; +static gint ett_p22_G3FacsimileData = -1; +static gint ett_p22_G4Class1BodyPart = -1; +static gint ett_p22_MixedModeBodyPart = -1; +static gint ett_p22_TeletexBodyPart = -1; +static gint ett_p22_TeletexParameters = -1; +static gint ett_p22_TeletexData = -1; +static gint ett_p22_VideotexBodyPart = -1; +static gint ett_p22_VideotexParameters = -1; +static gint ett_p22_EncryptedBodyPart = -1; +static gint ett_p22_EncryptedParameters = -1; +static gint ett_p22_MessageBodyPart = -1; +static gint ett_p22_MessageParameters = -1; +static gint ett_p22_IPN = -1; +static gint ett_p22_CommonFields = -1; +static gint ett_p22_NonReceiptFields = -1; +static gint ett_p22_ReceiptFields = -1; +static gint ett_p22_NotificationExtensionsField = -1; +static gint ett_p22_NRNExtensionsField = -1; +static gint ett_p22_RNExtensionsField = -1; +static gint ett_p22_OtherNotificationTypeFields = -1; +static gint ett_p22_AbsenceAdvice = -1; +static gint ett_p22_ChangeOfAddressAdvice = -1; +static gint ett_p22_IPMAssemblyInstructions = -1; +static gint ett_p22_BodyPartReferences = -1; +static gint ett_p22_BodyPartReference = -1; +static gint ett_p22_T_stored_body_part = -1; +static gint ett_p22_Languages = -1; +static gint ett_p22_BodyPartSignatures = -1; +static gint ett_p22_BodyPartSignatures_item = -1; +static gint ett_p22_Signature = -1; +static gint ett_p22_IPMSecurityLabel = -1; +static gint ett_p22_SEQUENCE_OF_BodyPartSecurityLabel = -1; +static gint ett_p22_BodyPartSecurityLabel = -1; +static gint ett_p22_CirculationList = -1; +static gint ett_p22_CirculationMember = -1; +static gint ett_p22_Checkmark = -1; +static gint ett_p22_CirculationSignatureData = -1; +static gint ett_p22_CirculationSignature = -1; +static gint ett_p22_DistributionCodes = -1; +static gint ett_p22_DistributionCode = -1; +static gint ett_p22_InformationCategories = -1; +static gint ett_p22_InformationCategory = -1; +static gint ett_p22_ManualHandlingInstructions = -1; +static gint ett_p22_GeneralTextParameters = -1; +static gint ett_p22_FileTransferParameters = -1; +static gint ett_p22_FileTransferData = -1; +static gint ett_p22_RelatedStoredFile = -1; +static gint ett_p22_RelatedStoredFile_item = -1; +static gint ett_p22_FileIdentifier = -1; +static gint ett_p22_PathnameandVersion = -1; +static gint ett_p22_CrossReference = -1; +static gint ett_p22_MessageReference = -1; +static gint ett_p22_Relationship = -1; +static gint ett_p22_Contents_Type_Attribute = -1; +static gint ett_p22_T_document_type = -1; +static gint ett_p22_T_constraint_set_and_abstract_syntax = -1; +static gint ett_p22_EnvironmentParameter = -1; +static gint ett_p22_T_user_visible_string = -1; +static gint ett_p22_GeneralIdentifier = -1; +static gint ett_p22_T_descriptive_identifier = -1; +static gint ett_p22_CompressionParameter = -1; +static gint ett_p22_FileAttributes = -1; +static gint ett_p22_Pathname_Attribute = -1; +static gint ett_p22_Account_Attribute = -1; +static gint ett_p22_User_Identity_Attribute = -1; +static gint ett_p22_Access_Control_Attribute = -1; +static gint ett_p22_SET_OF_Access_Control_Element = -1; +static gint ett_p22_Access_Control_Element = -1; +static gint ett_p22_Access_Request = -1; +static gint ett_p22_Access_Passwords = -1; +static gint ett_p22_Password = -1; +static gint ett_p22_Pass_Passwords = -1; +static gint ett_p22_Application_Entity_Title = -1; +static gint ett_p22_VoiceParameters = -1; +static gint ett_p22_ForwardedContentParameters = -1; +static gint ett_p22_SubmissionProof = -1; +static gint ett_p22_IPMSynopsis = -1; +static gint ett_p22_BodyPartSynopsis = -1; +static gint ett_p22_MessageBodyPartSynopsis = -1; +static gint ett_p22_NonMessageBodyPartSynopsis = -1; +static gint ett_p22_BodyPartDescriptor = -1; +static gint ett_p22_BodyPartSignatureVerification = -1; +static gint ett_p22_BodyPartSignatureVerification_item = -1; +static gint ett_p22_IPMLocation = -1; +static gint ett_p22_SET_OF_SequenceNumber = -1; +static gint ett_p22_CorrelatedDeliveredReplies = -1; +static gint ett_p22_SEQUENCE_OF_SequenceNumber = -1; +static gint ett_p22_CorrelatedDeliveredIPNs = -1; +static gint ett_p22_RecipientSecurityRequest = -1; +static gint ett_p22_IpnSecurityResponse = -1; +static gint ett_p22_T_content_or_arguments = -1; +static gint ett_p22_T_original_security_arguments = -1; +static gint ett_p22_BodyPartTokens = -1; +static gint ett_p22_BodyPartTokens_item = -1; +static gint ett_p22_T_body_part_choice = -1; +static gint ett_p22_EncryptionToken = -1; +static gint ett_p22_ForwardedContentToken = -1; +static gint ett_p22_ForwardedContentToken_item = -1; +static gint ett_p22_T_body_part_token_choice = -1; +static gint ett_p22_T_choice = -1; + +/*--- End of included file: packet-p22-ett.c ---*/ +#line 92 "packet-p22-template.c" + + +/*--- Included file: packet-p22-fn.c ---*/ +#line 1 "packet-p22-fn.c" +/*--- Cyclic dependencies ---*/ + +/* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */ +int dissect_p22_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); + +/* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */ +static int dissect_p22_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); + +/* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */ +static int dissect_p22_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); + +/* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */ +static int dissect_p22_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); + + + + +static int +dissect_p22_Time(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_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p22_LocalIPMIdentifier(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 0, ub_local_ipm_identifier, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t IPMIdentifier_U_set[] = { + { &hf_p22_user , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ORName }, + { &hf_p22_user_relative_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p22_LocalIPMIdentifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IPMIdentifier_U(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, + IPMIdentifier_U_set, hf_index, ett_p22_IPMIdentifier_U); + + return offset; +} + + + +static int +dissect_p22_IPMIdentifier(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_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 11, TRUE, dissect_p22_IPMIdentifier_U); + + return offset; +} + + + +static int +dissect_p22_ThisIPMField(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_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_FreeFormName(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 0, ub_free_form_name, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_TelephoneNumber(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 0, ub_telephone_number, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t ORDescriptor_set[] = { + { &hf_p22_formal_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ORName }, + { &hf_p22_free_form_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_FreeFormName }, + { &hf_p22_telephone_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_TelephoneNumber }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p22_ORDescriptor(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, + ORDescriptor_set, hf_index, ett_p22_ORDescriptor); + + return offset; +} + + + +static int +dissect_p22_OriginatorField(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_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_AuthorizingUsersSubfield(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_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t AuthorizingUsersField_sequence_of[1] = { + { &hf_p22_AuthorizingUsersField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_AuthorizingUsersSubfield }, +}; + +static int +dissect_p22_AuthorizingUsersField(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, + AuthorizingUsersField_sequence_of, hf_index, ett_p22_AuthorizingUsersField); + + return offset; +} + + +static const asn_namedbit NotificationRequests_bits[] = { + { 0, &hf_p22_NotificationRequests_rn, -1, -1, "rn", NULL }, + { 1, &hf_p22_NotificationRequests_nrn, -1, -1, "nrn", NULL }, + { 2, &hf_p22_NotificationRequests_ipm_return, -1, -1, "ipm-return", NULL }, + { 3, &hf_p22_NotificationRequests_an_supported, -1, -1, "an-supported", NULL }, + { 4, &hf_p22_NotificationRequests_suppress_an, -1, -1, "suppress-an", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p22_NotificationRequests(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, tree, tvb, offset, + NotificationRequests_bits, hf_index, ett_p22_NotificationRequests, + NULL); + + return offset; +} + + + +static int +dissect_p22_BOOLEAN(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_T_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 221 "p22.cnf" + const char *name = NULL; + + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); + + + name = oid_resolved_from_string(object_identifier_id); + proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id); + + + + return offset; +} + + + +static int +dissect_p22_T_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_) { +#line 229 "p22.cnf" + + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + + + + return offset; +} + + +static const ber_sequence_t IPMSExtension_sequence[] = { + { &hf_p22_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_T_type }, + { &hf_p22_value , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_T_value }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IPMSExtension(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, + IPMSExtension_sequence, hf_index, ett_p22_IPMSExtension); + + return offset; +} + + +static const ber_sequence_t RecipientExtensionsField_set_of[1] = { + { &hf_p22_RecipientExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension }, +}; + +static int +dissect_p22_RecipientExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, + RecipientExtensionsField_set_of, hf_index, ett_p22_RecipientExtensionsField); + + return offset; +} + + +static const ber_sequence_t RecipientSpecifier_set[] = { + { &hf_p22_recipient , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor }, + { &hf_p22_notification_requests, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_NotificationRequests }, + { &hf_p22_reply_requested , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN }, + { &hf_p22_recipient_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RecipientExtensionsField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_RecipientSpecifier(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, + RecipientSpecifier_set, hf_index, ett_p22_RecipientSpecifier); + + return offset; +} + + + +static int +dissect_p22_PrimaryRecipientsSubfield(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_p22_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t PrimaryRecipientsField_sequence_of[1] = { + { &hf_p22_PrimaryRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_PrimaryRecipientsSubfield }, +}; + +static int +dissect_p22_PrimaryRecipientsField(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, + PrimaryRecipientsField_sequence_of, hf_index, ett_p22_PrimaryRecipientsField); + + return offset; +} + + + +static int +dissect_p22_CopyRecipientsSubfield(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_p22_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t CopyRecipientsField_sequence_of[1] = { + { &hf_p22_CopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_CopyRecipientsSubfield }, +}; + +static int +dissect_p22_CopyRecipientsField(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, + CopyRecipientsField_sequence_of, hf_index, ett_p22_CopyRecipientsField); + + return offset; +} + + + +static int +dissect_p22_BlindCopyRecipientsSubfield(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_p22_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t BlindCopyRecipientsField_sequence_of[1] = { + { &hf_p22_BlindCopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BlindCopyRecipientsSubfield }, +}; + +static int +dissect_p22_BlindCopyRecipientsField(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, + BlindCopyRecipientsField_sequence_of, hf_index, ett_p22_BlindCopyRecipientsField); + + return offset; +} + + + +static int +dissect_p22_RepliedToIPMField(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_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_ObsoletedIPMsSubfield(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_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t ObsoletedIPMsField_sequence_of[1] = { + { &hf_p22_ObsoletedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_ObsoletedIPMsSubfield }, +}; + +static int +dissect_p22_ObsoletedIPMsField(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, + ObsoletedIPMsField_sequence_of, hf_index, ett_p22_ObsoletedIPMsField); + + return offset; +} + + + +static int +dissect_p22_RelatedIPMsSubfield(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_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t RelatedIPMsField_sequence_of[1] = { + { &hf_p22_RelatedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_RelatedIPMsSubfield }, +}; + +static int +dissect_p22_RelatedIPMsField(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, + RelatedIPMsField_sequence_of, hf_index, ett_p22_RelatedIPMsField); + + return offset; +} + + + +static int +dissect_p22_SubjectField(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 249 "p22.cnf" + tvbuff_t *subject=NULL; + + offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, + 0, ub_subject_field, hf_index, &subject); + + + if(subject && check_col(actx->pinfo->cinfo, COL_INFO)) + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", tvb_format_text(subject, 0, tvb_length(subject))); + + + + return offset; +} + + + +static int +dissect_p22_ExpiryTimeField(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_p22_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_ReplyTimeField(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_p22_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_ReplyRecipientsSubfield(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_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t ReplyRecipientsField_sequence_of[1] = { + { &hf_p22_ReplyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ReplyRecipientsSubfield }, +}; + +static int +dissect_p22_ReplyRecipientsField(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, + ReplyRecipientsField_sequence_of, hf_index, ett_p22_ReplyRecipientsField); + + return offset; +} + + +static const value_string p22_ImportanceField_vals[] = { + { 0, "low" }, + { 1, "normal" }, + { 2, "high" }, + { 0, NULL } +}; + + +static int +dissect_p22_ImportanceField(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_SensitivityField_vals[] = { + { 1, "personal" }, + { 2, "private" }, + { 3, "company-confidential" }, + { 0, NULL } +}; + + +static int +dissect_p22_SensitivityField(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p22_AutoForwardedField(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t ExtensionsField_set_of[1] = { + { &hf_p22_ExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension }, +}; + +int +dissect_p22_ExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, + ExtensionsField_set_of, hf_index, ett_p22_ExtensionsField); + + return offset; +} + + +static const ber_sequence_t Heading_set[] = { + { &hf_p22_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_ThisIPMField }, + { &hf_p22_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginatorField }, + { &hf_p22_authorizing_users, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AuthorizingUsersField }, + { &hf_p22_primary_recipients, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_PrimaryRecipientsField }, + { &hf_p22_copy_recipients , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_CopyRecipientsField }, + { &hf_p22_blind_copy_recipients, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BlindCopyRecipientsField }, + { &hf_p22_replied_to_IPM , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RepliedToIPMField }, + { &hf_p22_obsoleted_IPMs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ObsoletedIPMsField }, + { &hf_p22_related_IPMs , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RelatedIPMsField }, + { &hf_p22_subject , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_p22_SubjectField }, + { &hf_p22_expiry_time , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ExpiryTimeField }, + { &hf_p22_reply_time , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ReplyTimeField }, + { &hf_p22_reply_recipients, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ReplyRecipientsField }, + { &hf_p22_importance , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ImportanceField }, + { &hf_p22_sensitivity , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SensitivityField }, + { &hf_p22_auto_forwarded , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AutoForwardedField }, + { &hf_p22_extensions , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ExtensionsField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Heading(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, + Heading_set, hf_index, ett_p22_Heading); + + return offset; +} + + +static const value_string p22_Repertoire_vals[] = { + { 2, "ita2" }, + { 5, "ia5" }, + { 0, NULL } +}; + + +static int +dissect_p22_Repertoire(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t IA5TextParameters_set[] = { + { &hf_p22_repertoire , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Repertoire }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IA5TextParameters(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, + IA5TextParameters_set, hf_index, ett_p22_IA5TextParameters); + + return offset; +} + + + +static int +dissect_p22_IA5TextData(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t IA5TextBodyPart_sequence[] = { + { &hf_p22_ia5text_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_IA5TextParameters }, + { &hf_p22_ia5text_data , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p22_IA5TextData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IA5TextBodyPart(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, + IA5TextBodyPart_sequence, hf_index, ett_p22_IA5TextBodyPart); + + return offset; +} + + + +static int +dissect_p22_INTEGER(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t G3FacsimileParameters_set[] = { + { &hf_p22_number_of_pages , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { &hf_p22_g3facsimile_non_basic_parameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_G3FacsimileNonBasicParameters }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_G3FacsimileParameters(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, + G3FacsimileParameters_set, hf_index, ett_p22_G3FacsimileParameters); + + return offset; +} + + + +static int +dissect_p22_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, tree, tvb, offset, + NULL, hf_index, -1, + NULL); + + return offset; +} + + +static const ber_sequence_t G3FacsimileData_sequence_of[1] = { + { &hf_p22_G3FacsimileData_item, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING }, +}; + +static int +dissect_p22_G3FacsimileData(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, + G3FacsimileData_sequence_of, hf_index, ett_p22_G3FacsimileData); + + return offset; +} + + +static const ber_sequence_t G3FacsimileBodyPart_sequence[] = { + { &hf_p22_g3facsimile_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_G3FacsimileParameters }, + { &hf_p22_g3facsimile_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_G3FacsimileData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_G3FacsimileBodyPart(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, + G3FacsimileBodyPart_sequence, hf_index, ett_p22_G3FacsimileBodyPart); + + return offset; +} + + + +static int +dissect_p22_Interchange_Data_Element(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 267 "p22.cnf" +/* XXX Not implemented yet */ + + + + return offset; +} + + +static const ber_sequence_t G4Class1BodyPart_sequence_of[1] = { + { &hf_p22_G4Class1BodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p22_Interchange_Data_Element }, +}; + +static int +dissect_p22_G4Class1BodyPart(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, + G4Class1BodyPart_sequence_of, hf_index, ett_p22_G4Class1BodyPart); + + return offset; +} + + +static const ber_sequence_t TeletexParameters_set[] = { + { &hf_p22_number_of_pages , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { &hf_p22_telex_compatible, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN }, + { &hf_p22_teletex_non_basic_parameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexNonBasicParameters }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_TeletexParameters(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, + TeletexParameters_set, hf_index, ett_p22_TeletexParameters); + + return offset; +} + + + +static int +dissect_p22_TeletexString(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_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t TeletexData_sequence_of[1] = { + { &hf_p22_TeletexData_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p22_TeletexString }, +}; + +static int +dissect_p22_TeletexData(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, + TeletexData_sequence_of, hf_index, ett_p22_TeletexData); + + return offset; +} + + +static const ber_sequence_t TeletexBodyPart_sequence[] = { + { &hf_p22_teletex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_TeletexParameters }, + { &hf_p22_teletex_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_TeletexData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_TeletexBodyPart(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, + TeletexBodyPart_sequence, hf_index, ett_p22_TeletexBodyPart); + + return offset; +} + + +static const value_string p22_VideotexSyntax_vals[] = { + { 0, "ids" }, + { 1, "data-syntax1" }, + { 2, "data-syntax2" }, + { 3, "data-syntax3" }, + { 0, NULL } +}; + + +static int +dissect_p22_VideotexSyntax(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t VideotexParameters_set[] = { + { &hf_p22_syntax , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_VideotexSyntax }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_VideotexParameters(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, + VideotexParameters_set, hf_index, ett_p22_VideotexParameters); + + return offset; +} + + + +static int +dissect_p22_VideotexData(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_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t VideotexBodyPart_sequence[] = { + { &hf_p22_videotex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_VideotexParameters }, + { &hf_p22_videotex_data , BER_CLASS_UNI, BER_UNI_TAG_VideotexString, BER_FLAGS_NOOWNTAG, dissect_p22_VideotexData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_VideotexBodyPart(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, + VideotexBodyPart_sequence, hf_index, ett_p22_VideotexBodyPart); + + return offset; +} + + +static const ber_sequence_t EncryptedParameters_set[] = { + { &hf_p22_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p22_originator_certificates, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedCertificates }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_EncryptedParameters(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, + EncryptedParameters_set, hf_index, ett_p22_EncryptedParameters); + + return offset; +} + + + +static int +dissect_p22_EncryptedData(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, tree, tvb, offset, + NULL, hf_index, -1, + NULL); + + return offset; +} + + +static const ber_sequence_t EncryptedBodyPart_sequence[] = { + { &hf_p22_encrypted_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_EncryptedParameters }, + { &hf_p22_encrypted_data , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_EncryptedData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_EncryptedBodyPart(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, + EncryptedBodyPart_sequence, hf_index, ett_p22_EncryptedBodyPart); + + return offset; +} + + +static const ber_sequence_t MessageParameters_set[] = { + { &hf_p22_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p22_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p22_MessageParameters(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, + MessageParameters_set, hf_index, ett_p22_MessageParameters); + + return offset; +} + + + +static int +dissect_p22_MessageData(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_p22_IPM(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t MessageBodyPart_sequence[] = { + { &hf_p22_message_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_MessageParameters }, + { &hf_p22_message_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_MessageData }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_MessageBodyPart(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, + MessageBodyPart_sequence, hf_index, ett_p22_MessageBodyPart); + + return offset; +} + + +static const ber_sequence_t MixedModeBodyPart_sequence_of[1] = { + { &hf_p22_MixedModeBodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p22_Interchange_Data_Element }, +}; + +static int +dissect_p22_MixedModeBodyPart(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, + MixedModeBodyPart_sequence_of, hf_index, ett_p22_MixedModeBodyPart); + + return offset; +} + + + +static int +dissect_p22_BilaterallyDefinedBodyPart(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p22_NationallyDefinedBodyPart(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 270 "p22.cnf" +/* XXX Not implemented yet */ + + + + return offset; +} + + +static const value_string p22_T_basic_vals[] = { + { 0, "ia5-text" }, + { 3, "g3-facsimile" }, + { 4, "g4-class1" }, + { 5, "teletex" }, + { 6, "videotex" }, + { 8, "encrypted" }, + { 9, "message" }, + { 11, "mixed-mode" }, + { 14, "bilaterally-defined" }, + { 7, "nationally-defined" }, + { 0, NULL } +}; + +static const ber_choice_t T_basic_choice[] = { + { 0, &hf_p22_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_IA5TextBodyPart }, + { 3, &hf_p22_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p22_G3FacsimileBodyPart }, + { 4, &hf_p22_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p22_G4Class1BodyPart }, + { 5, &hf_p22_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_p22_TeletexBodyPart }, + { 6, &hf_p22_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_p22_VideotexBodyPart }, + { 8, &hf_p22_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_p22_EncryptedBodyPart }, + { 9, &hf_p22_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_p22_MessageBodyPart }, + { 11, &hf_p22_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_p22_MixedModeBodyPart }, + { 14, &hf_p22_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_p22_BilaterallyDefinedBodyPart }, + { 7, &hf_p22_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_p22_NationallyDefinedBodyPart }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_basic(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_basic_choice, hf_index, ett_p22_T_basic, + NULL); + + return offset; +} + + + +static int +dissect_p22_INSTANCE_OF(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t ExtendedBodyPart_sequence[] = { + { &hf_p22_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INSTANCE_OF }, + { &hf_p22_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_p22_INSTANCE_OF }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_ExtendedBodyPart(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, + ExtendedBodyPart_sequence, hf_index, ett_p22_ExtendedBodyPart); + + return offset; +} + + +static const value_string p22_BodyPart_vals[] = { + { 0, "basic" }, + { 1, "extended" }, + { 0, NULL } +}; + +static const ber_choice_t BodyPart_choice[] = { + { 0, &hf_p22_basic , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p22_T_basic }, + { 1, &hf_p22_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_p22_ExtendedBodyPart }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPart(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, + BodyPart_choice, hf_index, ett_p22_BodyPart, + NULL); + + return offset; +} + + +static const ber_sequence_t Body_sequence_of[1] = { + { &hf_p22_Body_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPart }, +}; + +static int +dissect_p22_Body(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, + Body_sequence_of, hf_index, ett_p22_Body); + + return offset; +} + + +static const ber_sequence_t IPM_sequence[] = { + { &hf_p22_heading , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_Heading }, + { &hf_p22_body , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_Body }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p22_IPM(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 233 "p22.cnf" + + col_append_str(actx->pinfo->cinfo, COL_INFO, " Message"); + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + IPM_sequence, hf_index, ett_p22_IPM); + + + + + + return offset; +} + + + +static int +dissect_p22_SubjectIPMField(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_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_IPNOriginatorField(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_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_IPMIntendedRecipientField(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_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_ConversionEITsField(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_p1_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t NotificationExtensionsField_set_of[1] = { + { &hf_p22_NotificationExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension }, +}; + +static int +dissect_p22_NotificationExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, + NotificationExtensionsField_set_of, hf_index, ett_p22_NotificationExtensionsField); + + return offset; +} + + +const value_string p22_NonReceiptReasonField_vals[] = { + { 0, "ipm-discarded" }, + { 1, "ipm-auto-forwarded" }, + { 0, NULL } +}; + + +int +dissect_p22_NonReceiptReasonField(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +const value_string p22_DiscardReasonField_vals[] = { + { 0, "ipm-expired" }, + { 1, "ipm-obsoleted" }, + { 2, "user-subscription-terminated" }, + { 3, "not-used" }, + { 0, NULL } +}; + + +int +dissect_p22_DiscardReasonField(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p22_AutoForwardComment(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 0, ub_auto_forward_comment, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_AutoForwardCommentField(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_p22_AutoForwardComment(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_ReturnedIPMField(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_p22_IPM(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t NRNExtensionsField_set_of[1] = { + { &hf_p22_NRNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension }, +}; + +static int +dissect_p22_NRNExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, + NRNExtensionsField_set_of, hf_index, ett_p22_NRNExtensionsField); + + return offset; +} + + +static const ber_sequence_t NonReceiptFields_set[] = { + { &hf_p22_non_receipt_reason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NonReceiptReasonField }, + { &hf_p22_discard_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_DiscardReasonField }, + { &hf_p22_auto_forward_comment, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AutoForwardCommentField }, + { &hf_p22_returned_ipm , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ReturnedIPMField }, + { &hf_p22_nrn_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_NRNExtensionsField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_NonReceiptFields(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, + NonReceiptFields_set, hf_index, ett_p22_NonReceiptFields); + + return offset; +} + + + +int +dissect_p22_ReceiptTimeField(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_p22_Time(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string p22_AcknowledgmentModeField_vals[] = { + { 0, "manual" }, + { 1, "automatic" }, + { 0, NULL } +}; + + +static int +dissect_p22_AcknowledgmentModeField(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p22_SupplReceiptInfoField(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_p1_SupplementaryInformation(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t RNExtensionsField_set_of[1] = { + { &hf_p22_RNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension }, +}; + +static int +dissect_p22_RNExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, + RNExtensionsField_set_of, hf_index, ett_p22_RNExtensionsField); + + return offset; +} + + +static const ber_sequence_t ReceiptFields_set[] = { + { &hf_p22_receipt_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ReceiptTimeField }, + { &hf_p22_acknowledgment_mode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AcknowledgmentModeField }, + { &hf_p22_suppl_receipt_info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SupplReceiptInfoField }, + { &hf_p22_rn_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RNExtensionsField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_ReceiptFields(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, + ReceiptFields_set, hf_index, ett_p22_ReceiptFields); + + return offset; +} + + +static const ber_sequence_t OtherNotificationTypeFields_set_of[1] = { + { &hf_p22_OtherNotificationTypeFields_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension }, +}; + +static int +dissect_p22_OtherNotificationTypeFields(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_of(implicit_tag, actx, tree, tvb, offset, + OtherNotificationTypeFields_set_of, hf_index, ett_p22_OtherNotificationTypeFields); + + return offset; +} + + +static const value_string p22_T_choice_vals[] = { + { 0, "non-receipt-fields" }, + { 1, "receipt-fields" }, + { 2, "other-notification-type-fields" }, + { 0, NULL } +}; + +static const ber_choice_t T_choice_choice[] = { + { 0, &hf_p22_non_receipt_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NonReceiptFields }, + { 1, &hf_p22_receipt_fields , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_ReceiptFields }, + { 2, &hf_p22_other_notification_type_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p22_OtherNotificationTypeFields }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_choice(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_choice_choice, hf_index, ett_p22_T_choice, + NULL); + + return offset; +} + + +static const ber_sequence_t IPN_set[] = { + { &hf_p22_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_SubjectIPMField }, + { &hf_p22_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_IPNOriginatorField }, + { &hf_p22_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_IPMIntendedRecipientField }, + { &hf_p22_conversion_eits , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_ConversionEITsField }, + { &hf_p22_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_NotificationExtensionsField }, + { &hf_p22_choice , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_T_choice }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_p22_IPN(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 240 "p22.cnf" + + col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification"); + + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + IPN_set, hf_index, ett_p22_IPN); + + + + + return offset; +} + + +const value_string p22_InformationObject_vals[] = { + { 0, "ipm" }, + { 1, "ipn" }, + { 0, NULL } +}; + +static const ber_choice_t InformationObject_choice[] = { + { 0, &hf_p22_ipm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_IPM }, + { 1, &hf_p22_ipn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_IPN }, + { 0, NULL, 0, 0, 0, NULL } +}; + +int +dissect_p22_InformationObject(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, + InformationObject_choice, hf_index, ett_p22_InformationObject, + NULL); + + return offset; +} + + + +static const ber_sequence_t AbsenceAdvice_sequence[] = { + { &hf_p22_advice , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPart }, + { &hf_p22_next_available , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_Time }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_AbsenceAdvice(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, + AbsenceAdvice_sequence, hf_index, ett_p22_AbsenceAdvice); + + return offset; +} + + +static const ber_sequence_t ChangeOfAddressAdvice_sequence[] = { + { &hf_p22_new_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor }, + { &hf_p22_effective_from , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Time }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_ChangeOfAddressAdvice(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, + ChangeOfAddressAdvice_sequence, hf_index, ett_p22_ChangeOfAddressAdvice); + + return offset; +} + + + +static int +dissect_p22_INTEGER_1_MAX(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 1U, NO_BOUND, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_BodyPartNumber(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 1U, NO_BOUND, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t T_stored_body_part_sequence[] = { + { &hf_p22_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber }, + { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_stored_body_part(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_stored_body_part_sequence, hf_index, ett_p22_T_stored_body_part); + + return offset; +} + + +static const value_string p22_BodyPartReference_vals[] = { + { 0, "stored-entry" }, + { 1, "stored-content" }, + { 2, "submitted-body-part" }, + { 3, "stored-body-part" }, + { 0, NULL } +}; + +static const ber_choice_t BodyPartReference_choice[] = { + { 0, &hf_p22_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, + { 1, &hf_p22_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, + { 2, &hf_p22_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER_1_MAX }, + { 3, &hf_p22_stored_body_part, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p22_T_stored_body_part }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartReference(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, + BodyPartReference_choice, hf_index, ett_p22_BodyPartReference, + NULL); + + return offset; +} + + +static const ber_sequence_t BodyPartReferences_sequence_of[1] = { + { &hf_p22_BodyPartReferences_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPartReference }, +}; + +static int +dissect_p22_BodyPartReferences(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, + BodyPartReferences_sequence_of, hf_index, ett_p22_BodyPartReferences); + + return offset; +} + + +static const ber_sequence_t IPMAssemblyInstructions_set[] = { + { &hf_p22_assembly_instructions, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_BodyPartReferences }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IPMAssemblyInstructions(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, + IPMAssemblyInstructions_set, hf_index, ett_p22_IPMAssemblyInstructions); + + return offset; +} + + + +static int +dissect_p22_IncompleteCopy(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p22_Language(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, + 2, 5, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t Languages_set_of[1] = { + { &hf_p22_Languages_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p22_Language }, +}; + +static int +dissect_p22_Languages(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_of(implicit_tag, actx, tree, tvb, offset, + Languages_set_of, hf_index, ett_p22_Languages); + + return offset; +} + + +static const value_string p22_AutoSubmitted_vals[] = { + { 0, "not-auto-submitted" }, + { 1, "auto-generated" }, + { 2, "auto-replied" }, + { 0, NULL } +}; + + +static int +dissect_p22_AutoSubmitted(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t Signature_sequence[] = { + { &hf_p22_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p22_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Signature(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, + Signature_sequence, hf_index, ett_p22_Signature); + + return offset; +} + + + +static int +dissect_p22_BodyPartSignature(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_p22_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t BodyPartSignatures_item_set[] = { + { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber }, + { &hf_p22_body_part_signature, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartSignature }, + { &hf_p22_originator_certificate_selector, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p22_originator_certificates, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedCertificates }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartSignatures_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_set(implicit_tag, actx, tree, tvb, offset, + BodyPartSignatures_item_set, hf_index, ett_p22_BodyPartSignatures_item); + + return offset; +} + + +static const ber_sequence_t BodyPartSignatures_set_of[1] = { + { &hf_p22_BodyPartSignatures_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartSignatures_item }, +}; + +static int +dissect_p22_BodyPartSignatures(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_of(implicit_tag, actx, tree, tvb, offset, + BodyPartSignatures_set_of, hf_index, ett_p22_BodyPartSignatures); + + return offset; +} + + + +static int +dissect_p22_NULL(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const value_string p22_BodyPartSecurityLabel_vals[] = { + { 0, "body-part-unlabelled" }, + { 1, "body-part-security-label" }, + { 0, NULL } +}; + +static const ber_choice_t BodyPartSecurityLabel_choice[] = { + { 0, &hf_p22_body_part_unlabelled, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL }, + { 1, &hf_p22_body_part_security_label, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartSecurityLabel(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, + BodyPartSecurityLabel_choice, hf_index, ett_p22_BodyPartSecurityLabel, + NULL); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = { + { &hf_p22_body_part_security_labels_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPartSecurityLabel }, +}; + +static int +dissect_p22_SEQUENCE_OF_BodyPartSecurityLabel(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_BodyPartSecurityLabel_sequence_of, hf_index, ett_p22_SEQUENCE_OF_BodyPartSecurityLabel); + + return offset; +} + + +static const ber_sequence_t IPMSecurityLabel_sequence[] = { + { &hf_p22_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { &hf_p22_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { &hf_p22_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SEQUENCE_OF_BodyPartSecurityLabel }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IPMSecurityLabel(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, + IPMSecurityLabel_sequence, hf_index, ett_p22_IPMSecurityLabel); + + return offset; +} + + + +static int +dissect_p22_AuthorizationTime(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_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p22_CirculationTime(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_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p22_CirculationSignatureAlgorithmIdentifier(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_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t CirculationSignatureData_sequence[] = { + { &hf_p22_circulation_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationSignatureAlgorithmIdentifier }, + { &hf_p22_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_ThisIPMField }, + { &hf_p22_timestamp , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationTime }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CirculationSignatureData(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, + CirculationSignatureData_sequence, hf_index, ett_p22_CirculationSignatureData); + + return offset; +} + + +static const ber_sequence_t CirculationSignature_sequence[] = { + { &hf_p22_circulation_signature_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationSignatureData }, + { &hf_p22_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p22_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CirculationSignature(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, + CirculationSignature_sequence, hf_index, ett_p22_CirculationSignature); + + return offset; +} + + +static const value_string p22_Checkmark_vals[] = { + { 0, "simple" }, + { 1, "timestamped" }, + { 2, "signed" }, + { 0, NULL } +}; + +static const ber_choice_t Checkmark_choice[] = { + { 0, &hf_p22_simple , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p22_NULL }, + { 1, &hf_p22_timestamped , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationTime }, + { 2, &hf_p22_signed , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationSignature }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Checkmark(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, + Checkmark_choice, hf_index, ett_p22_Checkmark, + NULL); + + return offset; +} + + +static const ber_sequence_t CirculationMember_set[] = { + { &hf_p22_circulation_recipient, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_RecipientSpecifier }, + { &hf_p22_checked , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Checkmark }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CirculationMember(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, + CirculationMember_set, hf_index, ett_p22_CirculationMember); + + return offset; +} + + +static const ber_sequence_t CirculationList_sequence_of[1] = { + { &hf_p22_CirculationList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationMember }, +}; + +static int +dissect_p22_CirculationList(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 2, ub_circulation_list_members, CirculationList_sequence_of, hf_index, ett_p22_CirculationList); + + return offset; +} + + + +static int +dissect_p22_CirculationListIndicator(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + + +static int +dissect_p22_OBJECT_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_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_AlphaCode(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t DistributionCode_sequence[] = { + { &hf_p22_oid_code , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_alphanumeric_code, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_AlphaCode }, + { &hf_p22_or_descriptor , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_DistributionCode(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, + DistributionCode_sequence, hf_index, ett_p22_DistributionCode); + + return offset; +} + + +static const ber_sequence_t DistributionCodes_sequence_of[1] = { + { &hf_p22_DistributionCodes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_DistributionCode }, +}; + +static int +dissect_p22_DistributionCodes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_distribution_codes, DistributionCodes_sequence_of, hf_index, ett_p22_DistributionCodes); + + return offset; +} + + + +static int +dissect_p22_ExtendedSubject(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_DescriptionString(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t InformationCategory_sequence[] = { + { &hf_p22_reference , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_description , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_DescriptionString }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_InformationCategory(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, + InformationCategory_sequence, hf_index, ett_p22_InformationCategory); + + return offset; +} + + +static const ber_sequence_t InformationCategories_sequence_of[1] = { + { &hf_p22_InformationCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_InformationCategory }, +}; + +static int +dissect_p22_InformationCategories(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_information_categories, InformationCategories_sequence_of, hf_index, ett_p22_InformationCategories); + + return offset; +} + + + +static int +dissect_p22_ManualHandlingInstruction(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t ManualHandlingInstructions_sequence_of[1] = { + { &hf_p22_ManualHandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ManualHandlingInstruction }, +}; + +static int +dissect_p22_ManualHandlingInstructions(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, + 1, ub_manual_handling_instructions, ManualHandlingInstructions_sequence_of, hf_index, ett_p22_ManualHandlingInstructions); + + return offset; +} + + + +static int +dissect_p22_OriginatorsReference(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_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_PrecedencePolicyIdentifier(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, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_Precedence(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 0U, ub_precedence, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_CharacterSetRegistration(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 260 "p22.cnf" + guint32 crs; + offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, + 1U, 32767U, hf_index, &crs); + + + if(actx->created_item) + proto_item_append_text(actx->created_item, " (%s)", val_to_str(crs, charsetreg_vals, "unknown")); + + + + return offset; +} + + +static const ber_sequence_t GeneralTextParameters_set_of[1] = { + { &hf_p22_GeneralTextParameters_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_CharacterSetRegistration }, +}; + +static int +dissect_p22_GeneralTextParameters(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_of(implicit_tag, actx, tree, tvb, offset, + GeneralTextParameters_set_of, hf_index, ett_p22_GeneralTextParameters); + + return offset; +} + + + +static int +dissect_p22_GeneralTextData(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_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_Pathname_Attribute_vals[] = { + { 0, "incomplete-pathname" }, + { 23, "complete-pathname" }, + { 0, NULL } +}; + +static const ber_choice_t Pathname_Attribute_choice[] = { + { 0, &hf_p22_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname }, + { 23, &hf_p22_complete_pathname, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Pathname_Attribute(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, + Pathname_Attribute_choice, hf_index, ett_p22_Pathname_Attribute, + NULL); + + return offset; +} + + + +static int +dissect_p22_GraphicString(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_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t PathnameandVersion_sequence[] = { + { &hf_p22_pathname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Pathname_Attribute }, + { &hf_p22_file_version , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_GraphicString }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_PathnameandVersion(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, + PathnameandVersion_sequence, hf_index, ett_p22_PathnameandVersion); + + return offset; +} + + + +static int +dissect_p22_OCTET_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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p22_PrintableString(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_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MessageReference_set[] = { + { &hf_p22_user , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ORName }, + { &hf_p22_user_relative_identifier_ref, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_PrintableString }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_MessageReference(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, + MessageReference_set, hf_index, ett_p22_MessageReference); + + return offset; +} + + +static const ber_sequence_t CrossReference_sequence[] = { + { &hf_p22_application_cross_reference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OCTET_STRING }, + { &hf_p22_message_reference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_MessageReference }, + { &hf_p22_body_part_reference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CrossReference(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, + CrossReference_sequence, hf_index, ett_p22_CrossReference); + + return offset; +} + + +static const value_string p22_FileIdentifier_vals[] = { + { 0, "pathname-and-version" }, + { 1, "cross-reference" }, + { 0, NULL } +}; + +static const ber_choice_t FileIdentifier_choice[] = { + { 0, &hf_p22_pathname_and_version, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_PathnameandVersion }, + { 1, &hf_p22_cross_reference , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_CrossReference }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_FileIdentifier(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, + FileIdentifier_choice, hf_index, ett_p22_FileIdentifier, + NULL); + + return offset; +} + + +static const value_string p22_ExplicitRelationship_vals[] = { + { 0, "unspecified" }, + { 1, "new-file" }, + { 2, "replacement" }, + { 3, "extension" }, + { 0, NULL } +}; + + +static int +dissect_p22_ExplicitRelationship(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_Relationship_vals[] = { + { 0, "explicit-relationship" }, + { 1, "descriptive-relationship" }, + { 0, NULL } +}; + +static const ber_choice_t Relationship_choice[] = { + { 0, &hf_p22_explicit_relationship, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ExplicitRelationship }, + { 1, &hf_p22_descriptive_relationship, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_GraphicString }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Relationship(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, + Relationship_choice, hf_index, ett_p22_Relationship, + NULL); + + return offset; +} + + +static const ber_sequence_t RelatedStoredFile_item_sequence[] = { + { &hf_p22_file_identifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_FileIdentifier }, + { &hf_p22_relationship , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Relationship }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_RelatedStoredFile_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, + RelatedStoredFile_item_sequence, hf_index, ett_p22_RelatedStoredFile_item); + + return offset; +} + + +static const ber_sequence_t RelatedStoredFile_set_of[1] = { + { &hf_p22_RelatedStoredFile_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_RelatedStoredFile_item }, +}; + +static int +dissect_p22_RelatedStoredFile(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_of(implicit_tag, actx, tree, tvb, offset, + RelatedStoredFile_set_of, hf_index, ett_p22_RelatedStoredFile); + + return offset; +} + + + +static int +dissect_p22_Document_Type_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, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_T_parameter(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 273 "p22.cnf" +/* XXX: Not implemented yet */ + + + + return offset; +} + + +static const ber_sequence_t T_document_type_sequence[] = { + { &hf_p22_document_type_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_Document_Type_Name }, + { &hf_p22_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_T_parameter }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_document_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_sequence(implicit_tag, actx, tree, tvb, offset, + T_document_type_sequence, hf_index, ett_p22_T_document_type); + + return offset; +} + + + +static int +dissect_p22_Constraint_Set_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, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + + +static int +dissect_p22_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(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = { + { &hf_p22_constraint_set_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_Constraint_Set_Name }, + { &hf_p22_abstract_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_Abstract_Syntax_Name }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_constraint_set_and_abstract_syntax(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_constraint_set_and_abstract_syntax_sequence, hf_index, ett_p22_T_constraint_set_and_abstract_syntax); + + return offset; +} + + +static const value_string p22_Contents_Type_Attribute_vals[] = { + { 0, "document-type" }, + { 1, "constraint-set-and-abstract-syntax" }, + { 0, NULL } +}; + +static const ber_choice_t Contents_Type_Attribute_choice[] = { + { 0, &hf_p22_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_T_document_type }, + { 1, &hf_p22_constraint_set_and_abstract_syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_T_constraint_set_and_abstract_syntax }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Contents_Type_Attribute(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, + Contents_Type_Attribute_choice, hf_index, ett_p22_Contents_Type_Attribute, + NULL); + + return offset; +} + + + +static int +dissect_p22_ContentsTypeParameter(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_p22_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t T_descriptive_identifier_sequence_of[1] = { + { &hf_p22_descriptive_identifier_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_GraphicString }, +}; + +static int +dissect_p22_T_descriptive_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_sequence_of(implicit_tag, actx, tree, tvb, offset, + T_descriptive_identifier_sequence_of, hf_index, ett_p22_T_descriptive_identifier); + + return offset; +} + + +static const value_string p22_GeneralIdentifier_vals[] = { + { 0, "registered-identifier" }, + { 1, "descriptive-identifier" }, + { 0, NULL } +}; + +static const ber_choice_t GeneralIdentifier_choice[] = { + { 0, &hf_p22_registered_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { 1, &hf_p22_descriptive_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_T_descriptive_identifier }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_GeneralIdentifier(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, + GeneralIdentifier_choice, hf_index, ett_p22_GeneralIdentifier, + NULL); + + return offset; +} + + +static const ber_sequence_t T_user_visible_string_sequence_of[1] = { + { &hf_p22_user_visible_string_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_GraphicString }, +}; + +static int +dissect_p22_T_user_visible_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_sequence_of(implicit_tag, actx, tree, tvb, offset, + T_user_visible_string_sequence_of, hf_index, ett_p22_T_user_visible_string); + + return offset; +} + + +static const ber_sequence_t EnvironmentParameter_sequence[] = { + { &hf_p22_application_reference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_GeneralIdentifier }, + { &hf_p22_machine , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_GeneralIdentifier }, + { &hf_p22_operating_system, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_user_visible_string, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_T_user_visible_string }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_EnvironmentParameter(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, + EnvironmentParameter_sequence, hf_index, ett_p22_EnvironmentParameter); + + return offset; +} + + + +static int +dissect_p22_T_compression_algorithm_id(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 276 "p22.cnf" + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); + + + + return offset; +} + + + +static int +dissect_p22_T_compression_algorithm_param(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 279 "p22.cnf" +/* XXX: Not implemented yet */ + + + + return offset; +} + + +static const ber_sequence_t CompressionParameter_sequence[] = { + { &hf_p22_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_T_compression_algorithm_id }, + { &hf_p22_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_T_compression_algorithm_param }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CompressionParameter(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, + CompressionParameter_sequence, hf_index, ett_p22_CompressionParameter); + + return offset; +} + + + +static int +dissect_p22_Account(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_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_Account_Attribute_vals[] = { + { 0, "no-value-available" }, + { 1, "actual-values" }, + { 0, NULL } +}; + +static const ber_choice_t Account_Attribute_choice[] = { + { 0, &hf_p22_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL }, + { 1, &hf_p22_account_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_Account }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Account_Attribute(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, + Account_Attribute_choice, hf_index, ett_p22_Account_Attribute, + NULL); + + return offset; +} + + + +static int +dissect_p22_User_Identity(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_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_User_Identity_Attribute_vals[] = { + { 0, "no-value-available" }, + { 1, "actual-values" }, + { 0, NULL } +}; + +static const ber_choice_t User_Identity_Attribute_choice[] = { + { 0, &hf_p22_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL }, + { 1, &hf_p22_identity_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_User_Identity }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_User_Identity_Attribute(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_Identity_Attribute_choice, hf_index, ett_p22_User_Identity_Attribute, + NULL); + + return offset; +} + + +static const asn_namedbit Access_Request_bits[] = { + { 0, &hf_p22_Access_Request_read, -1, -1, "read", NULL }, + { 1, &hf_p22_Access_Request_insert, -1, -1, "insert", NULL }, + { 2, &hf_p22_Access_Request_replace, -1, -1, "replace", NULL }, + { 3, &hf_p22_Access_Request_extend, -1, -1, "extend", NULL }, + { 4, &hf_p22_Access_Request_erase, -1, -1, "erase", NULL }, + { 5, &hf_p22_Access_Request_read_attribute, -1, -1, "read-attribute", NULL }, + { 6, &hf_p22_Access_Request_change_attribute, -1, -1, "change-attribute", NULL }, + { 7, &hf_p22_Access_Request_delete_object, -1, -1, "delete-object", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p22_Access_Request(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, tree, tvb, offset, + Access_Request_bits, hf_index, ett_p22_Access_Request, + NULL); + + return offset; +} + + +static const value_string p22_Password_vals[] = { + { 0, "graphic-string" }, + { 1, "octet-string" }, + { 0, NULL } +}; + +static const ber_choice_t Password_choice[] = { + { 0, &hf_p22_graphic_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_GraphicString }, + { 1, &hf_p22_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_OCTET_STRING }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Password(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, + Password_choice, hf_index, ett_p22_Password, + NULL); + + return offset; +} + + +static const ber_sequence_t Pass_Passwords_sequence_of[1] = { + { &hf_p22_Pass_Passwords_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, +}; + +static int +dissect_p22_Pass_Passwords(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, + Pass_Passwords_sequence_of, hf_index, ett_p22_Pass_Passwords); + + return offset; +} + + +static const ber_sequence_t Access_Passwords_sequence[] = { + { &hf_p22_read_password , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_insert_password , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_replace_password, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_extend_password , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_erase_password , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_read_attribute_password, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_change_attribute_password, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_delete_password , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { &hf_p22_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_p22_Pass_Passwords }, + { &hf_p22_link_password , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Access_Passwords(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, + Access_Passwords_sequence, hf_index, ett_p22_Access_Passwords); + + return offset; +} + + +static const ber_sequence_t Application_Entity_Title_sequence[] = { + { &hf_p22_ap_title , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title }, + { &hf_p22_ae_qualifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_qualifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Application_Entity_Title(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, + Application_Entity_Title_sequence, hf_index, ett_p22_Application_Entity_Title); + + return offset; +} + + +static const ber_sequence_t Access_Control_Element_sequence[] = { + { &hf_p22_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_Access_Request }, + { &hf_p22_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access }, + { &hf_p22_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_User_Identity }, + { &hf_p22_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Access_Passwords }, + { &hf_p22_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Application_Entity_Title }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Access_Control_Element(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, + Access_Control_Element_sequence, hf_index, ett_p22_Access_Control_Element); + + return offset; +} + + +static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = { + { &hf_p22_actual_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_Access_Control_Element }, +}; + +static int +dissect_p22_SET_OF_Access_Control_Element(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_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_Access_Control_Element_set_of, hf_index, ett_p22_SET_OF_Access_Control_Element); + + return offset; +} + + +static const value_string p22_Access_Control_Attribute_vals[] = { + { 0, "no-value-available" }, + { 1, "actual-values" }, + { 0, NULL } +}; + +static const ber_choice_t Access_Control_Attribute_choice[] = { + { 0, &hf_p22_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL }, + { 1, &hf_p22_actual_values , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_SET_OF_Access_Control_Element }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_Access_Control_Attribute(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, + Access_Control_Attribute_choice, hf_index, ett_p22_Access_Control_Attribute, + NULL); + + return offset; +} + + +static const ber_sequence_t FileAttributes_sequence[] = { + { &hf_p22_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Pathname_Attribute }, + { &hf_p22_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute }, + { &hf_p22_storage_account , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Account_Attribute }, + { &hf_p22_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, + { &hf_p22_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, + { &hf_p22_date_and_time_of_last_read_access, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, + { &hf_p22_date_and_time_of_last_attribute_modification, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, + { &hf_p22_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute }, + { &hf_p22_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute }, + { &hf_p22_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute }, + { &hf_p22_identity_of_last_attribute_modifier, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute }, + { &hf_p22_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Availability_Attribute }, + { &hf_p22_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute }, + { &hf_p22_future_object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute }, + { &hf_p22_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Access_Control_Attribute }, + { &hf_p22_legal_qualifications, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Legal_Qualification_Attribute }, + { &hf_p22_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Private_Use_Attribute }, + { &hf_p22_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_FileAttributes(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, + FileAttributes_sequence, hf_index, ett_p22_FileAttributes); + + return offset; +} + + +static const ber_sequence_t FileTransferParameters_sequence[] = { + { &hf_p22_related_stored_file, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RelatedStoredFile }, + { &hf_p22_contents_type , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_ContentsTypeParameter }, + { &hf_p22_environment , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_EnvironmentParameter }, + { &hf_p22_compression , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_CompressionParameter }, + { &hf_p22_file_attributes , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_FileAttributes }, + { &hf_p22_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ExtensionsField }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_FileTransferParameters(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, + FileTransferParameters_sequence, hf_index, ett_p22_FileTransferParameters); + + return offset; +} + + + +static int +dissect_p22_EXTERNAL(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t FileTransferData_sequence_of[1] = { + { &hf_p22_FileTransferData_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_p22_EXTERNAL }, +}; + +static int +dissect_p22_FileTransferData(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, + FileTransferData_sequence_of, hf_index, ett_p22_FileTransferData); + + return offset; +} + + + +static int +dissect_p22_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t VoiceParameters_sequence[] = { + { &hf_p22_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { &hf_p22_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_IA5String }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_VoiceParameters(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, + VoiceParameters_sequence, hf_index, ett_p22_VoiceParameters); + + return offset; +} + + + +static int +dissect_p22_VoiceData(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t SubmissionProof_set[] = { + { &hf_p22_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ProofOfSubmission }, + { &hf_p22_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OriginatingMTACertificate }, + { &hf_p22_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionEnvelope }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_SubmissionProof(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, + SubmissionProof_set, hf_index, ett_p22_SubmissionProof); + + return offset; +} + + +static const ber_sequence_t ForwardedContentParameters_set[] = { + { &hf_p22_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p22_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields }, + { &hf_p22_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryIdentifier }, + { &hf_p22_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SubmissionProof }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_ForwardedContentParameters(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, + ForwardedContentParameters_set, hf_index, ett_p22_ForwardedContentParameters); + + return offset; +} + + +static const value_string p22_IPMEntryType_vals[] = { + { 0, "ipm" }, + { 1, "rn" }, + { 2, "nrn" }, + { 3, "on" }, + { 0, NULL } +}; + + +static int +dissect_p22_IPMEntryType(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MessageBodyPartSynopsis_sequence[] = { + { &hf_p22_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, + { &hf_p22_synopsis , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_IPMSynopsis }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_MessageBodyPartSynopsis(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, + MessageBodyPartSynopsis_sequence, hf_index, ett_p22_MessageBodyPartSynopsis); + + return offset; +} + + +static const ber_sequence_t NonMessageBodyPartSynopsis_sequence[] = { + { &hf_p22_bp_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_bp_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INSTANCE_OF }, + { &hf_p22_size , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { &hf_p22_processed , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_NonMessageBodyPartSynopsis(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, + NonMessageBodyPartSynopsis_sequence, hf_index, ett_p22_NonMessageBodyPartSynopsis); + + return offset; +} + + +static const value_string p22_BodyPartSynopsis_vals[] = { + { 0, "message" }, + { 1, "non-message" }, + { 0, NULL } +}; + +static const ber_choice_t BodyPartSynopsis_choice[] = { + { 0, &hf_p22_message_synopsis, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_MessageBodyPartSynopsis }, + { 1, &hf_p22_non_message , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_NonMessageBodyPartSynopsis }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartSynopsis(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, + BodyPartSynopsis_choice, hf_index, ett_p22_BodyPartSynopsis, + NULL); + + return offset; +} + + +static const ber_sequence_t IPMSynopsis_sequence_of[1] = { + { &hf_p22_IPMSynopsis_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPartSynopsis }, +}; + +static int +dissect_p22_IPMSynopsis(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, + IPMSynopsis_sequence_of, hf_index, ett_p22_IPMSynopsis); + + return offset; +} + + +static const ber_sequence_t BodyPartDescriptor_sequence[] = { + { &hf_p22_data , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER }, + { &hf_p22_this_child_entry, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, + { &hf_p22_position , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { &hf_p22_size , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER }, + { &hf_p22_processed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartDescriptor(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, + BodyPartDescriptor_sequence, hf_index, ett_p22_BodyPartDescriptor); + + return offset; +} + + +static const ber_sequence_t BodyPartSignatureVerification_item_set[] = { + { &hf_p22_body_part_sequence_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_BodyPartNumber }, + { &hf_p22_body_part_signature_status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SignatureStatus }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartSignatureVerification_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_set(implicit_tag, actx, tree, tvb, offset, + BodyPartSignatureVerification_item_set, hf_index, ett_p22_BodyPartSignatureVerification_item); + + return offset; +} + + +static const ber_sequence_t BodyPartSignatureVerification_set_of[1] = { + { &hf_p22_BodyPartSignatureVerification_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartSignatureVerification_item }, +}; + +static int +dissect_p22_BodyPartSignatureVerification(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_of(implicit_tag, actx, tree, tvb, offset, + BodyPartSignatureVerification_set_of, hf_index, ett_p22_BodyPartSignatureVerification); + + return offset; +} + + +static const ber_sequence_t SET_OF_SequenceNumber_set_of[1] = { + { &hf_p22_stored_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber }, +}; + +static int +dissect_p22_SET_OF_SequenceNumber(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_of(implicit_tag, actx, tree, tvb, offset, + SET_OF_SequenceNumber_set_of, hf_index, ett_p22_SET_OF_SequenceNumber); + + return offset; +} + + +static const value_string p22_IPMLocation_vals[] = { + { 0, "stored" }, + { 1, "absent" }, + { 0, NULL } +}; + +static const ber_choice_t IPMLocation_choice[] = { + { 0, &hf_p22_stored , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_SET_OF_SequenceNumber }, + { 1, &hf_p22_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p22_NULL }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IPMLocation(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, + IPMLocation_choice, hf_index, ett_p22_IPMLocation, + NULL); + + return offset; +} + + +static const value_string p22_DeliveredReplyStatus_vals[] = { + { 0, "no-reply-requested" }, + { 1, "reply-outstanding" }, + { 2, "reply-received" }, + { 0, NULL } +}; + + +static int +dissect_p22_DeliveredReplyStatus(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of[1] = { + { &hf_p22_received_replies_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber }, +}; + +static int +dissect_p22_SEQUENCE_OF_SequenceNumber(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_SequenceNumber_sequence_of, hf_index, ett_p22_SEQUENCE_OF_SequenceNumber); + + return offset; +} + + +static const value_string p22_CorrelatedDeliveredReplies_vals[] = { + { 0, "no-reply-received" }, + { 1, "received-replies" }, + { 0, NULL } +}; + +static const ber_choice_t CorrelatedDeliveredReplies_choice[] = { + { 0, &hf_p22_no_reply_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL }, + { 1, &hf_p22_received_replies, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_SEQUENCE_OF_SequenceNumber }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CorrelatedDeliveredReplies(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, + CorrelatedDeliveredReplies_choice, hf_index, ett_p22_CorrelatedDeliveredReplies, + NULL); + + return offset; +} + + +static const value_string p22_DeliveredIPNStatus_vals[] = { + { 0, "no-ipn-requested" }, + { 3, "an-requested" }, + { 5, "nrn-requested" }, + { 10, "rn-requested" }, + { 13, "an-received" }, + { 15, "ipm-auto-forwarded" }, + { 20, "ipm-discarded" }, + { 25, "rn-received" }, + { 0, NULL } +}; + + +static int +dissect_p22_DeliveredIPNStatus(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_CorrelatedDeliveredIPNs_vals[] = { + { 0, "no-ipn-received" }, + { 1, "ipns-received" }, + { 0, NULL } +}; + +static const ber_choice_t CorrelatedDeliveredIPNs_choice[] = { + { 0, &hf_p22_no_ipn_received , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL }, + { 1, &hf_p22_ipns_received , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_SEQUENCE_OF_SequenceNumber }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_CorrelatedDeliveredIPNs(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, + CorrelatedDeliveredIPNs_choice, hf_index, ett_p22_CorrelatedDeliveredIPNs, + NULL); + + return offset; +} + + +static const value_string p22_SubmittedReplyStatus_vals[] = { + { 0, "no-reply-requested" }, + { 1, "no-reply-intended" }, + { 2, "reply-pending" }, + { 3, "reply-sent" }, + { 0, NULL } +}; + + +static int +dissect_p22_SubmittedReplyStatus(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_SubmittedIPNStatus_vals[] = { + { 0, "no-ipn-requested" }, + { 5, "nrn-requested" }, + { 10, "nrn-with-ipm-return-requested" }, + { 15, "rn-requested" }, + { 20, "rn-with-ipm-return-requested" }, + { 25, "ipm-auto-forwarded" }, + { 30, "ipm-discarded" }, + { 35, "rn-sent" }, + { 0, NULL } +}; + + +static int +dissect_p22_SubmittedIPNStatus(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p22_RecipientCategory_vals[] = { + { 0, "primary-recipient" }, + { 1, "copy-recipient" }, + { 2, "blind-copy-recipient" }, + { 3, "category-unknown" }, + { 4, "circulation-list" }, + { 0, NULL } +}; + + +static int +dissect_p22_RecipientCategory(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const asn_namedbit RecipientSecurityRequest_bits[] = { + { 0, &hf_p22_RecipientSecurityRequest_content_non_repudiation, -1, -1, "content-non-repudiation", NULL }, + { 1, &hf_p22_RecipientSecurityRequest_content_proof, -1, -1, "content-proof", NULL }, + { 2, &hf_p22_RecipientSecurityRequest_ipn_non_repudiation, -1, -1, "ipn-non-repudiation", NULL }, + { 3, &hf_p22_RecipientSecurityRequest_ipn_proof, -1, -1, "ipn-proof", NULL }, + { 0, NULL, 0, 0, NULL, NULL } +}; + +static int +dissect_p22_RecipientSecurityRequest(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, tree, tvb, offset, + RecipientSecurityRequest_bits, hf_index, ett_p22_RecipientSecurityRequest, + NULL); + + return offset; +} + + + +static int +dissect_p22_OriginalContent(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_p1_Content(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_OriginalContentIntegrityCheck(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_p1_ContentIntegrityCheck(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_OriginalMessageOriginAuthenticationCheck(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_p1_MessageOriginAuthenticationCheck(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_p22_OriginalMessageToken(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_p1_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t T_original_security_arguments_set[] = { + { &hf_p22_original_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginalContentIntegrityCheck }, + { &hf_p22_original_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginalMessageOriginAuthenticationCheck }, + { &hf_p22_original_message_token, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginalMessageToken }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_original_security_arguments(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, + T_original_security_arguments_set, hf_index, ett_p22_T_original_security_arguments); + + return offset; +} + + +static const value_string p22_T_content_or_arguments_vals[] = { + { 0, "original-content" }, + { 1, "original-security-arguments" }, + { 0, NULL } +}; + +static const ber_choice_t T_content_or_arguments_choice[] = { + { 0, &hf_p22_original_content, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_OriginalContent }, + { 1, &hf_p22_original_security_arguments, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_T_original_security_arguments }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_content_or_arguments(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_content_or_arguments_choice, hf_index, ett_p22_T_content_or_arguments, + NULL); + + return offset; +} + + +static const value_string p22_SecurityDiagnosticCode_vals[] = { + { 0, "integrity-failure-on-subject-message" }, + { 1, "integrity-failure-on-forwarded-message" }, + { 2, "moac-failure-on-subject-message" }, + { 3, "unsupported-security-policy" }, + { 4, "unsupported-algorithm-identifier" }, + { 5, "decryption-failed" }, + { 6, "token-error" }, + { 7, "unable-to-sign-notification" }, + { 8, "unable-to-sign-message-receipt" }, + { 9, "authentication-failure-on-subject-message" }, + { 10, "security-context-failure-message" }, + { 11, "message-sequence-failure" }, + { 12, "message-security-labelling-failure" }, + { 13, "repudiation-failure-of-message" }, + { 14, "failure-of-proof-of-message" }, + { 15, "signature-key-unobtainable" }, + { 16, "decryption-key-unobtainable" }, + { 17, "key-failure" }, + { 18, "unsupported-request-for-security-service" }, + { 19, "inconsistent-request-for-security-service" }, + { 20, "ipn-non-repudiation-provided-instead-of-content-proof" }, + { 21, "token-decryption-failed" }, + { 22, "double-enveloping-message-restoring-failure" }, + { 23, "unauthorised-dl-member" }, + { 24, "reception-security-failure" }, + { 25, "unsuitable-alternate-recipient" }, + { 26, "security-services-refusal" }, + { 27, "unauthorised-recipient" }, + { 28, "unknown-certification-authority-name" }, + { 29, "unknown-dl-name" }, + { 30, "unknown-originator-name" }, + { 31, "unknown-recipient-name" }, + { 32, "security-policy-violation" }, + { 0, NULL } +}; + + +static int +dissect_p22_SecurityDiagnosticCode(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, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t IpnSecurityResponse_set[] = { + { &hf_p22_content_or_arguments, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_T_content_or_arguments }, + { &hf_p22_security_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_SecurityDiagnosticCode }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_IpnSecurityResponse(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, + IpnSecurityResponse_set, hf_index, ett_p22_IpnSecurityResponse); + + return offset; +} + + +static const ber_sequence_t EncryptionToken_set[] = { + { &hf_p22_encryption_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, + { &hf_p22_encrypted_key , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING }, + { &hf_p22_recipient_certificate_selector, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p22_recipient_certificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates }, + { &hf_p22_originator_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, + { &hf_p22_originator_certificates, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedCertificates }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_EncryptionToken(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, + EncryptionToken_set, hf_index, ett_p22_EncryptionToken); + + return offset; +} + + +static const value_string p22_T_body_part_choice_vals[] = { + { 0, "encryption-token" }, + { 1, "message-or-content-body-part" }, + { 0, NULL } +}; + +static const ber_choice_t T_body_part_choice_choice[] = { + { 0, &hf_p22_encryption_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_EncryptionToken }, + { 1, &hf_p22_message_or_content_body_part, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_BodyPartTokens }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_body_part_choice(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_body_part_choice_choice, hf_index, ett_p22_T_body_part_choice, + NULL); + + return offset; +} + + +static const ber_sequence_t BodyPartTokens_item_set[] = { + { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber }, + { &hf_p22_body_part_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_T_body_part_choice }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_BodyPartTokens_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_set(implicit_tag, actx, tree, tvb, offset, + BodyPartTokens_item_set, hf_index, ett_p22_BodyPartTokens_item); + + return offset; +} + + +static const ber_sequence_t BodyPartTokens_set_of[1] = { + { &hf_p22_BodyPartTokens_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartTokens_item }, +}; + +static int +dissect_p22_BodyPartTokens(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_of(implicit_tag, actx, tree, tvb, offset, + BodyPartTokens_set_of, hf_index, ett_p22_BodyPartTokens); + + return offset; +} + + +static const value_string p22_T_body_part_token_choice_vals[] = { + { 0, "forwarding-token" }, + { 1, "message-or-content-body-part" }, + { 0, NULL } +}; + +static const ber_choice_t T_body_part_token_choice_choice[] = { + { 0, &hf_p22_forwarding_token, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_MessageToken }, + { 1, &hf_p22_forwarded_content_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ForwardedContentToken }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_T_body_part_token_choice(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_body_part_token_choice_choice, hf_index, ett_p22_T_body_part_token_choice, + NULL); + + return offset; +} + + +static const ber_sequence_t ForwardedContentToken_item_set[] = { + { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber }, + { &hf_p22_body_part_token_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_T_body_part_token_choice }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p22_ForwardedContentToken_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_set(implicit_tag, actx, tree, tvb, offset, + ForwardedContentToken_item_set, hf_index, ett_p22_ForwardedContentToken_item); + + return offset; +} + + +static const ber_sequence_t ForwardedContentToken_set_of[1] = { + { &hf_p22_ForwardedContentToken_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ForwardedContentToken_item }, +}; + +static int +dissect_p22_ForwardedContentToken(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_of(implicit_tag, actx, tree, tvb, offset, + ForwardedContentToken_set_of, hf_index, ett_p22_ForwardedContentToken); + + return offset; +} + +/*--- PDUs ---*/ + +static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_InformationObject_PDU); +} +static void dissect_Heading_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_Heading(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Heading_PDU); +} +static void dissect_ORDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ORDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ORDescriptor_PDU); +} +static void dissect_ThisIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ThisIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ThisIPMField_PDU); +} +static void dissect_OriginatorField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_OriginatorField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_OriginatorField_PDU); +} +static void dissect_AuthorizingUsersSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_AuthorizingUsersSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AuthorizingUsersSubfield_PDU); +} +static void dissect_PrimaryRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_PrimaryRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_PrimaryRecipientsSubfield_PDU); +} +static void dissect_CopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_CopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CopyRecipientsSubfield_PDU); +} +static void dissect_BlindCopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BlindCopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BlindCopyRecipientsSubfield_PDU); +} +static void dissect_RepliedToIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_RepliedToIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RepliedToIPMField_PDU); +} +static void dissect_ObsoletedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ObsoletedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ObsoletedIPMsSubfield_PDU); +} +static void dissect_RelatedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_RelatedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RelatedIPMsSubfield_PDU); +} +static void dissect_SubjectField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_SubjectField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SubjectField_PDU); +} +static void dissect_ExpiryTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ExpiryTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ExpiryTimeField_PDU); +} +static void dissect_ReplyTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ReplyTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ReplyTimeField_PDU); +} +static void dissect_ReplyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ReplyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ReplyRecipientsSubfield_PDU); +} +static void dissect_ImportanceField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ImportanceField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ImportanceField_PDU); +} +static void dissect_SensitivityField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_SensitivityField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SensitivityField_PDU); +} +static void dissect_AutoForwardedField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_AutoForwardedField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AutoForwardedField_PDU); +} +static void dissect_Body_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_Body(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Body_PDU); +} +static void dissect_IA5TextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IA5TextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IA5TextParameters_PDU); +} +static void dissect_IA5TextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IA5TextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IA5TextData_PDU); +} +static void dissect_G3FacsimileParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_G3FacsimileParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_G3FacsimileParameters_PDU); +} +static void dissect_G3FacsimileData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_G3FacsimileData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_G3FacsimileData_PDU); +} +static void dissect_G4Class1BodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_G4Class1BodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_G4Class1BodyPart_PDU); +} +static void dissect_MixedModeBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_MixedModeBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_MixedModeBodyPart_PDU); +} +static void dissect_TeletexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_TeletexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_TeletexParameters_PDU); +} +static void dissect_TeletexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_TeletexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_TeletexData_PDU); +} +static void dissect_VideotexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_VideotexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VideotexParameters_PDU); +} +static void dissect_VideotexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_VideotexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VideotexData_PDU); +} +static void dissect_EncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_EncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_EncryptedParameters_PDU); +} +static void dissect_EncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_EncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_EncryptedData_PDU); +} +static void dissect_MessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_MessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_MessageParameters_PDU); +} +static void dissect_MessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_MessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_MessageData_PDU); +} +static void dissect_BilaterallyDefinedBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BilaterallyDefinedBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BilaterallyDefinedBodyPart_PDU); +} +static void dissect_IPN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IPN(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPN_PDU); +} +static void dissect_AbsenceAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_AbsenceAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AbsenceAdvice_PDU); +} +static void dissect_ChangeOfAddressAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ChangeOfAddressAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ChangeOfAddressAdvice_PDU); +} +static void dissect_IPMAssemblyInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IPMAssemblyInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMAssemblyInstructions_PDU); +} +static void dissect_IncompleteCopy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IncompleteCopy(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IncompleteCopy_PDU); +} +static void dissect_Languages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_Languages(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Languages_PDU); +} +static void dissect_Language_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_Language(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Language_PDU); +} +static void dissect_AutoSubmitted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_AutoSubmitted(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AutoSubmitted_PDU); +} +static void dissect_BodyPartSignatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BodyPartSignatures(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartSignatures_PDU); +} +static void dissect_IPMSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IPMSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMSecurityLabel_PDU); +} +static void dissect_BodyPartSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BodyPartSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartSecurityLabel_PDU); +} +static void dissect_AuthorizationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_AuthorizationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AuthorizationTime_PDU); +} +static void dissect_CirculationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_CirculationList(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CirculationList_PDU); +} +static void dissect_CirculationMember_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_CirculationMember(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CirculationMember_PDU); +} +static void dissect_CirculationListIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_CirculationListIndicator(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CirculationListIndicator_PDU); +} +static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DistributionCodes_PDU); +} +static void dissect_DistributionCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DistributionCode_PDU); +} +static void dissect_ExtendedSubject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ExtendedSubject(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ExtendedSubject_PDU); +} +static void dissect_InformationCategories_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_InformationCategories(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_InformationCategories_PDU); +} +static void dissect_InformationCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_InformationCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_InformationCategory_PDU); +} +static void dissect_ManualHandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ManualHandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ManualHandlingInstructions_PDU); +} +static void dissect_ManualHandlingInstruction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ManualHandlingInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ManualHandlingInstruction_PDU); +} +static void dissect_OriginatorsReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_OriginatorsReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_OriginatorsReference_PDU); +} +static void dissect_PrecedencePolicyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_PrecedencePolicyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_PrecedencePolicyIdentifier_PDU); +} +static void dissect_Precedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_Precedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Precedence_PDU); +} +static void dissect_GeneralTextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_GeneralTextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_GeneralTextParameters_PDU); +} +static void dissect_GeneralTextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_GeneralTextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_GeneralTextData_PDU); +} +static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_FileTransferParameters_PDU); +} +static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_FileTransferData_PDU); +} +static void dissect_VoiceParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_VoiceParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VoiceParameters_PDU); +} +static void dissect_VoiceData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_VoiceData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VoiceData_PDU); +} +static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ForwardedContentParameters_PDU); +} +static void dissect_IPMEntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IPMEntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMEntryType_PDU); +} +static void dissect_IPMSynopsis_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IPMSynopsis(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMSynopsis_PDU); +} +static void dissect_BodyPartDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BodyPartDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartDescriptor_PDU); +} +static void dissect_BodyPartSignatureVerification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BodyPartSignatureVerification(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartSignatureVerification_PDU); +} +static void dissect_IPMLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IPMLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMLocation_PDU); +} +static void dissect_DeliveredReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_DeliveredReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DeliveredReplyStatus_PDU); +} +static void dissect_CorrelatedDeliveredReplies_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_CorrelatedDeliveredReplies(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CorrelatedDeliveredReplies_PDU); +} +static void dissect_DeliveredIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_DeliveredIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DeliveredIPNStatus_PDU); +} +static void dissect_CorrelatedDeliveredIPNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_CorrelatedDeliveredIPNs(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CorrelatedDeliveredIPNs_PDU); +} +static void dissect_SubmittedReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_SubmittedReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SubmittedReplyStatus_PDU); +} +static void dissect_SubmittedIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_SubmittedIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SubmittedIPNStatus_PDU); +} +static void dissect_RecipientCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_RecipientCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RecipientCategory_PDU); +} +static void dissect_RecipientSecurityRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_RecipientSecurityRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RecipientSecurityRequest_PDU); +} +static void dissect_IpnSecurityResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_IpnSecurityResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IpnSecurityResponse_PDU); +} +static void dissect_BodyPartTokens_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_BodyPartTokens(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartTokens_PDU); +} +static void dissect_ForwardedContentToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + dissect_p22_ForwardedContentToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ForwardedContentToken_PDU); +} + + +/*--- End of included file: packet-p22-fn.c ---*/ +#line 94 "packet-p22-template.c" + +/* +* Dissect P22 PDUs inside a PPDU. +*/ +static void +dissect_p22(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +{ + int offset = 0; + proto_item *item=NULL; + proto_tree *tree=NULL; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + + if(parent_tree){ + item = proto_tree_add_item(parent_tree, proto_p22, tvb, 0, -1, FALSE); + tree = proto_item_add_subtree(item, ett_p22); + } + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22"); + col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal"); + + dissect_p22_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1); +} + + +/*--- proto_register_p22 -------------------------------------------*/ +void proto_register_p22(void) { + + /* List of fields */ + static hf_register_info hf[] = + { + +/*--- Included file: packet-p22-hfarr.c ---*/ +#line 1 "packet-p22-hfarr.c" + { &hf_p22_InformationObject_PDU, + { "InformationObject", "p22.InformationObject", + FT_UINT32, BASE_DEC, VALS(p22_InformationObject_vals), 0, + NULL, HFILL }}, + { &hf_p22_Heading_PDU, + { "Heading", "p22.Heading", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ORDescriptor_PDU, + { "ORDescriptor", "p22.ORDescriptor", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ThisIPMField_PDU, + { "ThisIPMField", "p22.ThisIPMField", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_OriginatorField_PDU, + { "OriginatorField", "p22.OriginatorField", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_AuthorizingUsersSubfield_PDU, + { "AuthorizingUsersSubfield", "p22.AuthorizingUsersSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_PrimaryRecipientsSubfield_PDU, + { "PrimaryRecipientsSubfield", "p22.PrimaryRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_CopyRecipientsSubfield_PDU, + { "CopyRecipientsSubfield", "p22.CopyRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BlindCopyRecipientsSubfield_PDU, + { "BlindCopyRecipientsSubfield", "p22.BlindCopyRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_RepliedToIPMField_PDU, + { "RepliedToIPMField", "p22.RepliedToIPMField", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ObsoletedIPMsSubfield_PDU, + { "ObsoletedIPMsSubfield", "p22.ObsoletedIPMsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_RelatedIPMsSubfield_PDU, + { "RelatedIPMsSubfield", "p22.RelatedIPMsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_SubjectField_PDU, + { "SubjectField", "p22.SubjectField", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ExpiryTimeField_PDU, + { "ExpiryTimeField", "p22.ExpiryTimeField", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ReplyTimeField_PDU, + { "ReplyTimeField", "p22.ReplyTimeField", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ReplyRecipientsSubfield_PDU, + { "ReplyRecipientsSubfield", "p22.ReplyRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ImportanceField_PDU, + { "ImportanceField", "p22.ImportanceField", + FT_UINT32, BASE_DEC, VALS(p22_ImportanceField_vals), 0, + NULL, HFILL }}, + { &hf_p22_SensitivityField_PDU, + { "SensitivityField", "p22.SensitivityField", + FT_UINT32, BASE_DEC, VALS(p22_SensitivityField_vals), 0, + NULL, HFILL }}, + { &hf_p22_AutoForwardedField_PDU, + { "AutoForwardedField", "p22.AutoForwardedField", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_Body_PDU, + { "Body", "p22.Body", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IA5TextParameters_PDU, + { "IA5TextParameters", "p22.IA5TextParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IA5TextData_PDU, + { "IA5TextData", "p22.IA5TextData", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_G3FacsimileParameters_PDU, + { "G3FacsimileParameters", "p22.G3FacsimileParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_G3FacsimileData_PDU, + { "G3FacsimileData", "p22.G3FacsimileData", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_G4Class1BodyPart_PDU, + { "G4Class1BodyPart", "p22.G4Class1BodyPart", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_MixedModeBodyPart_PDU, + { "MixedModeBodyPart", "p22.MixedModeBodyPart", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_TeletexParameters_PDU, + { "TeletexParameters", "p22.TeletexParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_TeletexData_PDU, + { "TeletexData", "p22.TeletexData", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_VideotexParameters_PDU, + { "VideotexParameters", "p22.VideotexParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_VideotexData_PDU, + { "VideotexData", "p22.VideotexData", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_EncryptedParameters_PDU, + { "EncryptedParameters", "p22.EncryptedParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_EncryptedData_PDU, + { "EncryptedData", "p22.EncryptedData", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_MessageParameters_PDU, + { "MessageParameters", "p22.MessageParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_MessageData_PDU, + { "MessageData", "p22.MessageData", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BilaterallyDefinedBodyPart_PDU, + { "BilaterallyDefinedBodyPart", "p22.BilaterallyDefinedBodyPart", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IPN_PDU, + { "IPN", "p22.IPN", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_AbsenceAdvice_PDU, + { "AbsenceAdvice", "p22.AbsenceAdvice", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ChangeOfAddressAdvice_PDU, + { "ChangeOfAddressAdvice", "p22.ChangeOfAddressAdvice", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IPMAssemblyInstructions_PDU, + { "IPMAssemblyInstructions", "p22.IPMAssemblyInstructions", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IncompleteCopy_PDU, + { "IncompleteCopy", "p22.IncompleteCopy", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_Languages_PDU, + { "Languages", "p22.Languages", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_Language_PDU, + { "Language", "p22.Language", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_AutoSubmitted_PDU, + { "AutoSubmitted", "p22.AutoSubmitted", + FT_UINT32, BASE_DEC, VALS(p22_AutoSubmitted_vals), 0, + NULL, HFILL }}, + { &hf_p22_BodyPartSignatures_PDU, + { "BodyPartSignatures", "p22.BodyPartSignatures", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IPMSecurityLabel_PDU, + { "IPMSecurityLabel", "p22.IPMSecurityLabel", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BodyPartSecurityLabel_PDU, + { "BodyPartSecurityLabel", "p22.BodyPartSecurityLabel", + FT_UINT32, BASE_DEC, VALS(p22_BodyPartSecurityLabel_vals), 0, + NULL, HFILL }}, + { &hf_p22_AuthorizationTime_PDU, + { "AuthorizationTime", "p22.AuthorizationTime", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_CirculationList_PDU, + { "CirculationList", "p22.CirculationList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_CirculationMember_PDU, + { "CirculationMember", "p22.CirculationMember", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_CirculationListIndicator_PDU, + { "CirculationListIndicator", "p22.CirculationListIndicator", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_DistributionCodes_PDU, + { "DistributionCodes", "p22.DistributionCodes", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_DistributionCode_PDU, + { "DistributionCode", "p22.DistributionCode", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ExtendedSubject_PDU, + { "ExtendedSubject", "p22.ExtendedSubject", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_InformationCategories_PDU, + { "InformationCategories", "p22.InformationCategories", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_InformationCategory_PDU, + { "InformationCategory", "p22.InformationCategory", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ManualHandlingInstructions_PDU, + { "ManualHandlingInstructions", "p22.ManualHandlingInstructions", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ManualHandlingInstruction_PDU, + { "ManualHandlingInstruction", "p22.ManualHandlingInstruction", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_OriginatorsReference_PDU, + { "OriginatorsReference", "p22.OriginatorsReference", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_PrecedencePolicyIdentifier_PDU, + { "PrecedencePolicyIdentifier", "p22.PrecedencePolicyIdentifier", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_Precedence_PDU, + { "Precedence", "p22.Precedence", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_GeneralTextParameters_PDU, + { "GeneralTextParameters", "p22.GeneralTextParameters", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_GeneralTextData_PDU, + { "GeneralTextData", "p22.GeneralTextData", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_FileTransferParameters_PDU, + { "FileTransferParameters", "p22.FileTransferParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_FileTransferData_PDU, + { "FileTransferData", "p22.FileTransferData", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_VoiceParameters_PDU, + { "VoiceParameters", "p22.VoiceParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_VoiceData_PDU, + { "VoiceData", "p22.VoiceData", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ForwardedContentParameters_PDU, + { "ForwardedContentParameters", "p22.ForwardedContentParameters", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IPMEntryType_PDU, + { "IPMEntryType", "p22.IPMEntryType", + FT_UINT32, BASE_DEC, VALS(p22_IPMEntryType_vals), 0, + NULL, HFILL }}, + { &hf_p22_IPMSynopsis_PDU, + { "IPMSynopsis", "p22.IPMSynopsis", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BodyPartDescriptor_PDU, + { "BodyPartDescriptor", "p22.BodyPartDescriptor", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BodyPartSignatureVerification_PDU, + { "BodyPartSignatureVerification", "p22.BodyPartSignatureVerification", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IPMLocation_PDU, + { "IPMLocation", "p22.IPMLocation", + FT_UINT32, BASE_DEC, VALS(p22_IPMLocation_vals), 0, + NULL, HFILL }}, + { &hf_p22_DeliveredReplyStatus_PDU, + { "DeliveredReplyStatus", "p22.DeliveredReplyStatus", + FT_INT32, BASE_DEC, VALS(p22_DeliveredReplyStatus_vals), 0, + NULL, HFILL }}, + { &hf_p22_CorrelatedDeliveredReplies_PDU, + { "CorrelatedDeliveredReplies", "p22.CorrelatedDeliveredReplies", + FT_UINT32, BASE_DEC, VALS(p22_CorrelatedDeliveredReplies_vals), 0, + NULL, HFILL }}, + { &hf_p22_DeliveredIPNStatus_PDU, + { "DeliveredIPNStatus", "p22.DeliveredIPNStatus", + FT_INT32, BASE_DEC, VALS(p22_DeliveredIPNStatus_vals), 0, + NULL, HFILL }}, + { &hf_p22_CorrelatedDeliveredIPNs_PDU, + { "CorrelatedDeliveredIPNs", "p22.CorrelatedDeliveredIPNs", + FT_UINT32, BASE_DEC, VALS(p22_CorrelatedDeliveredIPNs_vals), 0, + NULL, HFILL }}, + { &hf_p22_SubmittedReplyStatus_PDU, + { "SubmittedReplyStatus", "p22.SubmittedReplyStatus", + FT_INT32, BASE_DEC, VALS(p22_SubmittedReplyStatus_vals), 0, + NULL, HFILL }}, + { &hf_p22_SubmittedIPNStatus_PDU, + { "SubmittedIPNStatus", "p22.SubmittedIPNStatus", + FT_INT32, BASE_DEC, VALS(p22_SubmittedIPNStatus_vals), 0, + NULL, HFILL }}, + { &hf_p22_RecipientCategory_PDU, + { "RecipientCategory", "p22.RecipientCategory", + FT_INT32, BASE_DEC, VALS(p22_RecipientCategory_vals), 0, + NULL, HFILL }}, + { &hf_p22_RecipientSecurityRequest_PDU, + { "RecipientSecurityRequest", "p22.RecipientSecurityRequest", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_IpnSecurityResponse_PDU, + { "IpnSecurityResponse", "p22.IpnSecurityResponse", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BodyPartTokens_PDU, + { "BodyPartTokens", "p22.BodyPartTokens", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ForwardedContentToken_PDU, + { "ForwardedContentToken", "p22.ForwardedContentToken", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ipm, + { "ipm", "p22.ipm", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ipn, + { "ipn", "p22.ipn", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_heading, + { "heading", "p22.heading", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_body, + { "body", "p22.body", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_type, + { "type", "p22.type", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_value, + { "value", "p22.value", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_this_IPM, + { "this-IPM", "p22.this_IPM", + FT_NONE, BASE_NONE, NULL, 0, + "ThisIPMField", HFILL }}, + { &hf_p22_originator, + { "originator", "p22.originator", + FT_NONE, BASE_NONE, NULL, 0, + "OriginatorField", HFILL }}, + { &hf_p22_authorizing_users, + { "authorizing-users", "p22.authorizing_users", + FT_UINT32, BASE_DEC, NULL, 0, + "AuthorizingUsersField", HFILL }}, + { &hf_p22_primary_recipients, + { "primary-recipients", "p22.primary_recipients", + FT_UINT32, BASE_DEC, NULL, 0, + "PrimaryRecipientsField", HFILL }}, + { &hf_p22_copy_recipients, + { "copy-recipients", "p22.copy_recipients", + FT_UINT32, BASE_DEC, NULL, 0, + "CopyRecipientsField", HFILL }}, + { &hf_p22_blind_copy_recipients, + { "blind-copy-recipients", "p22.blind_copy_recipients", + FT_UINT32, BASE_DEC, NULL, 0, + "BlindCopyRecipientsField", HFILL }}, + { &hf_p22_replied_to_IPM, + { "replied-to-IPM", "p22.replied_to_IPM", + FT_NONE, BASE_NONE, NULL, 0, + "RepliedToIPMField", HFILL }}, + { &hf_p22_obsoleted_IPMs, + { "obsoleted-IPMs", "p22.obsoleted_IPMs", + FT_UINT32, BASE_DEC, NULL, 0, + "ObsoletedIPMsField", HFILL }}, + { &hf_p22_related_IPMs, + { "related-IPMs", "p22.related_IPMs", + FT_UINT32, BASE_DEC, NULL, 0, + "RelatedIPMsField", HFILL }}, + { &hf_p22_subject, + { "subject", "p22.subject", + FT_STRING, BASE_NONE, NULL, 0, + "SubjectField", HFILL }}, + { &hf_p22_expiry_time, + { "expiry-time", "p22.expiry_time", + FT_STRING, BASE_NONE, NULL, 0, + "ExpiryTimeField", HFILL }}, + { &hf_p22_reply_time, + { "reply-time", "p22.reply_time", + FT_STRING, BASE_NONE, NULL, 0, + "ReplyTimeField", HFILL }}, + { &hf_p22_reply_recipients, + { "reply-recipients", "p22.reply_recipients", + FT_UINT32, BASE_DEC, NULL, 0, + "ReplyRecipientsField", HFILL }}, + { &hf_p22_importance, + { "importance", "p22.importance", + FT_UINT32, BASE_DEC, VALS(p22_ImportanceField_vals), 0, + "ImportanceField", HFILL }}, + { &hf_p22_sensitivity, + { "sensitivity", "p22.sensitivity", + FT_UINT32, BASE_DEC, VALS(p22_SensitivityField_vals), 0, + "SensitivityField", HFILL }}, + { &hf_p22_auto_forwarded, + { "auto-forwarded", "p22.auto_forwarded", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "AutoForwardedField", HFILL }}, + { &hf_p22_extensions, + { "extensions", "p22.extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtensionsField", HFILL }}, + { &hf_p22_user, + { "user", "p22.user", + FT_NONE, BASE_NONE, NULL, 0, + "ORName", HFILL }}, + { &hf_p22_user_relative_identifier, + { "user-relative-identifier", "p22.user_relative_identifier", + FT_STRING, BASE_NONE, NULL, 0, + "LocalIPMIdentifier", HFILL }}, + { &hf_p22_recipient, + { "recipient", "p22.recipient", + FT_NONE, BASE_NONE, NULL, 0, + "ORDescriptor", HFILL }}, + { &hf_p22_notification_requests, + { "notification-requests", "p22.notification_requests", + FT_BYTES, BASE_NONE, NULL, 0, + "NotificationRequests", HFILL }}, + { &hf_p22_reply_requested, + { "reply-requested", "p22.reply_requested", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_p22_recipient_extensions, + { "recipient-extensions", "p22.recipient_extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "RecipientExtensionsField", HFILL }}, + { &hf_p22_formal_name, + { "formal-name", "p22.formal_name", + FT_NONE, BASE_NONE, NULL, 0, + "ORName", HFILL }}, + { &hf_p22_free_form_name, + { "free-form-name", "p22.free_form_name", + FT_STRING, BASE_NONE, NULL, 0, + "FreeFormName", HFILL }}, + { &hf_p22_telephone_number, + { "telephone-number", "p22.telephone_number", + FT_STRING, BASE_NONE, NULL, 0, + "TelephoneNumber", HFILL }}, + { &hf_p22_RecipientExtensionsField_item, + { "IPMSExtension", "p22.IPMSExtension", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_AuthorizingUsersField_item, + { "AuthorizingUsersSubfield", "p22.AuthorizingUsersSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_PrimaryRecipientsField_item, + { "PrimaryRecipientsSubfield", "p22.PrimaryRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_CopyRecipientsField_item, + { "CopyRecipientsSubfield", "p22.CopyRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BlindCopyRecipientsField_item, + { "BlindCopyRecipientsSubfield", "p22.BlindCopyRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ObsoletedIPMsField_item, + { "ObsoletedIPMsSubfield", "p22.ObsoletedIPMsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_RelatedIPMsField_item, + { "RelatedIPMsSubfield", "p22.RelatedIPMsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ReplyRecipientsField_item, + { "ReplyRecipientsSubfield", "p22.ReplyRecipientsSubfield", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ExtensionsField_item, + { "IPMSExtension", "p22.IPMSExtension", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_Body_item, + { "BodyPart", "p22.BodyPart", + FT_UINT32, BASE_DEC, VALS(p22_BodyPart_vals), 0, + NULL, HFILL }}, + { &hf_p22_basic, + { "basic", "p22.basic", + FT_UINT32, BASE_DEC, VALS(p22_T_basic_vals), 0, + NULL, HFILL }}, + { &hf_p22_ia5_text, + { "ia5-text", "p22.ia5_text", + FT_NONE, BASE_NONE, NULL, 0, + "IA5TextBodyPart", HFILL }}, + { &hf_p22_g3_facsimile, + { "g3-facsimile", "p22.g3_facsimile", + FT_NONE, BASE_NONE, NULL, 0, + "G3FacsimileBodyPart", HFILL }}, + { &hf_p22_g4_class1, + { "g4-class1", "p22.g4_class1", + FT_UINT32, BASE_DEC, NULL, 0, + "G4Class1BodyPart", HFILL }}, + { &hf_p22_teletex, + { "teletex", "p22.teletex", + FT_NONE, BASE_NONE, NULL, 0, + "TeletexBodyPart", HFILL }}, + { &hf_p22_videotex, + { "videotex", "p22.videotex", + FT_NONE, BASE_NONE, NULL, 0, + "VideotexBodyPart", HFILL }}, + { &hf_p22_encrypted_bp, + { "encrypted", "p22.encrypted", + FT_NONE, BASE_NONE, NULL, 0, + "EncryptedBodyPart", HFILL }}, + { &hf_p22_message, + { "message", "p22.message", + FT_NONE, BASE_NONE, NULL, 0, + "MessageBodyPart", HFILL }}, + { &hf_p22_mixed_mode, + { "mixed-mode", "p22.mixed_mode", + FT_UINT32, BASE_DEC, NULL, 0, + "MixedModeBodyPart", HFILL }}, + { &hf_p22_bilaterally_defined, + { "bilaterally-defined", "p22.bilaterally_defined", + FT_BYTES, BASE_NONE, NULL, 0, + "BilaterallyDefinedBodyPart", HFILL }}, + { &hf_p22_nationally_defined, + { "nationally-defined", "p22.nationally_defined", + FT_NONE, BASE_NONE, NULL, 0, + "NationallyDefinedBodyPart", HFILL }}, + { &hf_p22_extended, + { "extended", "p22.extended", + FT_NONE, BASE_NONE, NULL, 0, + "ExtendedBodyPart", HFILL }}, + { &hf_p22_extended_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "INSTANCE_OF", HFILL }}, + { &hf_p22_extended_data, + { "data", "p22.data", + FT_NONE, BASE_NONE, NULL, 0, + "INSTANCE_OF", HFILL }}, + { &hf_p22_ia5text_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "IA5TextParameters", HFILL }}, + { &hf_p22_ia5text_data, + { "data", "p22.data", + FT_STRING, BASE_NONE, NULL, 0, + "IA5TextData", HFILL }}, + { &hf_p22_repertoire, + { "repertoire", "p22.repertoire", + FT_UINT32, BASE_DEC, VALS(p22_Repertoire_vals), 0, + NULL, HFILL }}, + { &hf_p22_g3facsimile_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "G3FacsimileParameters", HFILL }}, + { &hf_p22_g3facsimile_data, + { "data", "p22.data", + FT_UINT32, BASE_DEC, NULL, 0, + "G3FacsimileData", HFILL }}, + { &hf_p22_number_of_pages, + { "number-of-pages", "p22.number_of_pages", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_p22_g3facsimile_non_basic_parameters, + { "non-basic-parameters", "p22.non_basic_parameters", + FT_BYTES, BASE_NONE, NULL, 0, + "G3FacsimileNonBasicParameters", HFILL }}, + { &hf_p22_G3FacsimileData_item, + { "G3FacsimileData item", "p22.G3FacsimileData_item", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p22_G4Class1BodyPart_item, + { "Interchange-Data-Element", "p22.Interchange_Data_Element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_MixedModeBodyPart_item, + { "Interchange-Data-Element", "p22.Interchange_Data_Element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_teletex_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "TeletexParameters", HFILL }}, + { &hf_p22_teletex_data, + { "data", "p22.data", + FT_UINT32, BASE_DEC, NULL, 0, + "TeletexData", HFILL }}, + { &hf_p22_telex_compatible, + { "telex-compatible", "p22.telex_compatible", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_p22_teletex_non_basic_parameters, + { "non-basic-parameters", "p22.non_basic_parameters", + FT_NONE, BASE_NONE, NULL, 0, + "TeletexNonBasicParameters", HFILL }}, + { &hf_p22_TeletexData_item, + { "TeletexData item", "p22.TeletexData_item", + FT_STRING, BASE_NONE, NULL, 0, + "TeletexString", HFILL }}, + { &hf_p22_videotex_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "VideotexParameters", HFILL }}, + { &hf_p22_videotex_data, + { "data", "p22.data", + FT_STRING, BASE_NONE, NULL, 0, + "VideotexData", HFILL }}, + { &hf_p22_syntax, + { "syntax", "p22.syntax", + FT_INT32, BASE_DEC, VALS(p22_VideotexSyntax_vals), 0, + "VideotexSyntax", HFILL }}, + { &hf_p22_encrypted_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "EncryptedParameters", HFILL }}, + { &hf_p22_encrypted_data, + { "data", "p22.data", + FT_BYTES, BASE_NONE, NULL, 0, + "EncryptedData", HFILL }}, + { &hf_p22_algorithm_identifier, + { "algorithm-identifier", "p22.algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "AlgorithmIdentifier", HFILL }}, + { &hf_p22_originator_certificates, + { "originator-certificates", "p22.originator_certificates", + FT_UINT32, BASE_DEC, NULL, 0, + "ExtendedCertificates", HFILL }}, + { &hf_p22_message_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "MessageParameters", HFILL }}, + { &hf_p22_message_data, + { "data", "p22.data", + FT_NONE, BASE_NONE, NULL, 0, + "MessageData", HFILL }}, + { &hf_p22_delivery_time, + { "delivery-time", "p22.delivery_time", + FT_STRING, BASE_NONE, NULL, 0, + "MessageDeliveryTime", HFILL }}, + { &hf_p22_delivery_envelope, + { "delivery-envelope", "p22.delivery_envelope", + FT_NONE, BASE_NONE, NULL, 0, + "OtherMessageDeliveryFields", HFILL }}, + { &hf_p22_subject_ipm, + { "subject-ipm", "p22.subject_ipm", + FT_NONE, BASE_NONE, NULL, 0, + "SubjectIPMField", HFILL }}, + { &hf_p22_ipn_originator, + { "ipn-originator", "p22.ipn_originator", + FT_NONE, BASE_NONE, NULL, 0, + "IPNOriginatorField", HFILL }}, + { &hf_p22_ipm_intended_recipient, + { "ipm-intended-recipient", "p22.ipm_intended_recipient", + FT_NONE, BASE_NONE, NULL, 0, + "IPMIntendedRecipientField", HFILL }}, + { &hf_p22_conversion_eits, + { "conversion-eits", "p22.conversion_eits", + FT_NONE, BASE_NONE, NULL, 0, + "ConversionEITsField", HFILL }}, + { &hf_p22_notification_extensions, + { "notification-extensions", "p22.notification_extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "NotificationExtensionsField", HFILL }}, + { &hf_p22_non_receipt_reason, + { "non-receipt-reason", "p22.non_receipt_reason", + FT_UINT32, BASE_DEC, VALS(p22_NonReceiptReasonField_vals), 0, + "NonReceiptReasonField", HFILL }}, + { &hf_p22_discard_reason, + { "discard-reason", "p22.discard_reason", + FT_UINT32, BASE_DEC, VALS(p22_DiscardReasonField_vals), 0, + "DiscardReasonField", HFILL }}, + { &hf_p22_auto_forward_comment, + { "auto-forward-comment", "p22.auto_forward_comment", + FT_STRING, BASE_NONE, NULL, 0, + "AutoForwardCommentField", HFILL }}, + { &hf_p22_returned_ipm, + { "returned-ipm", "p22.returned_ipm", + FT_NONE, BASE_NONE, NULL, 0, + "ReturnedIPMField", HFILL }}, + { &hf_p22_nrn_extensions, + { "nrn-extensions", "p22.nrn_extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "NRNExtensionsField", HFILL }}, + { &hf_p22_receipt_time, + { "receipt-time", "p22.receipt_time", + FT_STRING, BASE_NONE, NULL, 0, + "ReceiptTimeField", HFILL }}, + { &hf_p22_acknowledgment_mode, + { "acknowledgment-mode", "p22.acknowledgment_mode", + FT_UINT32, BASE_DEC, VALS(p22_AcknowledgmentModeField_vals), 0, + "AcknowledgmentModeField", HFILL }}, + { &hf_p22_suppl_receipt_info, + { "suppl-receipt-info", "p22.suppl_receipt_info", + FT_STRING, BASE_NONE, NULL, 0, + "SupplReceiptInfoField", HFILL }}, + { &hf_p22_rn_extensions, + { "rn-extensions", "p22.rn_extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "RNExtensionsField", HFILL }}, + { &hf_p22_NotificationExtensionsField_item, + { "IPMSExtension", "p22.IPMSExtension", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_NRNExtensionsField_item, + { "IPMSExtension", "p22.IPMSExtension", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_RNExtensionsField_item, + { "IPMSExtension", "p22.IPMSExtension", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_OtherNotificationTypeFields_item, + { "IPMSExtension", "p22.IPMSExtension", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_advice, + { "advice", "p22.advice", + FT_UINT32, BASE_DEC, VALS(p22_BodyPart_vals), 0, + "BodyPart", HFILL }}, + { &hf_p22_next_available, + { "next-available", "p22.next_available", + FT_STRING, BASE_NONE, NULL, 0, + "Time", HFILL }}, + { &hf_p22_new_address, + { "new-address", "p22.new_address", + FT_NONE, BASE_NONE, NULL, 0, + "ORDescriptor", HFILL }}, + { &hf_p22_effective_from, + { "effective-from", "p22.effective_from", + FT_STRING, BASE_NONE, NULL, 0, + "Time", HFILL }}, + { &hf_p22_assembly_instructions, + { "assembly-instructions", "p22.assembly_instructions", + FT_UINT32, BASE_DEC, NULL, 0, + "BodyPartReferences", HFILL }}, + { &hf_p22_BodyPartReferences_item, + { "BodyPartReference", "p22.BodyPartReference", + FT_UINT32, BASE_DEC, VALS(p22_BodyPartReference_vals), 0, + NULL, HFILL }}, + { &hf_p22_stored_entry, + { "stored-entry", "p22.stored_entry", + FT_UINT32, BASE_DEC, NULL, 0, + "SequenceNumber", HFILL }}, + { &hf_p22_stored_content, + { "stored-content", "p22.stored_content", + FT_UINT32, BASE_DEC, NULL, 0, + "SequenceNumber", HFILL }}, + { &hf_p22_submitted_body_part, + { "submitted-body-part", "p22.submitted_body_part", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_MAX", HFILL }}, + { &hf_p22_stored_body_part, + { "stored-body-part", "p22.stored_body_part", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_message_entry, + { "message-entry", "p22.message_entry", + FT_UINT32, BASE_DEC, NULL, 0, + "SequenceNumber", HFILL }}, + { &hf_p22_body_part_number, + { "body-part-number", "p22.body_part_number", + FT_UINT32, BASE_DEC, NULL, 0, + "BodyPartNumber", HFILL }}, + { &hf_p22_Languages_item, + { "Language", "p22.Language", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_BodyPartSignatures_item, + { "BodyPartSignatures item", "p22.BodyPartSignatures_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_body_part_signature, + { "body-part-signature", "p22.body_part_signature", + FT_NONE, BASE_NONE, NULL, 0, + "BodyPartSignature", HFILL }}, + { &hf_p22_originator_certificate_selector, + { "originator-certificate-selector", "p22.originator_certificate_selector", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p22_algorithmIdentifier, + { "algorithmIdentifier", "p22.algorithmIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_encrypted, + { "encrypted", "p22.encrypted", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p22_content_security_label, + { "content-security-label", "p22.content_security_label", + FT_NONE, BASE_NONE, NULL, 0, + "SecurityLabel", HFILL }}, + { &hf_p22_heading_security_label, + { "heading-security-label", "p22.heading_security_label", + FT_NONE, BASE_NONE, NULL, 0, + "SecurityLabel", HFILL }}, + { &hf_p22_body_part_security_labels, + { "body-part-security-labels", "p22.body_part_security_labels", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_OF_BodyPartSecurityLabel", HFILL }}, + { &hf_p22_body_part_security_labels_item, + { "BodyPartSecurityLabel", "p22.BodyPartSecurityLabel", + FT_UINT32, BASE_DEC, VALS(p22_BodyPartSecurityLabel_vals), 0, + NULL, HFILL }}, + { &hf_p22_body_part_unlabelled, + { "body-part-unlabelled", "p22.body_part_unlabelled", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_body_part_security_label, + { "body-part-security-label", "p22.body_part_security_label", + FT_NONE, BASE_NONE, NULL, 0, + "SecurityLabel", HFILL }}, + { &hf_p22_CirculationList_item, + { "CirculationMember", "p22.CirculationMember", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_circulation_recipient, + { "circulation-recipient", "p22.circulation_recipient", + FT_NONE, BASE_NONE, NULL, 0, + "RecipientSpecifier", HFILL }}, + { &hf_p22_checked, + { "checked", "p22.checked", + FT_UINT32, BASE_DEC, VALS(p22_Checkmark_vals), 0, + "Checkmark", HFILL }}, + { &hf_p22_simple, + { "simple", "p22.simple", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_timestamped, + { "timestamped", "p22.timestamped", + FT_STRING, BASE_NONE, NULL, 0, + "CirculationTime", HFILL }}, + { &hf_p22_signed, + { "signed", "p22.signed", + FT_NONE, BASE_NONE, NULL, 0, + "CirculationSignature", HFILL }}, + { &hf_p22_circulation_signature_algorithm_identifier, + { "algorithm-identifier", "p22.algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "CirculationSignatureAlgorithmIdentifier", HFILL }}, + { &hf_p22_timestamp, + { "timestamp", "p22.timestamp", + FT_STRING, BASE_NONE, NULL, 0, + "CirculationTime", HFILL }}, + { &hf_p22_circulation_signature_data, + { "circulation-signature-data", "p22.circulation_signature_data", + FT_NONE, BASE_NONE, NULL, 0, + "CirculationSignatureData", HFILL }}, + { &hf_p22_DistributionCodes_item, + { "DistributionCode", "p22.DistributionCode", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_oid_code, + { "oid-code", "p22.oid_code", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_alphanumeric_code, + { "alphanumeric-code", "p22.alphanumeric_code", + FT_NONE, BASE_NONE, NULL, 0, + "AlphaCode", HFILL }}, + { &hf_p22_or_descriptor, + { "or-descriptor", "p22.or_descriptor", + FT_NONE, BASE_NONE, NULL, 0, + "ORDescriptor", HFILL }}, + { &hf_p22_InformationCategories_item, + { "InformationCategory", "p22.InformationCategory", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_reference, + { "reference", "p22.reference", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_description, + { "description", "p22.description", + FT_NONE, BASE_NONE, NULL, 0, + "DescriptionString", HFILL }}, + { &hf_p22_ManualHandlingInstructions_item, + { "ManualHandlingInstruction", "p22.ManualHandlingInstruction", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_GeneralTextParameters_item, + { "CharacterSetRegistration", "p22.CharacterSetRegistration", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_related_stored_file, + { "related-stored-file", "p22.related_stored_file", + FT_UINT32, BASE_DEC, NULL, 0, + "RelatedStoredFile", HFILL }}, + { &hf_p22_contents_type, + { "contents-type", "p22.contents_type", + FT_UINT32, BASE_DEC, VALS(p22_Contents_Type_Attribute_vals), 0, + "ContentsTypeParameter", HFILL }}, + { &hf_p22_environment, + { "environment", "p22.environment", + FT_NONE, BASE_NONE, NULL, 0, + "EnvironmentParameter", HFILL }}, + { &hf_p22_compression, + { "compression", "p22.compression", + FT_NONE, BASE_NONE, NULL, 0, + "CompressionParameter", HFILL }}, + { &hf_p22_file_attributes, + { "file-attributes", "p22.file_attributes", + FT_NONE, BASE_NONE, NULL, 0, + "FileAttributes", HFILL }}, + { &hf_p22_FileTransferData_item, + { "FileTransferData item", "p22.FileTransferData_item", + FT_NONE, BASE_NONE, NULL, 0, + "EXTERNAL", HFILL }}, + { &hf_p22_RelatedStoredFile_item, + { "RelatedStoredFile item", "p22.RelatedStoredFile_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_file_identifier, + { "file-identifier", "p22.file_identifier", + FT_UINT32, BASE_DEC, VALS(p22_FileIdentifier_vals), 0, + "FileIdentifier", HFILL }}, + { &hf_p22_relationship, + { "relationship", "p22.relationship", + FT_UINT32, BASE_DEC, VALS(p22_Relationship_vals), 0, + NULL, HFILL }}, + { &hf_p22_pathname_and_version, + { "pathname-and-version", "p22.pathname_and_version", + FT_NONE, BASE_NONE, NULL, 0, + "PathnameandVersion", HFILL }}, + { &hf_p22_cross_reference, + { "cross-reference", "p22.cross_reference", + FT_NONE, BASE_NONE, NULL, 0, + "CrossReference", HFILL }}, + { &hf_p22_pathname, + { "pathname", "p22.pathname", + FT_UINT32, BASE_DEC, VALS(p22_Pathname_Attribute_vals), 0, + "Pathname_Attribute", HFILL }}, + { &hf_p22_file_version, + { "file-version", "p22.file_version", + FT_STRING, BASE_NONE, NULL, 0, + "GraphicString", HFILL }}, + { &hf_p22_application_cross_reference, + { "application-cross-reference", "p22.application_cross_reference", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_p22_message_reference, + { "message-reference", "p22.message_reference", + FT_NONE, BASE_NONE, NULL, 0, + "MessageReference", HFILL }}, + { &hf_p22_body_part_reference, + { "body-part-reference", "p22.body_part_reference", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_p22_user_relative_identifier_ref, + { "user-relative-identifier", "p22.user_relative_identifier", + FT_STRING, BASE_NONE, NULL, 0, + "PrintableString", HFILL }}, + { &hf_p22_explicit_relationship, + { "explicit-relationship", "p22.explicit_relationship", + FT_INT32, BASE_DEC, VALS(p22_ExplicitRelationship_vals), 0, + "ExplicitRelationship", HFILL }}, + { &hf_p22_descriptive_relationship, + { "descriptive-relationship", "p22.descriptive_relationship", + FT_STRING, BASE_NONE, NULL, 0, + "GraphicString", HFILL }}, + { &hf_p22_document_type, + { "document-type", "p22.document_type", + FT_NONE, BASE_NONE, NULL, 0, + "T_document_type", HFILL }}, + { &hf_p22_document_type_name, + { "document-type-name", "p22.document_type_name", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_parameter, + { "parameter", "p22.parameter", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_constraint_set_and_abstract_syntax, + { "constraint-set-and-abstract-syntax", "p22.constraint_set_and_abstract_syntax", + FT_NONE, BASE_NONE, NULL, 0, + "T_constraint_set_and_abstract_syntax", HFILL }}, + { &hf_p22_constraint_set_name, + { "constraint-set-name", "p22.constraint_set_name", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_abstract_syntax_name, + { "abstract-syntax-name", "p22.abstract_syntax_name", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_application_reference, + { "application-reference", "p22.application_reference", + FT_UINT32, BASE_DEC, VALS(p22_GeneralIdentifier_vals), 0, + "GeneralIdentifier", HFILL }}, + { &hf_p22_machine, + { "machine", "p22.machine", + FT_UINT32, BASE_DEC, VALS(p22_GeneralIdentifier_vals), 0, + "GeneralIdentifier", HFILL }}, + { &hf_p22_operating_system, + { "operating-system", "p22.operating_system", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_user_visible_string, + { "user-visible-string", "p22.user_visible_string", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_user_visible_string_item, + { "user-visible-string item", "p22.user_visible_string_item", + FT_STRING, BASE_NONE, NULL, 0, + "GraphicString", HFILL }}, + { &hf_p22_registered_identifier, + { "registered-identifier", "p22.registered_identifier", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_descriptive_identifier, + { "descriptive-identifier", "p22.descriptive_identifier", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_descriptive_identifier_item, + { "descriptive-identifier item", "p22.descriptive_identifier_item", + FT_STRING, BASE_NONE, NULL, 0, + "GraphicString", HFILL }}, + { &hf_p22_compression_algorithm_id, + { "compression-algorithm-id", "p22.compression_algorithm_id", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_compression_algorithm_param, + { "compression-algorithm-param", "p22.compression_algorithm_param", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_permitted_actions, + { "permitted-actions", "p22.permitted_actions", + FT_BYTES, BASE_NONE, NULL, 0, + "Permitted_Actions_Attribute", HFILL }}, + { &hf_p22_storage_account, + { "storage-account", "p22.storage_account", + FT_UINT32, BASE_DEC, VALS(p22_Account_Attribute_vals), 0, + "Account_Attribute", HFILL }}, + { &hf_p22_date_and_time_of_creation, + { "date-and-time-of-creation", "p22.date_and_time_of_creation", + FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, + "Date_and_Time_Attribute", HFILL }}, + { &hf_p22_date_and_time_of_last_modification, + { "date-and-time-of-last-modification", "p22.date_and_time_of_last_modification", + FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, + "Date_and_Time_Attribute", HFILL }}, + { &hf_p22_date_and_time_of_last_read_access, + { "date-and-time-of-last-read-access", "p22.date_and_time_of_last_read_access", + FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, + "Date_and_Time_Attribute", HFILL }}, + { &hf_p22_date_and_time_of_last_attribute_modification, + { "date-and-time-of-last-attribute-modification", "p22.date_and_time_of_last_attribute_modification", + FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, + "Date_and_Time_Attribute", HFILL }}, + { &hf_p22_identity_of_creator, + { "identity-of-creator", "p22.identity_of_creator", + FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0, + "User_Identity_Attribute", HFILL }}, + { &hf_p22_identity_of_last_modifier, + { "identity-of-last-modifier", "p22.identity_of_last_modifier", + FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0, + "User_Identity_Attribute", HFILL }}, + { &hf_p22_identity_of_last_reader, + { "identity-of-last-reader", "p22.identity_of_last_reader", + FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0, + "User_Identity_Attribute", HFILL }}, + { &hf_p22_identity_of_last_attribute_modifier, + { "identity-of-last-attribute-modifier", "p22.identity_of_last_attribute_modifier", + FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0, + "User_Identity_Attribute", HFILL }}, + { &hf_p22_object_availability, + { "object-availability", "p22.object_availability", + FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0, + "Object_Availability_Attribute", HFILL }}, + { &hf_p22_object_size, + { "object-size", "p22.object_size", + FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0, + "Object_Size_Attribute", HFILL }}, + { &hf_p22_future_object_size, + { "future-object-size", "p22.future_object_size", + FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0, + "Object_Size_Attribute", HFILL }}, + { &hf_p22_access_control, + { "access-control", "p22.access_control", + FT_UINT32, BASE_DEC, VALS(p22_Access_Control_Attribute_vals), 0, + "Access_Control_Attribute", HFILL }}, + { &hf_p22_legal_qualifications, + { "legal-qualifications", "p22.legal_qualifications", + FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0, + "Legal_Qualification_Attribute", HFILL }}, + { &hf_p22_private_use, + { "private-use", "p22.private_use", + FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0, + "Private_Use_Attribute", HFILL }}, + { &hf_p22_attribute_extensions, + { "attribute-extensions", "p22.attribute_extensions", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_incomplete_pathname, + { "incomplete-pathname", "p22.incomplete_pathname", + FT_UINT32, BASE_DEC, NULL, 0, + "Pathname", HFILL }}, + { &hf_p22_complete_pathname, + { "complete-pathname", "p22.complete_pathname", + FT_UINT32, BASE_DEC, NULL, 0, + "Pathname", HFILL }}, + { &hf_p22_no_value_available, + { "no-value-available", "p22.no_value_available", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_account_actual_values, + { "actual-values", "p22.actual_values", + FT_STRING, BASE_NONE, NULL, 0, + "Account", HFILL }}, + { &hf_p22_identity_actual_values, + { "actual-values", "p22.actual_values", + FT_STRING, BASE_NONE, NULL, 0, + "User_Identity", HFILL }}, + { &hf_p22_actual_values, + { "actual-values", "p22.actual_values", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_Access_Control_Element", HFILL }}, + { &hf_p22_actual_values_item, + { "Access-Control-Element", "p22.Access_Control_Element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_action_list, + { "action-list", "p22.action_list", + FT_BYTES, BASE_NONE, NULL, 0, + "Access_Request", HFILL }}, + { &hf_p22_concurrency_access, + { "concurrency-access", "p22.concurrency_access", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_identity, + { "identity", "p22.identity", + FT_STRING, BASE_NONE, NULL, 0, + "User_Identity", HFILL }}, + { &hf_p22_passwords, + { "passwords", "p22.passwords", + FT_NONE, BASE_NONE, NULL, 0, + "Access_Passwords", HFILL }}, + { &hf_p22_location, + { "location", "p22.location", + FT_NONE, BASE_NONE, NULL, 0, + "Application_Entity_Title", HFILL }}, + { &hf_p22_read_password, + { "read-password", "p22.read_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_insert_password, + { "insert-password", "p22.insert_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_replace_password, + { "replace-password", "p22.replace_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_extend_password, + { "extend-password", "p22.extend_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_erase_password, + { "erase-password", "p22.erase_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_read_attribute_password, + { "read-attribute-password", "p22.read_attribute_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_change_attribute_password, + { "change-attribute-password", "p22.change_attribute_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_delete_password, + { "delete-password", "p22.delete_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_pass_passwords, + { "pass-passwords", "p22.pass_passwords", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_link_password, + { "link-password", "p22.link_password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + "Password", HFILL }}, + { &hf_p22_graphic_string, + { "graphic-string", "p22.graphic_string", + FT_STRING, BASE_NONE, NULL, 0, + "GraphicString", HFILL }}, + { &hf_p22_octet_string, + { "octet-string", "p22.octet_string", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_Pass_Passwords_item, + { "Password", "p22.Password", + FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0, + NULL, HFILL }}, + { &hf_p22_ap_title, + { "ap-title", "p22.ap_title", + FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0, + NULL, HFILL }}, + { &hf_p22_ae_qualifier, + { "ae-qualifier", "p22.ae_qualifier", + FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0, + NULL, HFILL }}, + { &hf_p22_voice_message_duration, + { "voice-message-duration", "p22.voice_message_duration", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_p22_voice_encoding_type, + { "voice-encoding-type", "p22.voice_encoding_type", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_supplementary_information, + { "supplementary-information", "p22.supplementary_information", + FT_STRING, BASE_NONE, NULL, 0, + "IA5String", HFILL }}, + { &hf_p22_mts_identifier, + { "mts-identifier", "p22.mts_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "MessageDeliveryIdentifier", HFILL }}, + { &hf_p22_submission_proof, + { "submission-proof", "p22.submission_proof", + FT_NONE, BASE_NONE, NULL, 0, + "SubmissionProof", HFILL }}, + { &hf_p22_proof_of_submission, + { "proof-of-submission", "p22.proof_of_submission", + FT_NONE, BASE_NONE, NULL, 0, + "ProofOfSubmission", HFILL }}, + { &hf_p22_originating_MTA_certificate, + { "originating-MTA-certificate", "p22.originating_MTA_certificate", + FT_NONE, BASE_NONE, NULL, 0, + "OriginatingMTACertificate", HFILL }}, + { &hf_p22_message_submission_envelope, + { "message-submission-envelope", "p22.message_submission_envelope", + FT_NONE, BASE_NONE, NULL, 0, + "MessageSubmissionEnvelope", HFILL }}, + { &hf_p22_IPMSynopsis_item, + { "BodyPartSynopsis", "p22.BodyPartSynopsis", + FT_UINT32, BASE_DEC, VALS(p22_BodyPartSynopsis_vals), 0, + NULL, HFILL }}, + { &hf_p22_message_synopsis, + { "message", "p22.message", + FT_NONE, BASE_NONE, NULL, 0, + "MessageBodyPartSynopsis", HFILL }}, + { &hf_p22_non_message, + { "non-message", "p22.non_message", + FT_NONE, BASE_NONE, NULL, 0, + "NonMessageBodyPartSynopsis", HFILL }}, + { &hf_p22_number, + { "number", "p22.number", + FT_UINT32, BASE_DEC, NULL, 0, + "SequenceNumber", HFILL }}, + { &hf_p22_synopsis, + { "synopsis", "p22.synopsis", + FT_UINT32, BASE_DEC, NULL, 0, + "IPMSynopsis", HFILL }}, + { &hf_p22_bp_type, + { "type", "p22.type", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_bp_parameters, + { "parameters", "p22.parameters", + FT_NONE, BASE_NONE, NULL, 0, + "INSTANCE_OF", HFILL }}, + { &hf_p22_size, + { "size", "p22.size", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_p22_processed, + { "processed", "p22.processed", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_p22_data, + { "data", "p22.data", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_parameters, + { "parameters", "p22.parameters", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_p22_this_child_entry, + { "this-child-entry", "p22.this_child_entry", + FT_UINT32, BASE_DEC, NULL, 0, + "SequenceNumber", HFILL }}, + { &hf_p22_position, + { "position", "p22.position", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_p22_BodyPartSignatureVerification_item, + { "BodyPartSignatureVerification item", "p22.BodyPartSignatureVerification_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_body_part_sequence_number, + { "body-part-sequence-number", "p22.body_part_sequence_number", + FT_UINT32, BASE_DEC, NULL, 0, + "BodyPartNumber", HFILL }}, + { &hf_p22_body_part_signature_status, + { "body-part-signature", "p22.body_part_signature", + FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0, + "SignatureStatus", HFILL }}, + { &hf_p22_stored, + { "stored", "p22.stored", + FT_UINT32, BASE_DEC, NULL, 0, + "SET_OF_SequenceNumber", HFILL }}, + { &hf_p22_stored_item, + { "SequenceNumber", "p22.SequenceNumber", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_absent, + { "absent", "p22.absent", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_no_reply_received, + { "no-reply-received", "p22.no_reply_received", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_received_replies, + { "received-replies", "p22.received_replies", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_OF_SequenceNumber", HFILL }}, + { &hf_p22_received_replies_item, + { "SequenceNumber", "p22.SequenceNumber", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_no_ipn_received, + { "no-ipn-received", "p22.no_ipn_received", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_ipns_received, + { "ipns-received", "p22.ipns_received", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_OF_SequenceNumber", HFILL }}, + { &hf_p22_ipns_received_item, + { "SequenceNumber", "p22.SequenceNumber", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_p22_content_or_arguments, + { "content-or-arguments", "p22.content_or_arguments", + FT_UINT32, BASE_DEC, VALS(p22_T_content_or_arguments_vals), 0, + "T_content_or_arguments", HFILL }}, + { &hf_p22_original_content, + { "original-content", "p22.original_content", + FT_BYTES, BASE_NONE, NULL, 0, + "OriginalContent", HFILL }}, + { &hf_p22_original_security_arguments, + { "original-security-arguments", "p22.original_security_arguments", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_original_content_integrity_check, + { "original-content-integrity-check", "p22.original_content_integrity_check", + FT_NONE, BASE_NONE, NULL, 0, + "OriginalContentIntegrityCheck", HFILL }}, + { &hf_p22_original_message_origin_authentication_check, + { "original-message-origin-authentication-check", "p22.original_message_origin_authentication_check", + FT_NONE, BASE_NONE, NULL, 0, + "OriginalMessageOriginAuthenticationCheck", HFILL }}, + { &hf_p22_original_message_token, + { "original-message-token", "p22.original_message_token", + FT_NONE, BASE_NONE, NULL, 0, + "OriginalMessageToken", HFILL }}, + { &hf_p22_security_diagnostic_code, + { "security-diagnostic-code", "p22.security_diagnostic_code", + FT_INT32, BASE_DEC, VALS(p22_SecurityDiagnosticCode_vals), 0, + "SecurityDiagnosticCode", HFILL }}, + { &hf_p22_BodyPartTokens_item, + { "BodyPartTokens item", "p22.BodyPartTokens_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_body_part_choice, + { "body-part-choice", "p22.body_part_choice", + FT_UINT32, BASE_DEC, VALS(p22_T_body_part_choice_vals), 0, + "T_body_part_choice", HFILL }}, + { &hf_p22_encryption_token, + { "encryption-token", "p22.encryption_token", + FT_NONE, BASE_NONE, NULL, 0, + "EncryptionToken", HFILL }}, + { &hf_p22_message_or_content_body_part, + { "message-or-content-body-part", "p22.message_or_content_body_part", + FT_UINT32, BASE_DEC, NULL, 0, + "BodyPartTokens", HFILL }}, + { &hf_p22_encryption_algorithm_identifier, + { "encryption-algorithm-identifier", "p22.encryption_algorithm_identifier", + FT_NONE, BASE_NONE, NULL, 0, + "AlgorithmIdentifier", HFILL }}, + { &hf_p22_encrypted_key, + { "encrypted-key", "p22.encrypted_key", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING", HFILL }}, + { &hf_p22_recipient_certificate_selector, + { "recipient-certificate-selector", "p22.recipient_certificate_selector", + FT_NONE, BASE_NONE, NULL, 0, + "CertificateAssertion", HFILL }}, + { &hf_p22_recipient_certificate, + { "recipient-certificate", "p22.recipient_certificate", + FT_NONE, BASE_NONE, NULL, 0, + "Certificates", HFILL }}, + { &hf_p22_ForwardedContentToken_item, + { "ForwardedContentToken item", "p22.ForwardedContentToken_item", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_p22_body_part_token_choice, + { "body-part-choice", "p22.body_part_choice", + FT_UINT32, BASE_DEC, VALS(p22_T_body_part_token_choice_vals), 0, + "T_body_part_token_choice", HFILL }}, + { &hf_p22_forwarding_token, + { "forwarding-token", "p22.forwarding_token", + FT_NONE, BASE_NONE, NULL, 0, + "MessageToken", HFILL }}, + { &hf_p22_forwarded_content_token, + { "message-or-content-body-part", "p22.message_or_content_body_part", + FT_UINT32, BASE_DEC, NULL, 0, + "ForwardedContentToken", HFILL }}, + { &hf_p22_choice, + { "choice", "p22.choice", + FT_UINT32, BASE_DEC, VALS(p22_T_choice_vals), 0, + NULL, HFILL }}, + { &hf_p22_non_receipt_fields, + { "non-receipt-fields", "p22.non_receipt_fields", + FT_NONE, BASE_NONE, NULL, 0, + "NonReceiptFields", HFILL }}, + { &hf_p22_receipt_fields, + { "receipt-fields", "p22.receipt_fields", + FT_NONE, BASE_NONE, NULL, 0, + "ReceiptFields", HFILL }}, + { &hf_p22_other_notification_type_fields, + { "other-notification-type-fields", "p22.other_notification_type_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "OtherNotificationTypeFields", HFILL }}, + { &hf_p22_NotificationRequests_rn, + { "rn", "p22.rn", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p22_NotificationRequests_nrn, + { "nrn", "p22.nrn", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p22_NotificationRequests_ipm_return, + { "ipm-return", "p22.ipm-return", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p22_NotificationRequests_an_supported, + { "an-supported", "p22.an-supported", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p22_NotificationRequests_suppress_an, + { "suppress-an", "p22.suppress-an", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p22_Access_Request_read, + { "read", "p22.read", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p22_Access_Request_insert, + { "insert", "p22.insert", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p22_Access_Request_replace, + { "replace", "p22.replace", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p22_Access_Request_extend, + { "extend", "p22.extend", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + { &hf_p22_Access_Request_erase, + { "erase", "p22.erase", + FT_BOOLEAN, 8, NULL, 0x08, + NULL, HFILL }}, + { &hf_p22_Access_Request_read_attribute, + { "read-attribute", "p22.read-attribute", + FT_BOOLEAN, 8, NULL, 0x04, + NULL, HFILL }}, + { &hf_p22_Access_Request_change_attribute, + { "change-attribute", "p22.change-attribute", + FT_BOOLEAN, 8, NULL, 0x02, + NULL, HFILL }}, + { &hf_p22_Access_Request_delete_object, + { "delete-object", "p22.delete-object", + FT_BOOLEAN, 8, NULL, 0x01, + NULL, HFILL }}, + { &hf_p22_RecipientSecurityRequest_content_non_repudiation, + { "content-non-repudiation", "p22.content-non-repudiation", + FT_BOOLEAN, 8, NULL, 0x80, + NULL, HFILL }}, + { &hf_p22_RecipientSecurityRequest_content_proof, + { "content-proof", "p22.content-proof", + FT_BOOLEAN, 8, NULL, 0x40, + NULL, HFILL }}, + { &hf_p22_RecipientSecurityRequest_ipn_non_repudiation, + { "ipn-non-repudiation", "p22.ipn-non-repudiation", + FT_BOOLEAN, 8, NULL, 0x20, + NULL, HFILL }}, + { &hf_p22_RecipientSecurityRequest_ipn_proof, + { "ipn-proof", "p22.ipn-proof", + FT_BOOLEAN, 8, NULL, 0x10, + NULL, HFILL }}, + +/*--- End of included file: packet-p22-hfarr.c ---*/ +#line 126 "packet-p22-template.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_p22, + +/*--- Included file: packet-p22-ettarr.c ---*/ +#line 1 "packet-p22-ettarr.c" + &ett_p22_InformationObject, + &ett_p22_IPM, + &ett_p22_IPMSExtension, + &ett_p22_Heading, + &ett_p22_IPMIdentifier_U, + &ett_p22_RecipientSpecifier, + &ett_p22_ORDescriptor, + &ett_p22_NotificationRequests, + &ett_p22_RecipientExtensionsField, + &ett_p22_AuthorizingUsersField, + &ett_p22_PrimaryRecipientsField, + &ett_p22_CopyRecipientsField, + &ett_p22_BlindCopyRecipientsField, + &ett_p22_ObsoletedIPMsField, + &ett_p22_RelatedIPMsField, + &ett_p22_ReplyRecipientsField, + &ett_p22_ExtensionsField, + &ett_p22_Body, + &ett_p22_BodyPart, + &ett_p22_T_basic, + &ett_p22_ExtendedBodyPart, + &ett_p22_IA5TextBodyPart, + &ett_p22_IA5TextParameters, + &ett_p22_G3FacsimileBodyPart, + &ett_p22_G3FacsimileParameters, + &ett_p22_G3FacsimileData, + &ett_p22_G4Class1BodyPart, + &ett_p22_MixedModeBodyPart, + &ett_p22_TeletexBodyPart, + &ett_p22_TeletexParameters, + &ett_p22_TeletexData, + &ett_p22_VideotexBodyPart, + &ett_p22_VideotexParameters, + &ett_p22_EncryptedBodyPart, + &ett_p22_EncryptedParameters, + &ett_p22_MessageBodyPart, + &ett_p22_MessageParameters, + &ett_p22_IPN, + &ett_p22_CommonFields, + &ett_p22_NonReceiptFields, + &ett_p22_ReceiptFields, + &ett_p22_NotificationExtensionsField, + &ett_p22_NRNExtensionsField, + &ett_p22_RNExtensionsField, + &ett_p22_OtherNotificationTypeFields, + &ett_p22_AbsenceAdvice, + &ett_p22_ChangeOfAddressAdvice, + &ett_p22_IPMAssemblyInstructions, + &ett_p22_BodyPartReferences, + &ett_p22_BodyPartReference, + &ett_p22_T_stored_body_part, + &ett_p22_Languages, + &ett_p22_BodyPartSignatures, + &ett_p22_BodyPartSignatures_item, + &ett_p22_Signature, + &ett_p22_IPMSecurityLabel, + &ett_p22_SEQUENCE_OF_BodyPartSecurityLabel, + &ett_p22_BodyPartSecurityLabel, + &ett_p22_CirculationList, + &ett_p22_CirculationMember, + &ett_p22_Checkmark, + &ett_p22_CirculationSignatureData, + &ett_p22_CirculationSignature, + &ett_p22_DistributionCodes, + &ett_p22_DistributionCode, + &ett_p22_InformationCategories, + &ett_p22_InformationCategory, + &ett_p22_ManualHandlingInstructions, + &ett_p22_GeneralTextParameters, + &ett_p22_FileTransferParameters, + &ett_p22_FileTransferData, + &ett_p22_RelatedStoredFile, + &ett_p22_RelatedStoredFile_item, + &ett_p22_FileIdentifier, + &ett_p22_PathnameandVersion, + &ett_p22_CrossReference, + &ett_p22_MessageReference, + &ett_p22_Relationship, + &ett_p22_Contents_Type_Attribute, + &ett_p22_T_document_type, + &ett_p22_T_constraint_set_and_abstract_syntax, + &ett_p22_EnvironmentParameter, + &ett_p22_T_user_visible_string, + &ett_p22_GeneralIdentifier, + &ett_p22_T_descriptive_identifier, + &ett_p22_CompressionParameter, + &ett_p22_FileAttributes, + &ett_p22_Pathname_Attribute, + &ett_p22_Account_Attribute, + &ett_p22_User_Identity_Attribute, + &ett_p22_Access_Control_Attribute, + &ett_p22_SET_OF_Access_Control_Element, + &ett_p22_Access_Control_Element, + &ett_p22_Access_Request, + &ett_p22_Access_Passwords, + &ett_p22_Password, + &ett_p22_Pass_Passwords, + &ett_p22_Application_Entity_Title, + &ett_p22_VoiceParameters, + &ett_p22_ForwardedContentParameters, + &ett_p22_SubmissionProof, + &ett_p22_IPMSynopsis, + &ett_p22_BodyPartSynopsis, + &ett_p22_MessageBodyPartSynopsis, + &ett_p22_NonMessageBodyPartSynopsis, + &ett_p22_BodyPartDescriptor, + &ett_p22_BodyPartSignatureVerification, + &ett_p22_BodyPartSignatureVerification_item, + &ett_p22_IPMLocation, + &ett_p22_SET_OF_SequenceNumber, + &ett_p22_CorrelatedDeliveredReplies, + &ett_p22_SEQUENCE_OF_SequenceNumber, + &ett_p22_CorrelatedDeliveredIPNs, + &ett_p22_RecipientSecurityRequest, + &ett_p22_IpnSecurityResponse, + &ett_p22_T_content_or_arguments, + &ett_p22_T_original_security_arguments, + &ett_p22_BodyPartTokens, + &ett_p22_BodyPartTokens_item, + &ett_p22_T_body_part_choice, + &ett_p22_EncryptionToken, + &ett_p22_ForwardedContentToken, + &ett_p22_ForwardedContentToken_item, + &ett_p22_T_body_part_token_choice, + &ett_p22_T_choice, + +/*--- End of included file: packet-p22-ettarr.c ---*/ +#line 132 "packet-p22-template.c" + }; + + /* Register protocol */ + proto_p22 = proto_register_protocol(PNAME, PSNAME, PFNAME); + register_dissector("p22", dissect_p22, proto_p22); + /* Register fields and subtrees */ + proto_register_field_array(proto_p22, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + +} + + +/*--- proto_reg_handoff_p22 --- */ +void proto_reg_handoff_p22(void) { + + +/*--- Included file: packet-p22-dis-tab.c ---*/ +#line 1 "packet-p22-dis-tab.c" + register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_p22, "id-on-absence-advice"); + register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_p22, "id-on-change-of-address-advice"); + register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_p22, "id-mst-assembly-instructions"); + register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_p22, "id-hex-incomplete-copy"); + register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU, proto_p22, "id-hex-languages"); + register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU, proto_p22, "id-hex-auto-submitted"); + register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU, proto_p22, "id-hex-body-part-signatures"); + register_ber_oid_dissector("2.6.1.5.4", dissect_IPMSecurityLabel_PDU, proto_p22, "id-hex-ipm-security-label"); + register_ber_oid_dissector("2.6.1.5.5", dissect_AuthorizationTime_PDU, proto_p22, "id-hex-authorization-time"); + register_ber_oid_dissector("2.6.1.5.6", dissect_CirculationList_PDU, proto_p22, "id-hex-circulation-list-recipients"); + register_ber_oid_dissector("2.6.1.20.0", dissect_CirculationListIndicator_PDU, proto_p22, "id-rex-circulation-list-indicator"); + register_ber_oid_dissector("2.6.1.5.7", dissect_DistributionCodes_PDU, proto_p22, "id-hex-distribution-codes"); + register_ber_oid_dissector("2.6.1.5.8", dissect_ExtendedSubject_PDU, proto_p22, "id-hex-extended-subject"); + register_ber_oid_dissector("2.6.1.5.9", dissect_InformationCategories_PDU, proto_p22, "id-hex-information-categories"); + register_ber_oid_dissector("2.6.1.5.10", dissect_ManualHandlingInstructions_PDU, proto_p22, "id-hex-manual-handling-instructions"); + register_ber_oid_dissector("2.6.1.5.11", dissect_OriginatorsReference_PDU, proto_p22, "id-hex-originators-reference"); + register_ber_oid_dissector("2.6.1.5.12", dissect_PrecedencePolicyIdentifier_PDU, proto_p22, "id-hex-precedence-policy-id"); + register_ber_oid_dissector("2.6.1.20.1", dissect_Precedence_PDU, proto_p22, "id-rex-precedence"); + register_ber_oid_dissector("2.6.1.4.0", dissect_IA5TextData_PDU, proto_p22, "id-et-ia5-text"); + register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU, proto_p22, "id-ep-ia5-text"); + register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU, proto_p22, "id-et-g3-facsimile"); + register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU, proto_p22, "id-ep-g3-facsimile"); + register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU, proto_p22, "id-et-g4-class1"); + register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU, proto_p22, "id-et-teletex"); + register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU, proto_p22, "id-ep-teletex"); + register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU, proto_p22, "id-et-videotex"); + register_ber_oid_dissector("2.6.1.11.5", dissect_VideotexParameters_PDU, proto_p22, "id-ep-videotex"); + register_ber_oid_dissector("2.6.1.4.6", dissect_EncryptedData_PDU, proto_p22, "id-et-encrypted"); + register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU, proto_p22, "id-ep-encrypted"); + register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU, proto_p22, "id-et-message"); + register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU, proto_p22, "id-ep-message"); + register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU, proto_p22, "id-et-mixed-mode"); + register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_p22, "id-et-bilaterally-defined"); + register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_p22, "id-ep-general-text"); + register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_p22, "id-et-general-text"); + register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_p22, "id-ep-file-transfer"); + register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_p22, "id-et-file-transfer"); + register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU, proto_p22, "id-ep-notification"); + register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU, proto_p22, "id-et-notification"); + register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU, proto_p22, "id-ep-voice"); + register_ber_oid_dissector("2.6.1.4.16", dissect_VoiceData_PDU, proto_p22, "id-et-voice"); + register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.1", dissect_ForwardedContentParameters_PDU, proto_p22, "id-ep-content-p22"); + register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.1", dissect_InformationObject_PDU, proto_p22, "id-et-content-p22"); + register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_p22, "id-ep-content-p2"); + register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_p22, "id-et-content-p2"); + register_ber_oid_dissector("2.6.1.11.17.1.3.26.0.4406.0.4.1", dissect_ForwardedContentParameters_PDU, proto_p22, "id-ep-content-p772"); + register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU, proto_p22, "id-sat-ipm-entry-type"); + register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU, proto_p22, "id-sat-ipm-synopsis"); + register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU, proto_p22, "id-sat-body-parts-summary"); + register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU, proto_p22, "id-hat-heading"); + register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU, proto_p22, "id-hat-this-ipm"); + register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU, proto_p22, "id-hat-originator"); + register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU, proto_p22, "id-hat-replied-to-IPM"); + register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU, proto_p22, "id-hat-subject"); + register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU, proto_p22, "id-hat-expiry-time"); + register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU, proto_p22, "id-hat-reply-time"); + register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU, proto_p22, "id-hat-importance"); + register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU, proto_p22, "id-hat-sensitivity"); + register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU, proto_p22, "id-hat-auto-forwarded"); + register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU, proto_p22, "id-hat-authorizing-users"); + register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU, proto_p22, "id-hat-primary-recipients"); + register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU, proto_p22, "id-hat-copy-recipients"); + register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU, proto_p22, "id-hat-blind-copy-recipients"); + register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU, proto_p22, "id-hat-obsoleted-IPMs"); + register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU, proto_p22, "id-hat-related-IPMs"); + register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU, proto_p22, "id-hat-reply-recipients"); + register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU, proto_p22, "id-hat-incomplete-copy"); + register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU, proto_p22, "id-hat-languages"); + register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU, proto_p22, "id-hat-rn-requestors"); + register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU, proto_p22, "id-hat-nrn-requestors"); + register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU, proto_p22, "id-hat-reply-requestors"); + register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU, proto_p22, "id-hat-auto-submitted"); + register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU, proto_p22, "id-hat-body-part-signatures"); + register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU, proto_p22, "id-hat-ipm-security-label"); + register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU, proto_p22, "id-hat-body-part-security-label"); + register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU, proto_p22, "id-hat-body-part-encryption-token"); + register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU, proto_p22, "id-hat-authorization-time"); + register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU, proto_p22, "id-hat-circulation-list-recipients"); + register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU, proto_p22, "id-hat-distribution-codes"); + register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU, proto_p22, "id-hat-extended-subject"); + register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU, proto_p22, "id-hat-information-category"); + register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU, proto_p22, "id-hat-manual-handling-instructions"); + register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU, proto_p22, "id-hat-originators-reference"); + register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU, proto_p22, "id-hat-precedence-policy-id"); + register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU, proto_p22, "id-hat-forwarded-content-token"); + register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU, proto_p22, "id-hat-precedence"); + register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU, proto_p22, "id-hat-body-part-signature-verification-status"); + register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU, proto_p22, "id-bat-body"); + register_ber_oid_dissector("2.6.1.13.0", dissect_CorrelatedDeliveredIPNs_PDU, proto_p22, "id-cat-correlated-delivered-ipns"); + register_ber_oid_dissector("2.6.1.13.1", dissect_CorrelatedDeliveredReplies_PDU, proto_p22, "id-cat-correlated-delivered-replies"); + register_ber_oid_dissector("2.6.1.13.2", dissect_DeliveredIPNStatus_PDU, proto_p22, "id-cat-delivered-ipn-summary"); + register_ber_oid_dissector("2.6.1.13.3", dissect_DeliveredReplyStatus_PDU, proto_p22, "id-cat-delivered-replies-summary"); + register_ber_oid_dissector("2.6.1.13.7", dissect_IPMLocation_PDU, proto_p22, "id-cat-obsoleted-ipms"); + register_ber_oid_dissector("2.6.1.13.14", dissect_SubmittedIPNStatus_PDU, proto_p22, "id-cat-submitted-ipn-status"); + register_ber_oid_dissector("2.6.1.13.16", dissect_SubmittedReplyStatus_PDU, proto_p22, "id-cat-submitted-reply-status"); + register_ber_oid_dissector("2.6.1.13.18", dissect_RecipientCategory_PDU, proto_p22, "id-cat-recipient-category"); + register_ber_oid_dissector("2.6.1.18.0", dissect_RecipientSecurityRequest_PDU, proto_p22, "id-sec-ipm-security-request"); + register_ber_oid_dissector("2.6.1.18.1", dissect_IpnSecurityResponse_PDU, proto_p22, "id-sec-security-common-fields"); + + +/*--- End of included file: packet-p22-dis-tab.c ---*/ +#line 148 "packet-p22-template.c" + + register_ber_oid_dissector("2.6.1.10.0", dissect_p22, proto_p22, "InterPersonal Message (1984)"); + register_ber_oid_dissector("2.6.1.10.1", dissect_p22, proto_p22, "InterPersonal Message (1988)"); + + +} diff --git a/epan/dissectors/packet-p22.h b/epan/dissectors/packet-p22.h new file mode 100644 index 0000000000..c45ab909cc --- /dev/null +++ b/epan/dissectors/packet-p22.h @@ -0,0 +1,59 @@ +/* Do not modify this file. */ +/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ +/* packet-p22.h */ +/* ../../tools/asn2wrs.py -b -e -C -p p22 -c ./p22.cnf -s ./packet-p22-template -D . IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */ + +/* Input file: packet-p22-template.h */ + +#line 1 "packet-p22-template.h" +/* packet-p22.h + * Routines for X.420 (X.400 Message Transfer) packet dissection + * Graeme Lunt 2005 + * + * $Id$ + * + * 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 + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef PACKET_P22_H +#define PACKET_P22_H + + +/*--- Included file: packet-p22-exp.h ---*/ +#line 1 "packet-p22-exp.h" +extern const value_string p22_InformationObject_vals[]; +extern const value_string p22_NonReceiptReasonField_vals[]; +extern const value_string p22_DiscardReasonField_vals[]; +int dissect_p22_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_ORDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_ExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_MessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_IPN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_NonReceiptReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_DiscardReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_p22_ReceiptTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); + +/*--- End of included file: packet-p22-exp.h ---*/ +#line 30 "packet-p22-template.h" + +void proto_reg_handoff_p22(void); +void proto_register_p22(void); + +#endif /* PACKET_P22_H */ diff --git a/epan/dissectors/packet-p7.c b/epan/dissectors/packet-p7.c index 322cb8b9c8..61d3692264 100644 --- a/epan/dissectors/packet-p7.c +++ b/epan/dissectors/packet-p7.c @@ -46,7 +46,7 @@ #include "packet-ros.h" #include "packet-rtse.h" -#include "packet-x411.h" +#include "packet-p1.h" #include <epan/strutil.h> #define PNAME "X.413 Message Store Service" @@ -946,10 +946,10 @@ static int dissect_p7_T_initiator_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_) { char *ora = NULL; - offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - if (check_col(actx->pinfo->cinfo, COL_INFO) && (ora = x411_get_last_oraddress())) { + if (check_col(actx->pinfo->cinfo, COL_INFO) && (ora = p1_get_last_oraddress())) { col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (initiator=%s)", ora); } @@ -1050,8 +1050,8 @@ dissect_p7_RegistrationIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static const ber_sequence_t MSBindArgument_set[] = { { &hf_p7_initiator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_initiator_name }, - { &hf_p7_initiator_credentials, BER_CLASS_CON, 2, 0, dissect_x411_InitiatorCredentials }, - { &hf_p7_security_context , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, + { &hf_p7_initiator_credentials, BER_CLASS_CON, 2, 0, dissect_p1_InitiatorCredentials }, + { &hf_p7_security_context , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext }, { &hf_p7_fetch_restrictions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_Restrictions }, { &hf_p7_ms_configuration_request, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN }, { &hf_p7_ua_registration_identifier, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_RegistrationIdentifier }, @@ -1199,7 +1199,7 @@ dissect_p7_GeneralString_SIZE_1_ub_service_information_length(gboolean implicit_ static const ber_sequence_t MSBindResult_set[] = { - { &hf_p7_responder_credentials, BER_CLASS_CON, 2, 0, dissect_x411_ResponderCredentials }, + { &hf_p7_responder_credentials, BER_CLASS_CON, 2, 0, dissect_p1_ResponderCredentials }, { &hf_p7_available_auto_actions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType }, { &hf_p7_available_attribute_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType }, { &hf_p7_alert_indication , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN }, @@ -1802,7 +1802,7 @@ dissect_p7_MSSubmissionOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_p7_OriginatorToken(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_x411_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_p1_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } @@ -2231,8 +2231,8 @@ dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType(gboolean implici static const ber_sequence_t T_change_credentials_sequence[] = { - { &hf_p7_register_old_credentials, BER_CLASS_CON, 0, 0, dissect_x411_Credentials }, - { &hf_p7_new_credentials , BER_CLASS_CON, 1, 0, dissect_x411_Credentials }, + { &hf_p7_register_old_credentials, BER_CLASS_CON, 0, 0, dissect_p1_Credentials }, + { &hf_p7_new_credentials , BER_CLASS_CON, 1, 0, dissect_p1_Credentials }, { NULL, 0, 0, 0, NULL } }; @@ -2246,7 +2246,7 @@ dissect_p7_T_change_credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static const ber_sequence_t SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel_set_of[1] = { - { &hf_p7_user_security_labels_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_SecurityLabel }, + { &hf_p7_user_security_labels_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_SecurityLabel }, }; static int @@ -2465,7 +2465,7 @@ dissect_p7_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _ static const ber_sequence_t ProtectedChangeCredentials_sequence[] = { { &hf_p7_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_OBJECT_IDENTIFIER }, - { &hf_p7_old_credentials , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_InitiatorCredentials }, + { &hf_p7_old_credentials , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_InitiatorCredentials }, { &hf_p7_password_delta , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p7_BIT_STRING }, { NULL, 0, 0, 0, NULL } }; @@ -2744,8 +2744,8 @@ dissect_p7_ModifyResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static const ber_sequence_t MSMessageSubmissionArgument_sequence[] = { - { &hf_p7_envelope , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope }, - { &hf_p7_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content }, + { &hf_p7_envelope , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionEnvelope }, + { &hf_p7_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content }, { &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions }, { NULL, 0, 0, 0, NULL } }; @@ -2760,7 +2760,7 @@ dissect_p7_MSMessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = { - { &hf_p7_extensions_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionField }, + { &hf_p7_extensions_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionField }, }; static int @@ -2773,9 +2773,9 @@ dissect_p7_SET_OF_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static const ber_sequence_t T_mts_result_set[] = { - { &hf_p7_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionIdentifier }, - { &hf_p7_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MessageSubmissionTime }, - { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, + { &hf_p7_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionIdentifier }, + { &hf_p7_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MessageSubmissionTime }, + { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, { &hf_p7_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField }, { &hf_p7_ms_message_result, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_CommonSubmissionResults }, { NULL, 0, 0, 0, NULL } @@ -2813,7 +2813,7 @@ dissect_p7_MSMessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = { - { &hf_p7_per_recipient_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeSubmissionFields }, + { &hf_p7_per_recipient_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientProbeSubmissionFields }, }; static int @@ -2826,12 +2826,12 @@ dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _ static const ber_sequence_t MSProbeSubmissionArgument_set[] = { - { &hf_p7_originator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_OriginatorName }, - { &hf_p7_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_p7_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_ContentType }, - { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_p7_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x411_ContentLength }, - { &hf_p7_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators }, + { &hf_p7_originator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorName }, + { &hf_p7_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes }, + { &hf_p7_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_ContentType }, + { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, + { &hf_p7_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p1_ContentLength }, + { &hf_p7_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators }, { &hf_p7_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField }, { &hf_p7_per_recipient_fields, BER_CLASS_CON, 3, 0, dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields }, { &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions }, @@ -2848,9 +2848,9 @@ dissect_p7_MSProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U static const ber_sequence_t MSProbeSubmissionResult_set[] = { - { &hf_p7_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionIdentifier }, - { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, 0, dissect_x411_ProbeSubmissionTime }, - { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, + { &hf_p7_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ProbeSubmissionIdentifier }, + { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, 0, dissect_p1_ProbeSubmissionTime }, + { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier }, { &hf_p7_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField }, { &hf_p7_ms_probe_result , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_CommonSubmissionResults }, { NULL, 0, 0, 0, NULL } @@ -3549,10 +3549,10 @@ static const value_string p7_SubmissionError_vals[] = { static const ber_choice_t SubmissionError_choice[] = { { 1, &hf_p7_submission_control_violated, BER_CLASS_CON, 1, 0, dissect_p7_NULL }, { 2, &hf_p7_originator_invalid, BER_CLASS_CON, 2, 0, dissect_p7_NULL }, - { 3, &hf_p7_recipient_improperly_specified, BER_CLASS_CON, 3, 0, dissect_x411_ImproperlySpecifiedRecipients }, + { 3, &hf_p7_recipient_improperly_specified, BER_CLASS_CON, 3, 0, dissect_p1_ImproperlySpecifiedRecipients }, { 4, &hf_p7_element_of_service_not_subscribed, BER_CLASS_CON, 4, 0, dissect_p7_NULL }, { 11, &hf_p7_inconsistent_request, BER_CLASS_CON, 11, 0, dissect_p7_NULL }, - { 12, &hf_p7_security_error , BER_CLASS_CON, 12, 0, dissect_x411_SecurityProblem }, + { 12, &hf_p7_security_error , BER_CLASS_CON, 12, 0, dissect_p1_SecurityProblem }, { 13, &hf_p7_unsupported_critical_function, BER_CLASS_CON, 13, 0, dissect_p7_NULL }, { 15, &hf_p7_remote_bind_error, BER_CLASS_CON, 15, 0, dissect_p7_NULL }, { 27, &hf_p7_service_error , BER_CLASS_CON, 27, 0, dissect_p7_ServiceErrorParameter }, @@ -4437,7 +4437,7 @@ void proto_register_p7(void) { NULL, HFILL }}, { &hf_p7_initiator_credentials, { "initiator-credentials", "p7.initiator_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, "InitiatorCredentials", HFILL }}, { &hf_p7_security_context, { "security-context", "p7.security_context", @@ -4481,7 +4481,7 @@ void proto_register_p7(void) { NULL, HFILL }}, { &hf_p7_responder_credentials, { "responder-credentials", "p7.responder_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, "ResponderCredentials", HFILL }}, { &hf_p7_available_auto_actions, { "available-auto-actions", "p7.available_auto_actions", @@ -4985,11 +4985,11 @@ void proto_register_p7(void) { NULL, HFILL }}, { &hf_p7_register_old_credentials, { "old-credentials", "p7.old_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, "Credentials", HFILL }}, { &hf_p7_new_credentials, { "new-credentials", "p7.new_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, "Credentials", HFILL }}, { &hf_p7_user_security_labels, { "user-security-labels", "p7.user_security_labels", @@ -5105,7 +5105,7 @@ void proto_register_p7(void) { "OBJECT_IDENTIFIER", HFILL }}, { &hf_p7_old_credentials, { "old-credentials", "p7.old_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0, "InitiatorCredentials", HFILL }}, { &hf_p7_password_delta, { "password-delta", "p7.password_delta", @@ -5285,7 +5285,7 @@ void proto_register_p7(void) { "OriginalEncodedInformationTypes", HFILL }}, { &hf_p7_content_type, { "content-type", "p7.content_type", - FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0, "ContentType", HFILL }}, { &hf_p7_content_length, { "content-length", "p7.content_length", @@ -5493,7 +5493,7 @@ void proto_register_p7(void) { NULL, HFILL }}, { &hf_p7_security_error, { "security-error", "p7.security_error", - FT_UINT32, BASE_DEC, VALS(x411_SecurityProblem_vals), 0, + FT_UINT32, BASE_DEC, VALS(p1_SecurityProblem_vals), 0, "SecurityProblem", HFILL }}, { &hf_p7_unsupported_critical_function, { "unsupported-critical-function", "p7.unsupported_critical_function", diff --git a/epan/dissectors/packet-s4406.c b/epan/dissectors/packet-p772.c index 2cea58b896..121154b097 100644 --- a/epan/dissectors/packet-s4406.c +++ b/epan/dissectors/packet-p772.c @@ -1,12 +1,12 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* packet-s4406.c */ -/* ../../tools/asn2wrs.py -b -e -C -p s4406 -c ./s4406.cnf -s ./packet-s4406-template -D . MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */ +/* packet-p772.c */ +/* ../../tools/asn2wrs.py -b -e -C -p p772 -c ./p772.cnf -s ./packet-p772-template -D . MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */ -/* Input file: packet-s4406-template.c */ +/* Input file: packet-p772-template.c */ -#line 1 "packet-s4406-template.c" -/* packet-s4406.c +#line 1 "packet-p772-template.c" +/* packet-p772.c * Routines for STANAG 4406 (X.400 Military Message Extensions) packet dissection * Graeme Lunt 2005 * @@ -43,20 +43,20 @@ #include "packet-x509if.h" -#include "packet-s4406.h" -#include "packet-x411.h" -#include "packet-x420.h" +#include "packet-p772.h" +#include "packet-p1.h" +#include "packet-p22.h" #define PNAME "STANAG 4406 Message" -#define PSNAME "STANAG 4406" -#define PFNAME "s4406" +#define PSNAME "P772" +#define PFNAME "p772" /* Initialize the protocol and registered fields */ -static int proto_s4406 = -1; +static int proto_p772 = -1; -/*--- Included file: packet-s4406-val.h ---*/ -#line 1 "packet-s4406-val.h" +/*--- Included file: packet-p772-val.h ---*/ +#line 1 "packet-p772-val.h" #define id_mmhs "1.3.26.0.4406.0" #define id_mod id_mmhs".0" #define id_mm id_mmhs".2" @@ -163,151 +163,151 @@ static int proto_s4406 = -1; #define ub_military_bigstring 128 #define ub_data_size 65535 -/*--- End of included file: packet-s4406-val.h ---*/ -#line 50 "packet-s4406-template.c" - - -/*--- Included file: packet-s4406-hf.c ---*/ -#line 1 "packet-s4406-hf.c" -static int hf_s4406_InformationObject_PDU = -1; /* InformationObject */ -static int hf_s4406_Acp127NotificationResponse_PDU = -1; /* Acp127NotificationResponse */ -static int hf_s4406_ExemptedAddressSeq_PDU = -1; /* ExemptedAddressSeq */ -static int hf_s4406_ExtendedAuthorisationInfo_PDU = -1; /* ExtendedAuthorisationInfo */ -static int hf_s4406_DistributionCodes_PDU = -1; /* DistributionCodes */ -static int hf_s4406_HandlingInstructions_PDU = -1; /* HandlingInstructions */ -static int hf_s4406_MessageInstructions_PDU = -1; /* MessageInstructions */ -static int hf_s4406_CodressMessage_PDU = -1; /* CodressMessage */ -static int hf_s4406_OriginatorReference_PDU = -1; /* OriginatorReference */ -static int hf_s4406_PrimaryPrecedence_PDU = -1; /* PrimaryPrecedence */ -static int hf_s4406_CopyPrecedence_PDU = -1; /* CopyPrecedence */ -static int hf_s4406_MessageType_PDU = -1; /* MessageType */ -static int hf_s4406_AddressListDesignatorSeq_PDU = -1; /* AddressListDesignatorSeq */ -static int hf_s4406_OtherRecipientDesignatorSeq_PDU = -1; /* OtherRecipientDesignatorSeq */ -static int hf_s4406_PilotInformationSeq_PDU = -1; /* PilotInformationSeq */ -static int hf_s4406_Acp127MessageIdentifier_PDU = -1; /* Acp127MessageIdentifier */ -static int hf_s4406_OriginatorPlad_PDU = -1; /* OriginatorPlad */ -static int hf_s4406_SecurityInformationLabels_PDU = -1; /* SecurityInformationLabels */ -static int hf_s4406_PriorityLevelQualifier_PDU = -1; /* PriorityLevelQualifier */ -static int hf_s4406_ADatP3Parameters_PDU = -1; /* ADatP3Parameters */ -static int hf_s4406_ADatP3Data_PDU = -1; /* ADatP3Data */ -static int hf_s4406_CorrectionsParameters_PDU = -1; /* CorrectionsParameters */ -static int hf_s4406_CorrectionsData_PDU = -1; /* CorrectionsData */ -static int hf_s4406_ForwardedEncryptedParameters_PDU = -1; /* ForwardedEncryptedParameters */ -static int hf_s4406_ForwardedEncryptedData_PDU = -1; /* ForwardedEncryptedData */ -static int hf_s4406_MMMessageParameters_PDU = -1; /* MMMessageParameters */ -static int hf_s4406_MMMessageData_PDU = -1; /* MMMessageData */ -static int hf_s4406_ACP127DataParameters_PDU = -1; /* ACP127DataParameters */ -static int hf_s4406_ACP127DataData_PDU = -1; /* ACP127DataData */ -static int hf_s4406_Acp127NotificationType_PDU = -1; /* Acp127NotificationType */ -static int hf_s4406_mm = -1; /* IPM */ -static int hf_s4406_mn = -1; /* IPN */ -static int hf_s4406_acp127_notification_type = -1; /* Acp127NotificationType */ -static int hf_s4406_receipt_time = -1; /* ReceiptTimeField */ -static int hf_s4406_addressListIndicator = -1; /* AddressListIndicator */ -static int hf_s4406_acp127_recipient = -1; /* Acp127Recipient */ -static int hf_s4406_acp127_supp_info = -1; /* Acp127SuppInfo */ -static int hf_s4406_AddressListIndicator_item = -1; /* AddressListDesignator */ -static int hf_s4406_ExemptedAddressSeq_item = -1; /* ExemptedAddress */ -static int hf_s4406_sics = -1; /* SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic */ -static int hf_s4406_sics_item = -1; /* Sic */ -static int hf_s4406_dist_Extensions = -1; /* SEQUENCE_OF_DistributionExtensionField */ -static int hf_s4406_dist_Extensions_item = -1; /* DistributionExtensionField */ -static int hf_s4406_dist_type = -1; /* OBJECT_IDENTIFIER */ -static int hf_s4406_dist_value = -1; /* T_dist_value */ -static int hf_s4406_HandlingInstructions_item = -1; /* MilitaryString */ -static int hf_s4406_MessageInstructions_item = -1; /* MilitaryString */ -static int hf_s4406_message_type_type = -1; /* TypeMessage */ -static int hf_s4406_identifier = -1; /* MessageIdentifier */ -static int hf_s4406_AddressListDesignatorSeq_item = -1; /* AddressListDesignator */ -static int hf_s4406_address_list_type = -1; /* AddressListType */ -static int hf_s4406_listName = -1; /* ORDescriptor */ -static int hf_s4406_notificationRequest = -1; /* AddressListRequest */ -static int hf_s4406_replyRequest = -1; /* AddressListRequest */ -static int hf_s4406_OtherRecipientDesignatorSeq_item = -1; /* OtherRecipientDesignator */ -static int hf_s4406_other_recipient_type = -1; /* OtherRecipientType */ -static int hf_s4406_designator = -1; /* MilitaryString */ -static int hf_s4406_PilotInformationSeq_item = -1; /* PilotInformation */ -static int hf_s4406_pilotPrecedence = -1; /* MMHSPrecedence */ -static int hf_s4406_pilotRecipient = -1; /* SEQUENCE_OF_ORDescriptor */ -static int hf_s4406_pilotRecipient_item = -1; /* ORDescriptor */ -static int hf_s4406_pilotSecurity = -1; /* SecurityLabel */ -static int hf_s4406_pilotHandling = -1; /* SEQUENCE_OF_MilitaryString */ -static int hf_s4406_pilotHandling_item = -1; /* MilitaryString */ -static int hf_s4406_content_security_label = -1; /* SecurityLabel */ -static int hf_s4406_heading_security_label = -1; /* SecurityLabel */ -static int hf_s4406_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */ -static int hf_s4406_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */ -static int hf_s4406_body_part_security_label = -1; /* SecurityLabel */ -static int hf_s4406_body_part_sequence_number = -1; /* BodyPartSequenceNumber */ -static int hf_s4406_lineOriented = -1; /* IA5String */ -static int hf_s4406_setOriented = -1; /* T_setOriented */ -static int hf_s4406_setOriented_item = -1; /* IA5String */ -static int hf_s4406_delivery_time = -1; /* MessageDeliveryTime */ -static int hf_s4406_delivery_envelope = -1; /* OtherMessageDeliveryFields */ +/*--- End of included file: packet-p772-val.h ---*/ +#line 50 "packet-p772-template.c" + + +/*--- Included file: packet-p772-hf.c ---*/ +#line 1 "packet-p772-hf.c" +static int hf_p772_InformationObject_PDU = -1; /* InformationObject */ +static int hf_p772_Acp127NotificationResponse_PDU = -1; /* Acp127NotificationResponse */ +static int hf_p772_ExemptedAddressSeq_PDU = -1; /* ExemptedAddressSeq */ +static int hf_p772_ExtendedAuthorisationInfo_PDU = -1; /* ExtendedAuthorisationInfo */ +static int hf_p772_DistributionCodes_PDU = -1; /* DistributionCodes */ +static int hf_p772_HandlingInstructions_PDU = -1; /* HandlingInstructions */ +static int hf_p772_MessageInstructions_PDU = -1; /* MessageInstructions */ +static int hf_p772_CodressMessage_PDU = -1; /* CodressMessage */ +static int hf_p772_OriginatorReference_PDU = -1; /* OriginatorReference */ +static int hf_p772_PrimaryPrecedence_PDU = -1; /* PrimaryPrecedence */ +static int hf_p772_CopyPrecedence_PDU = -1; /* CopyPrecedence */ +static int hf_p772_MessageType_PDU = -1; /* MessageType */ +static int hf_p772_AddressListDesignatorSeq_PDU = -1; /* AddressListDesignatorSeq */ +static int hf_p772_OtherRecipientDesignatorSeq_PDU = -1; /* OtherRecipientDesignatorSeq */ +static int hf_p772_PilotInformationSeq_PDU = -1; /* PilotInformationSeq */ +static int hf_p772_Acp127MessageIdentifier_PDU = -1; /* Acp127MessageIdentifier */ +static int hf_p772_OriginatorPlad_PDU = -1; /* OriginatorPlad */ +static int hf_p772_SecurityInformationLabels_PDU = -1; /* SecurityInformationLabels */ +static int hf_p772_PriorityLevelQualifier_PDU = -1; /* PriorityLevelQualifier */ +static int hf_p772_ADatP3Parameters_PDU = -1; /* ADatP3Parameters */ +static int hf_p772_ADatP3Data_PDU = -1; /* ADatP3Data */ +static int hf_p772_CorrectionsParameters_PDU = -1; /* CorrectionsParameters */ +static int hf_p772_CorrectionsData_PDU = -1; /* CorrectionsData */ +static int hf_p772_ForwardedEncryptedParameters_PDU = -1; /* ForwardedEncryptedParameters */ +static int hf_p772_ForwardedEncryptedData_PDU = -1; /* ForwardedEncryptedData */ +static int hf_p772_MMMessageParameters_PDU = -1; /* MMMessageParameters */ +static int hf_p772_MMMessageData_PDU = -1; /* MMMessageData */ +static int hf_p772_ACP127DataParameters_PDU = -1; /* ACP127DataParameters */ +static int hf_p772_ACP127DataData_PDU = -1; /* ACP127DataData */ +static int hf_p772_Acp127NotificationType_PDU = -1; /* Acp127NotificationType */ +static int hf_p772_mm = -1; /* IPM */ +static int hf_p772_mn = -1; /* IPN */ +static int hf_p772_acp127_notification_type = -1; /* Acp127NotificationType */ +static int hf_p772_receipt_time = -1; /* ReceiptTimeField */ +static int hf_p772_addressListIndicator = -1; /* AddressListIndicator */ +static int hf_p772_acp127_recipient = -1; /* Acp127Recipient */ +static int hf_p772_acp127_supp_info = -1; /* Acp127SuppInfo */ +static int hf_p772_AddressListIndicator_item = -1; /* AddressListDesignator */ +static int hf_p772_ExemptedAddressSeq_item = -1; /* ExemptedAddress */ +static int hf_p772_sics = -1; /* SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic */ +static int hf_p772_sics_item = -1; /* Sic */ +static int hf_p772_dist_Extensions = -1; /* SEQUENCE_OF_DistributionExtensionField */ +static int hf_p772_dist_Extensions_item = -1; /* DistributionExtensionField */ +static int hf_p772_dist_type = -1; /* OBJECT_IDENTIFIER */ +static int hf_p772_dist_value = -1; /* T_dist_value */ +static int hf_p772_HandlingInstructions_item = -1; /* MilitaryString */ +static int hf_p772_MessageInstructions_item = -1; /* MilitaryString */ +static int hf_p772_message_type_type = -1; /* TypeMessage */ +static int hf_p772_identifier = -1; /* MessageIdentifier */ +static int hf_p772_AddressListDesignatorSeq_item = -1; /* AddressListDesignator */ +static int hf_p772_address_list_type = -1; /* AddressListType */ +static int hf_p772_listName = -1; /* ORDescriptor */ +static int hf_p772_notificationRequest = -1; /* AddressListRequest */ +static int hf_p772_replyRequest = -1; /* AddressListRequest */ +static int hf_p772_OtherRecipientDesignatorSeq_item = -1; /* OtherRecipientDesignator */ +static int hf_p772_other_recipient_type = -1; /* OtherRecipientType */ +static int hf_p772_designator = -1; /* MilitaryString */ +static int hf_p772_PilotInformationSeq_item = -1; /* PilotInformation */ +static int hf_p772_pilotPrecedence = -1; /* MMHSPrecedence */ +static int hf_p772_pilotRecipient = -1; /* SEQUENCE_OF_ORDescriptor */ +static int hf_p772_pilotRecipient_item = -1; /* ORDescriptor */ +static int hf_p772_pilotSecurity = -1; /* SecurityLabel */ +static int hf_p772_pilotHandling = -1; /* SEQUENCE_OF_MilitaryString */ +static int hf_p772_pilotHandling_item = -1; /* MilitaryString */ +static int hf_p772_content_security_label = -1; /* SecurityLabel */ +static int hf_p772_heading_security_label = -1; /* SecurityLabel */ +static int hf_p772_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */ +static int hf_p772_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */ +static int hf_p772_body_part_security_label = -1; /* SecurityLabel */ +static int hf_p772_body_part_sequence_number = -1; /* BodyPartSequenceNumber */ +static int hf_p772_lineOriented = -1; /* IA5String */ +static int hf_p772_setOriented = -1; /* T_setOriented */ +static int hf_p772_setOriented_item = -1; /* IA5String */ +static int hf_p772_delivery_time = -1; /* MessageDeliveryTime */ +static int hf_p772_delivery_envelope = -1; /* OtherMessageDeliveryFields */ /* named bits */ -static int hf_s4406_Acp127NotificationType_acp127_nn = -1; -static int hf_s4406_Acp127NotificationType_acp127_pn = -1; -static int hf_s4406_Acp127NotificationType_acp127_tn = -1; +static int hf_p772_Acp127NotificationType_acp127_nn = -1; +static int hf_p772_Acp127NotificationType_acp127_pn = -1; +static int hf_p772_Acp127NotificationType_acp127_tn = -1; -/*--- End of included file: packet-s4406-hf.c ---*/ -#line 52 "packet-s4406-template.c" +/*--- End of included file: packet-p772-hf.c ---*/ +#line 52 "packet-p772-template.c" /* Initialize the subtree pointers */ -static gint ett_s4406 = -1; - -/*--- Included file: packet-s4406-ett.c ---*/ -#line 1 "packet-s4406-ett.c" -static gint ett_s4406_InformationObject = -1; -static gint ett_s4406_Acp127NotificationResponse = -1; -static gint ett_s4406_AddressListIndicator = -1; -static gint ett_s4406_ExemptedAddressSeq = -1; -static gint ett_s4406_DistributionCodes = -1; -static gint ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic = -1; -static gint ett_s4406_SEQUENCE_OF_DistributionExtensionField = -1; -static gint ett_s4406_DistributionExtensionField = -1; -static gint ett_s4406_HandlingInstructions = -1; -static gint ett_s4406_MessageInstructions = -1; -static gint ett_s4406_MessageType = -1; -static gint ett_s4406_AddressListDesignatorSeq = -1; -static gint ett_s4406_AddressListDesignator = -1; -static gint ett_s4406_OtherRecipientDesignatorSeq = -1; -static gint ett_s4406_OtherRecipientDesignator = -1; -static gint ett_s4406_PilotInformationSeq = -1; -static gint ett_s4406_PilotInformation = -1; -static gint ett_s4406_SEQUENCE_OF_ORDescriptor = -1; -static gint ett_s4406_SEQUENCE_OF_MilitaryString = -1; -static gint ett_s4406_SecurityInformationLabels = -1; -static gint ett_s4406_SEQUENCE_OF_BodyPartSecurityLabel = -1; -static gint ett_s4406_BodyPartSecurityLabel = -1; -static gint ett_s4406_ADatP3Data = -1; -static gint ett_s4406_T_setOriented = -1; -static gint ett_s4406_ForwardedEncryptedParameters = -1; -static gint ett_s4406_MMMessageParameters = -1; -static gint ett_s4406_Acp127NotificationType = -1; - -/*--- End of included file: packet-s4406-ett.c ---*/ -#line 56 "packet-s4406-template.c" - - -/*--- Included file: packet-s4406-fn.c ---*/ -#line 1 "packet-s4406-fn.c" - -static const value_string s4406_InformationObject_vals[] = { +static gint ett_p772 = -1; + +/*--- Included file: packet-p772-ett.c ---*/ +#line 1 "packet-p772-ett.c" +static gint ett_p772_InformationObject = -1; +static gint ett_p772_Acp127NotificationResponse = -1; +static gint ett_p772_AddressListIndicator = -1; +static gint ett_p772_ExemptedAddressSeq = -1; +static gint ett_p772_DistributionCodes = -1; +static gint ett_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic = -1; +static gint ett_p772_SEQUENCE_OF_DistributionExtensionField = -1; +static gint ett_p772_DistributionExtensionField = -1; +static gint ett_p772_HandlingInstructions = -1; +static gint ett_p772_MessageInstructions = -1; +static gint ett_p772_MessageType = -1; +static gint ett_p772_AddressListDesignatorSeq = -1; +static gint ett_p772_AddressListDesignator = -1; +static gint ett_p772_OtherRecipientDesignatorSeq = -1; +static gint ett_p772_OtherRecipientDesignator = -1; +static gint ett_p772_PilotInformationSeq = -1; +static gint ett_p772_PilotInformation = -1; +static gint ett_p772_SEQUENCE_OF_ORDescriptor = -1; +static gint ett_p772_SEQUENCE_OF_MilitaryString = -1; +static gint ett_p772_SecurityInformationLabels = -1; +static gint ett_p772_SEQUENCE_OF_BodyPartSecurityLabel = -1; +static gint ett_p772_BodyPartSecurityLabel = -1; +static gint ett_p772_ADatP3Data = -1; +static gint ett_p772_T_setOriented = -1; +static gint ett_p772_ForwardedEncryptedParameters = -1; +static gint ett_p772_MMMessageParameters = -1; +static gint ett_p772_Acp127NotificationType = -1; + +/*--- End of included file: packet-p772-ett.c ---*/ +#line 56 "packet-p772-template.c" + + +/*--- Included file: packet-p772-fn.c ---*/ +#line 1 "packet-p772-fn.c" + +static const value_string p772_InformationObject_vals[] = { { 0, "mm" }, { 1, "mn" }, { 0, NULL } }; static const ber_choice_t InformationObject_choice[] = { - { 0, &hf_s4406_mm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IPM }, - { 1, &hf_s4406_mn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPN }, + { 0, &hf_p772_mm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_IPM }, + { 1, &hf_p772_mn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_IPN }, { 0, NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_InformationObject(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, - InformationObject_choice, hf_index, ett_s4406_InformationObject, + InformationObject_choice, hf_index, ett_p772_InformationObject, NULL); return offset; @@ -315,23 +315,23 @@ dissect_s4406_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static const asn_namedbit Acp127NotificationType_bits[] = { - { 0, &hf_s4406_Acp127NotificationType_acp127_nn, -1, -1, "acp127-nn", NULL }, - { 1, &hf_s4406_Acp127NotificationType_acp127_pn, -1, -1, "acp127-pn", NULL }, - { 2, &hf_s4406_Acp127NotificationType_acp127_tn, -1, -1, "acp127-tn", NULL }, + { 0, &hf_p772_Acp127NotificationType_acp127_nn, -1, -1, "acp127-nn", NULL }, + { 1, &hf_p772_Acp127NotificationType_acp127_pn, -1, -1, "acp127-pn", NULL }, + { 2, &hf_p772_Acp127NotificationType_acp127_tn, -1, -1, "acp127-tn", NULL }, { 0, NULL, 0, 0, NULL, NULL } }; static int -dissect_s4406_Acp127NotificationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_Acp127NotificationType(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, tree, tvb, offset, - Acp127NotificationType_bits, hf_index, ett_s4406_Acp127NotificationType, + Acp127NotificationType_bits, hf_index, ett_p772_Acp127NotificationType, NULL); return offset; } -static const value_string s4406_AddressListType_vals[] = { +static const value_string p772_AddressListType_vals[] = { { 0, "primaryAddressList" }, { 1, "copyAddressList" }, { 0, NULL } @@ -339,7 +339,7 @@ static const value_string s4406_AddressListType_vals[] = { static int -dissect_s4406_AddressListType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_AddressListType(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, tree, tvb, offset, hf_index, NULL); @@ -347,7 +347,7 @@ dissect_s4406_AddressListType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int } -static const value_string s4406_AddressListRequest_vals[] = { +static const value_string p772_AddressListRequest_vals[] = { { 0, "action" }, { 1, "info" }, { 2, "both" }, @@ -356,7 +356,7 @@ static const value_string s4406_AddressListRequest_vals[] = { static int -dissect_s4406_AddressListRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_AddressListRequest(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, tree, tvb, offset, hf_index, NULL); @@ -365,30 +365,30 @@ dissect_s4406_AddressListRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static const ber_sequence_t AddressListDesignator_set[] = { - { &hf_s4406_address_list_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_AddressListType }, - { &hf_s4406_listName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor }, - { &hf_s4406_notificationRequest, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListRequest }, - { &hf_s4406_replyRequest , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListRequest }, + { &hf_p772_address_list_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_AddressListType }, + { &hf_p772_listName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor }, + { &hf_p772_notificationRequest, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_AddressListRequest }, + { &hf_p772_replyRequest , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_AddressListRequest }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_AddressListDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_AddressListDesignator(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, - AddressListDesignator_set, hf_index, ett_s4406_AddressListDesignator); + AddressListDesignator_set, hf_index, ett_p772_AddressListDesignator); return offset; } static const ber_sequence_t AddressListIndicator_sequence_of[1] = { - { &hf_s4406_AddressListIndicator_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_AddressListDesignator }, + { &hf_p772_AddressListIndicator_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_AddressListDesignator }, }; static int -dissect_s4406_AddressListIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_AddressListIndicator(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, - AddressListIndicator_sequence_of, hf_index, ett_s4406_AddressListIndicator); + AddressListIndicator_sequence_of, hf_index, ett_p772_AddressListIndicator); return offset; } @@ -396,7 +396,7 @@ dissect_s4406_AddressListIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int -dissect_s4406_Acp127Recipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_Acp127Recipient(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, actx, tree, tvb, offset, 1, ub_military_bigstring, hf_index, NULL); @@ -407,7 +407,7 @@ dissect_s4406_Acp127Recipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int -dissect_s4406_Acp127SuppInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_Acp127SuppInfo(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, actx, tree, tvb, offset, 1, ub_military_bigstring, hf_index, NULL); @@ -417,18 +417,18 @@ dissect_s4406_Acp127SuppInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static const ber_sequence_t Acp127NotificationResponse_set[] = { - { &hf_s4406_acp127_notification_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_Acp127NotificationType }, - { &hf_s4406_receipt_time , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptTimeField }, - { &hf_s4406_addressListIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_AddressListIndicator }, - { &hf_s4406_acp127_recipient, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_Acp127Recipient }, - { &hf_s4406_acp127_supp_info, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_Acp127SuppInfo }, + { &hf_p772_acp127_notification_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_Acp127NotificationType }, + { &hf_p772_receipt_time , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_ReceiptTimeField }, + { &hf_p772_addressListIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_AddressListIndicator }, + { &hf_p772_acp127_recipient, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_Acp127Recipient }, + { &hf_p772_acp127_supp_info, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_Acp127SuppInfo }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_Acp127NotificationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_Acp127NotificationResponse(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, - Acp127NotificationResponse_set, hf_index, ett_s4406_Acp127NotificationResponse); + Acp127NotificationResponse_set, hf_index, ett_p772_Acp127NotificationResponse); return offset; } @@ -436,21 +436,21 @@ dissect_s4406_Acp127NotificationResponse(gboolean implicit_tag _U_, tvbuff_t *tv static int -dissect_s4406_ExemptedAddress(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_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); +dissect_p772_ExemptedAddress(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_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t ExemptedAddressSeq_sequence_of[1] = { - { &hf_s4406_ExemptedAddressSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_ExemptedAddress }, + { &hf_p772_ExemptedAddressSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_ExemptedAddress }, }; static int -dissect_s4406_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ExemptedAddressSeq(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, - ExemptedAddressSeq_sequence_of, hf_index, ett_s4406_ExemptedAddressSeq); + ExemptedAddressSeq_sequence_of, hf_index, ett_p772_ExemptedAddressSeq); return offset; } @@ -458,7 +458,7 @@ dissect_s4406_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static int -dissect_s4406_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ExtendedAuthorisationInfo(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_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; @@ -467,7 +467,7 @@ dissect_s4406_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb static int -dissect_s4406_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_Sic(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, actx, tree, tvb, offset, lb_military_sic, ub_military_sic, hf_index, NULL); @@ -477,13 +477,13 @@ dissect_s4406_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static const ber_sequence_t SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of[1] = { - { &hf_s4406_sics_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_s4406_Sic }, + { &hf_p772_sics_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_Sic }, }; static int -dissect_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_military_number_of_sics, SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of, hf_index, ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic); + 1, ub_military_number_of_sics, SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of, hf_index, ett_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic); return offset; } @@ -491,7 +491,7 @@ dissect_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(gboolean implici static int -dissect_s4406_OBJECT_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_) { +dissect_p772_OBJECT_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_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); return offset; @@ -500,8 +500,8 @@ dissect_s4406_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int -dissect_s4406_T_dist_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_) { -#line 99 "s4406.cnf" +dissect_p772_T_dist_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_) { +#line 99 "p772.cnf" /* XXX: not implemented */ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); @@ -512,43 +512,43 @@ dissect_s4406_T_dist_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static const ber_sequence_t DistributionExtensionField_sequence[] = { - { &hf_s4406_dist_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_s4406_OBJECT_IDENTIFIER }, - { &hf_s4406_dist_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_s4406_T_dist_value }, + { &hf_p772_dist_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p772_OBJECT_IDENTIFIER }, + { &hf_p772_dist_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p772_T_dist_value }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_DistributionExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_DistributionExtensionField(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, - DistributionExtensionField_sequence, hf_index, ett_s4406_DistributionExtensionField); + DistributionExtensionField_sequence, hf_index, ett_p772_DistributionExtensionField); return offset; } static const ber_sequence_t SEQUENCE_OF_DistributionExtensionField_sequence_of[1] = { - { &hf_s4406_dist_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_s4406_DistributionExtensionField }, + { &hf_p772_dist_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p772_DistributionExtensionField }, }; static int -dissect_s4406_SEQUENCE_OF_DistributionExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_SEQUENCE_OF_DistributionExtensionField(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_DistributionExtensionField_sequence_of, hf_index, ett_s4406_SEQUENCE_OF_DistributionExtensionField); + SEQUENCE_OF_DistributionExtensionField_sequence_of, hf_index, ett_p772_SEQUENCE_OF_DistributionExtensionField); return offset; } static const ber_sequence_t DistributionCodes_set[] = { - { &hf_s4406_sics , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic }, - { &hf_s4406_dist_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_OF_DistributionExtensionField }, + { &hf_p772_sics , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic }, + { &hf_p772_dist_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_DistributionExtensionField }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_DistributionCodes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_DistributionCodes(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, - DistributionCodes_set, hf_index, ett_s4406_DistributionCodes); + DistributionCodes_set, hf_index, ett_p772_DistributionCodes); return offset; } @@ -556,7 +556,7 @@ dissect_s4406_DistributionCodes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int -dissect_s4406_MilitaryString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_MilitaryString(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, actx, tree, tvb, offset, 1, ub_military_string, hf_index, NULL); @@ -566,26 +566,26 @@ dissect_s4406_MilitaryString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static const ber_sequence_t HandlingInstructions_sequence_of[1] = { - { &hf_s4406_HandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_s4406_MilitaryString }, + { &hf_p772_HandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_MilitaryString }, }; static int -dissect_s4406_HandlingInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_HandlingInstructions(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, - HandlingInstructions_sequence_of, hf_index, ett_s4406_HandlingInstructions); + HandlingInstructions_sequence_of, hf_index, ett_p772_HandlingInstructions); return offset; } static const ber_sequence_t MessageInstructions_sequence_of[1] = { - { &hf_s4406_MessageInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_s4406_MilitaryString }, + { &hf_p772_MessageInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_MilitaryString }, }; static int -dissect_s4406_MessageInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_MessageInstructions(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, - MessageInstructions_sequence_of, hf_index, ett_s4406_MessageInstructions); + MessageInstructions_sequence_of, hf_index, ett_p772_MessageInstructions); return offset; } @@ -593,7 +593,7 @@ dissect_s4406_MessageInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int -dissect_s4406_CodressMessage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_CodressMessage(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, tree, tvb, offset, hf_index, NULL); @@ -603,14 +603,14 @@ dissect_s4406_CodressMessage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int -dissect_s4406_OriginatorReference(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_s4406_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); +dissect_p772_OriginatorReference(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_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } -static const value_string s4406_MMHSPrecedence_vals[] = { +static const value_string p772_MMHSPrecedence_vals[] = { { 0, "deferred" }, { 1, "routine" }, { 2, "priority" }, @@ -625,7 +625,7 @@ static const value_string s4406_MMHSPrecedence_vals[] = { static int -dissect_s4406_MMHSPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_MMHSPrecedence(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, tree, tvb, offset, hf_index, NULL); @@ -633,7 +633,7 @@ dissect_s4406_MMHSPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o } -static const value_string s4406_PrimaryPrecedence_vals[] = { +static const value_string p772_PrimaryPrecedence_vals[] = { { 0, "deferred" }, { 1, "routine" }, { 2, "priority" }, @@ -648,14 +648,14 @@ static const value_string s4406_PrimaryPrecedence_vals[] = { static int -dissect_s4406_PrimaryPrecedence(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 105 "s4406.cnf" +dissect_p772_PrimaryPrecedence(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 105 "p772.cnf" int precedence = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &precedence); if((precedence != -1) && check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (primary=%s)", val_to_str(precedence, s4406_PrimaryPrecedence_vals, "precedence(%d)")); + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (primary=%s)", val_to_str(precedence, p772_PrimaryPrecedence_vals, "precedence(%d)")); @@ -663,7 +663,7 @@ dissect_s4406_PrimaryPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in } -static const value_string s4406_CopyPrecedence_vals[] = { +static const value_string p772_CopyPrecedence_vals[] = { { 0, "deferred" }, { 1, "routine" }, { 2, "priority" }, @@ -678,21 +678,21 @@ static const value_string s4406_CopyPrecedence_vals[] = { static int -dissect_s4406_CopyPrecedence(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 113 "s4406.cnf" +dissect_p772_CopyPrecedence(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 113 "p772.cnf" int precedence = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &precedence); if((precedence != -1) && check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (copy=%s)", val_to_str(precedence, s4406_CopyPrecedence_vals, "precedence(%d)")); + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (copy=%s)", val_to_str(precedence, p772_CopyPrecedence_vals, "precedence(%d)")); return offset; } -static const value_string s4406_TypeMessage_vals[] = { +static const value_string p772_TypeMessage_vals[] = { { 0, "exercise" }, { 1, "operation" }, { 2, "project" }, @@ -702,7 +702,7 @@ static const value_string s4406_TypeMessage_vals[] = { static int -dissect_s4406_TypeMessage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_TypeMessage(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, tree, tvb, offset, hf_index, NULL); @@ -712,42 +712,42 @@ dissect_s4406_TypeMessage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int -dissect_s4406_MessageIdentifier(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_s4406_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); +dissect_p772_MessageIdentifier(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_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } static const ber_sequence_t MessageType_set[] = { - { &hf_s4406_message_type_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_TypeMessage }, - { &hf_s4406_identifier , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_MessageIdentifier }, + { &hf_p772_message_type_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_TypeMessage }, + { &hf_p772_identifier , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_MessageIdentifier }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_MessageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_MessageType(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, - MessageType_set, hf_index, ett_s4406_MessageType); + MessageType_set, hf_index, ett_p772_MessageType); return offset; } static const ber_sequence_t AddressListDesignatorSeq_sequence_of[1] = { - { &hf_s4406_AddressListDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_AddressListDesignator }, + { &hf_p772_AddressListDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_AddressListDesignator }, }; static int -dissect_s4406_AddressListDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_AddressListDesignatorSeq(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, - AddressListDesignatorSeq_sequence_of, hf_index, ett_s4406_AddressListDesignatorSeq); + AddressListDesignatorSeq_sequence_of, hf_index, ett_p772_AddressListDesignatorSeq); return offset; } -static const value_string s4406_OtherRecipientType_vals[] = { +static const value_string p772_OtherRecipientType_vals[] = { { 0, "primary" }, { 1, "copy" }, { 0, NULL } @@ -755,7 +755,7 @@ static const value_string s4406_OtherRecipientType_vals[] = { static int -dissect_s4406_OtherRecipientType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_OtherRecipientType(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, tree, tvb, offset, hf_index, NULL); @@ -764,84 +764,84 @@ dissect_s4406_OtherRecipientType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static const ber_sequence_t OtherRecipientDesignator_set[] = { - { &hf_s4406_other_recipient_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_OtherRecipientType }, - { &hf_s4406_designator , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_s4406_MilitaryString }, + { &hf_p772_other_recipient_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_OtherRecipientType }, + { &hf_p772_designator , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p772_MilitaryString }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_OtherRecipientDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_OtherRecipientDesignator(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, - OtherRecipientDesignator_set, hf_index, ett_s4406_OtherRecipientDesignator); + OtherRecipientDesignator_set, hf_index, ett_p772_OtherRecipientDesignator); return offset; } static const ber_sequence_t OtherRecipientDesignatorSeq_sequence_of[1] = { - { &hf_s4406_OtherRecipientDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_OtherRecipientDesignator }, + { &hf_p772_OtherRecipientDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_OtherRecipientDesignator }, }; static int -dissect_s4406_OtherRecipientDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_OtherRecipientDesignatorSeq(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, - OtherRecipientDesignatorSeq_sequence_of, hf_index, ett_s4406_OtherRecipientDesignatorSeq); + OtherRecipientDesignatorSeq_sequence_of, hf_index, ett_p772_OtherRecipientDesignatorSeq); return offset; } static const ber_sequence_t SEQUENCE_OF_ORDescriptor_sequence_of[1] = { - { &hf_s4406_pilotRecipient_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ORDescriptor }, + { &hf_p772_pilotRecipient_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ORDescriptor }, }; static int -dissect_s4406_SEQUENCE_OF_ORDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_SEQUENCE_OF_ORDescriptor(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_ORDescriptor_sequence_of, hf_index, ett_s4406_SEQUENCE_OF_ORDescriptor); + SEQUENCE_OF_ORDescriptor_sequence_of, hf_index, ett_p772_SEQUENCE_OF_ORDescriptor); return offset; } static const ber_sequence_t SEQUENCE_OF_MilitaryString_sequence_of[1] = { - { &hf_s4406_pilotHandling_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_s4406_MilitaryString }, + { &hf_p772_pilotHandling_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_MilitaryString }, }; static int -dissect_s4406_SEQUENCE_OF_MilitaryString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_SEQUENCE_OF_MilitaryString(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_MilitaryString_sequence_of, hf_index, ett_s4406_SEQUENCE_OF_MilitaryString); + SEQUENCE_OF_MilitaryString_sequence_of, hf_index, ett_p772_SEQUENCE_OF_MilitaryString); return offset; } static const ber_sequence_t PilotInformation_sequence[] = { - { &hf_s4406_pilotPrecedence, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_MMHSPrecedence }, - { &hf_s4406_pilotRecipient, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_OF_ORDescriptor }, - { &hf_s4406_pilotSecurity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { &hf_s4406_pilotHandling , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_OF_MilitaryString }, + { &hf_p772_pilotPrecedence, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_MMHSPrecedence }, + { &hf_p772_pilotRecipient , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_ORDescriptor }, + { &hf_p772_pilotSecurity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { &hf_p772_pilotHandling , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_MilitaryString }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_PilotInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_PilotInformation(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, - PilotInformation_sequence, hf_index, ett_s4406_PilotInformation); + PilotInformation_sequence, hf_index, ett_p772_PilotInformation); return offset; } static const ber_sequence_t PilotInformationSeq_sequence_of[1] = { - { &hf_s4406_PilotInformationSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_s4406_PilotInformation }, + { &hf_p772_PilotInformationSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p772_PilotInformation }, }; static int -dissect_s4406_PilotInformationSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_PilotInformationSeq(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, - PilotInformationSeq_sequence_of, hf_index, ett_s4406_PilotInformationSeq); + PilotInformationSeq_sequence_of, hf_index, ett_p772_PilotInformationSeq); return offset; } @@ -849,8 +849,8 @@ dissect_s4406_PilotInformationSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int -dissect_s4406_Acp127MessageIdentifier(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_s4406_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); +dissect_p772_Acp127MessageIdentifier(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_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } @@ -858,8 +858,8 @@ dissect_s4406_Acp127MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _ static int -dissect_s4406_OriginatorPlad(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_s4406_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); +dissect_p772_OriginatorPlad(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_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } @@ -867,7 +867,7 @@ dissect_s4406_OriginatorPlad(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int -dissect_s4406_BodyPartSequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_BodyPartSequenceNumber(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, tree, tvb, offset, hf_index, NULL); @@ -876,50 +876,50 @@ dissect_s4406_BodyPartSequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U static const ber_sequence_t BodyPartSecurityLabel_set[] = { - { &hf_s4406_body_part_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { &hf_s4406_body_part_sequence_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_BodyPartSequenceNumber }, + { &hf_p772_body_part_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { &hf_p772_body_part_sequence_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_BodyPartSequenceNumber }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_BodyPartSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_BodyPartSecurityLabel(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, - BodyPartSecurityLabel_set, hf_index, ett_s4406_BodyPartSecurityLabel); + BodyPartSecurityLabel_set, hf_index, ett_p772_BodyPartSecurityLabel); return offset; } static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = { - { &hf_s4406_body_part_security_labels_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_s4406_BodyPartSecurityLabel }, + { &hf_p772_body_part_security_labels_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_BodyPartSecurityLabel }, }; static int -dissect_s4406_SEQUENCE_OF_BodyPartSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_SEQUENCE_OF_BodyPartSecurityLabel(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_BodyPartSecurityLabel_sequence_of, hf_index, ett_s4406_SEQUENCE_OF_BodyPartSecurityLabel); + SEQUENCE_OF_BodyPartSecurityLabel_sequence_of, hf_index, ett_p772_SEQUENCE_OF_BodyPartSecurityLabel); return offset; } static const ber_sequence_t SecurityInformationLabels_sequence[] = { - { &hf_s4406_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { &hf_s4406_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { &hf_s4406_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_s4406_SEQUENCE_OF_BodyPartSecurityLabel }, + { &hf_p772_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { &hf_p772_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel }, + { &hf_p772_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_BodyPartSecurityLabel }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_SecurityInformationLabels(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_SecurityInformationLabels(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, - SecurityInformationLabels_sequence, hf_index, ett_s4406_SecurityInformationLabels); + SecurityInformationLabels_sequence, hf_index, ett_p772_SecurityInformationLabels); return offset; } -static const value_string s4406_PriorityLevelQualifier_vals[] = { +static const value_string p772_PriorityLevelQualifier_vals[] = { { 0, "low" }, { 1, "high" }, { 0, NULL } @@ -927,7 +927,7 @@ static const value_string s4406_PriorityLevelQualifier_vals[] = { static int -dissect_s4406_PriorityLevelQualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_PriorityLevelQualifier(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, tree, tvb, offset, hf_index, NULL); @@ -937,7 +937,7 @@ dissect_s4406_PriorityLevelQualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U static int -dissect_s4406_ADatP3Parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ADatP3Parameters(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, tree, tvb, offset, hf_index, NULL); @@ -947,7 +947,7 @@ dissect_s4406_ADatP3Parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int -dissect_s4406_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, actx, tree, tvb, offset, hf_index, NULL); @@ -957,34 +957,34 @@ dissect_s4406_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static const ber_sequence_t T_setOriented_sequence_of[1] = { - { &hf_s4406_setOriented_item, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_s4406_IA5String }, + { &hf_p772_setOriented_item, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p772_IA5String }, }; static int -dissect_s4406_T_setOriented(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_T_setOriented(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, - T_setOriented_sequence_of, hf_index, ett_s4406_T_setOriented); + T_setOriented_sequence_of, hf_index, ett_p772_T_setOriented); return offset; } -static const value_string s4406_ADatP3Data_vals[] = { +static const value_string p772_ADatP3Data_vals[] = { { 0, "lineOriented" }, { 1, "setOriented" }, { 0, NULL } }; static const ber_choice_t ADatP3Data_choice[] = { - { 0, &hf_s4406_lineOriented , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_s4406_IA5String }, - { 1, &hf_s4406_setOriented , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_s4406_T_setOriented }, + { 0, &hf_p772_lineOriented , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_IA5String }, + { 1, &hf_p772_setOriented , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p772_T_setOriented }, { 0, NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_ADatP3Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ADatP3Data(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, - ADatP3Data_choice, hf_index, ett_s4406_ADatP3Data, + ADatP3Data_choice, hf_index, ett_p772_ADatP3Data, NULL); return offset; @@ -993,7 +993,7 @@ dissect_s4406_ADatP3Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int -dissect_s4406_CorrectionsParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_CorrectionsParameters(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, tree, tvb, offset, hf_index, NULL); @@ -1003,7 +1003,7 @@ dissect_s4406_CorrectionsParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ static int -dissect_s4406_CorrectionsData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_CorrectionsData(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, actx, tree, tvb, offset, hf_index, NULL); @@ -1013,15 +1013,15 @@ dissect_s4406_CorrectionsData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static const ber_sequence_t ForwardedEncryptedParameters_set[] = { - { &hf_s4406_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime }, - { &hf_s4406_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields }, + { &hf_p772_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p772_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_ForwardedEncryptedParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ForwardedEncryptedParameters(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, - ForwardedEncryptedParameters_set, hf_index, ett_s4406_ForwardedEncryptedParameters); + ForwardedEncryptedParameters_set, hf_index, ett_p772_ForwardedEncryptedParameters); return offset; } @@ -1029,7 +1029,7 @@ dissect_s4406_ForwardedEncryptedParameters(gboolean implicit_tag _U_, tvbuff_t * static int -dissect_s4406_ForwardedEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ForwardedEncryptedData(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, tree, tvb, offset, NULL, hf_index, -1, NULL); @@ -1039,15 +1039,15 @@ dissect_s4406_ForwardedEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U static const ber_sequence_t MMMessageParameters_set[] = { - { &hf_s4406_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime }, - { &hf_s4406_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields }, + { &hf_p772_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime }, + { &hf_p772_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields }, { NULL, 0, 0, 0, NULL } }; static int -dissect_s4406_MMMessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_MMMessageParameters(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, - MMMessageParameters_set, hf_index, ett_s4406_MMMessageParameters); + MMMessageParameters_set, hf_index, ett_p772_MMMessageParameters); return offset; } @@ -1055,8 +1055,8 @@ dissect_s4406_MMMessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int -dissect_s4406_MMMessageData(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_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index); +dissect_p772_MMMessageData(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_p22_IPM(implicit_tag, tvb, offset, actx, tree, hf_index); return offset; } @@ -1064,7 +1064,7 @@ dissect_s4406_MMMessageData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int -dissect_s4406_ACP127DataParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ACP127DataParameters(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, tree, tvb, offset, hf_index, NULL); @@ -1074,7 +1074,7 @@ dissect_s4406_ACP127DataParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int -dissect_s4406_ACP127DataData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_p772_ACP127DataData(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, actx, tree, tvb, offset, 1, ub_data_size, hf_index, NULL); @@ -1087,164 +1087,164 @@ dissect_s4406_ACP127DataData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_InformationObject_PDU); + dissect_p772_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_InformationObject_PDU); } static void dissect_Acp127NotificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_Acp127NotificationResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_Acp127NotificationResponse_PDU); + dissect_p772_Acp127NotificationResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_Acp127NotificationResponse_PDU); } static void dissect_ExemptedAddressSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ExemptedAddressSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ExemptedAddressSeq_PDU); + dissect_p772_ExemptedAddressSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ExemptedAddressSeq_PDU); } static void dissect_ExtendedAuthorisationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ExtendedAuthorisationInfo(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ExtendedAuthorisationInfo_PDU); + dissect_p772_ExtendedAuthorisationInfo(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ExtendedAuthorisationInfo_PDU); } static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_DistributionCodes_PDU); + dissect_p772_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_DistributionCodes_PDU); } static void dissect_HandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_HandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_HandlingInstructions_PDU); + dissect_p772_HandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_HandlingInstructions_PDU); } static void dissect_MessageInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_MessageInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MessageInstructions_PDU); + dissect_p772_MessageInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MessageInstructions_PDU); } static void dissect_CodressMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_CodressMessage(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_CodressMessage_PDU); + dissect_p772_CodressMessage(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CodressMessage_PDU); } static void dissect_OriginatorReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_OriginatorReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_OriginatorReference_PDU); + dissect_p772_OriginatorReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_OriginatorReference_PDU); } static void dissect_PrimaryPrecedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_PrimaryPrecedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_PrimaryPrecedence_PDU); + dissect_p772_PrimaryPrecedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_PrimaryPrecedence_PDU); } static void dissect_CopyPrecedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_CopyPrecedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_CopyPrecedence_PDU); + dissect_p772_CopyPrecedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CopyPrecedence_PDU); } static void dissect_MessageType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_MessageType(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MessageType_PDU); + dissect_p772_MessageType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MessageType_PDU); } static void dissect_AddressListDesignatorSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_AddressListDesignatorSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_AddressListDesignatorSeq_PDU); + dissect_p772_AddressListDesignatorSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_AddressListDesignatorSeq_PDU); } static void dissect_OtherRecipientDesignatorSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_OtherRecipientDesignatorSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_OtherRecipientDesignatorSeq_PDU); + dissect_p772_OtherRecipientDesignatorSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_OtherRecipientDesignatorSeq_PDU); } static void dissect_PilotInformationSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_PilotInformationSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_PilotInformationSeq_PDU); + dissect_p772_PilotInformationSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_PilotInformationSeq_PDU); } static void dissect_Acp127MessageIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_Acp127MessageIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_Acp127MessageIdentifier_PDU); + dissect_p772_Acp127MessageIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_Acp127MessageIdentifier_PDU); } static void dissect_OriginatorPlad_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_OriginatorPlad(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_OriginatorPlad_PDU); + dissect_p772_OriginatorPlad(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_OriginatorPlad_PDU); } static void dissect_SecurityInformationLabels_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_SecurityInformationLabels(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_SecurityInformationLabels_PDU); + dissect_p772_SecurityInformationLabels(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_SecurityInformationLabels_PDU); } static void dissect_PriorityLevelQualifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_PriorityLevelQualifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_PriorityLevelQualifier_PDU); + dissect_p772_PriorityLevelQualifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_PriorityLevelQualifier_PDU); } static void dissect_ADatP3Parameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ADatP3Parameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ADatP3Parameters_PDU); + dissect_p772_ADatP3Parameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ADatP3Parameters_PDU); } static void dissect_ADatP3Data_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ADatP3Data(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ADatP3Data_PDU); + dissect_p772_ADatP3Data(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ADatP3Data_PDU); } static void dissect_CorrectionsParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_CorrectionsParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_CorrectionsParameters_PDU); + dissect_p772_CorrectionsParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CorrectionsParameters_PDU); } static void dissect_CorrectionsData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_CorrectionsData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_CorrectionsData_PDU); + dissect_p772_CorrectionsData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CorrectionsData_PDU); } static void dissect_ForwardedEncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ForwardedEncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ForwardedEncryptedParameters_PDU); + dissect_p772_ForwardedEncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ForwardedEncryptedParameters_PDU); } static void dissect_ForwardedEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ForwardedEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ForwardedEncryptedData_PDU); + dissect_p772_ForwardedEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ForwardedEncryptedData_PDU); } static void dissect_MMMessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_MMMessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MMMessageParameters_PDU); + dissect_p772_MMMessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MMMessageParameters_PDU); } static void dissect_MMMessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_MMMessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_MMMessageData_PDU); + dissect_p772_MMMessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MMMessageData_PDU); } static void dissect_ACP127DataParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ACP127DataParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ACP127DataParameters_PDU); + dissect_p772_ACP127DataParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ACP127DataParameters_PDU); } static void dissect_ACP127DataData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_ACP127DataData(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_ACP127DataData_PDU); + dissect_p772_ACP127DataData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ACP127DataData_PDU); } static void dissect_Acp127NotificationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_s4406_Acp127NotificationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_s4406_Acp127NotificationType_PDU); + dissect_p772_Acp127NotificationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_Acp127NotificationType_PDU); } -/*--- End of included file: packet-s4406-fn.c ---*/ -#line 58 "packet-s4406-template.c" +/*--- End of included file: packet-p772-fn.c ---*/ +#line 58 "packet-p772-template.c" /* * Dissect STANAG 4406 PDUs inside a PPDU. */ static void -dissect_s4406(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +dissect_p772(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) { int offset = 0; proto_item *item=NULL; @@ -1253,433 +1253,433 @@ dissect_s4406(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); if(parent_tree){ - item = proto_tree_add_item(parent_tree, proto_s4406, tvb, 0, -1, FALSE); - tree = proto_item_add_subtree(item, ett_s4406); + item = proto_tree_add_item(parent_tree, proto_p772, tvb, 0, -1, FALSE); + tree = proto_item_add_subtree(item, ett_p772); } - col_set_str(pinfo->cinfo, COL_PROTOCOL, "S4406"); + col_set_str(pinfo->cinfo, COL_PROTOCOL, "P772"); col_set_str(pinfo->cinfo, COL_INFO, "Military"); - dissect_s4406_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1); + dissect_p772_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1); } -/*--- proto_register_s4406 -------------------------------------------*/ -void proto_register_s4406(void) { +/*--- proto_register_p772 -------------------------------------------*/ +void proto_register_p772(void) { /* List of fields */ static hf_register_info hf[] = { -/*--- Included file: packet-s4406-hfarr.c ---*/ -#line 1 "packet-s4406-hfarr.c" - { &hf_s4406_InformationObject_PDU, - { "InformationObject", "s4406.InformationObject", - FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0, +/*--- Included file: packet-p772-hfarr.c ---*/ +#line 1 "packet-p772-hfarr.c" + { &hf_p772_InformationObject_PDU, + { "InformationObject", "p772.InformationObject", + FT_UINT32, BASE_DEC, VALS(p22_InformationObject_vals), 0, NULL, HFILL }}, - { &hf_s4406_Acp127NotificationResponse_PDU, - { "Acp127NotificationResponse", "s4406.Acp127NotificationResponse", + { &hf_p772_Acp127NotificationResponse_PDU, + { "Acp127NotificationResponse", "p772.Acp127NotificationResponse", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ExemptedAddressSeq_PDU, - { "ExemptedAddressSeq", "s4406.ExemptedAddressSeq", + { &hf_p772_ExemptedAddressSeq_PDU, + { "ExemptedAddressSeq", "p772.ExemptedAddressSeq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ExtendedAuthorisationInfo_PDU, - { "ExtendedAuthorisationInfo", "s4406.ExtendedAuthorisationInfo", + { &hf_p772_ExtendedAuthorisationInfo_PDU, + { "ExtendedAuthorisationInfo", "p772.ExtendedAuthorisationInfo", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_DistributionCodes_PDU, - { "DistributionCodes", "s4406.DistributionCodes", + { &hf_p772_DistributionCodes_PDU, + { "DistributionCodes", "p772.DistributionCodes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_HandlingInstructions_PDU, - { "HandlingInstructions", "s4406.HandlingInstructions", + { &hf_p772_HandlingInstructions_PDU, + { "HandlingInstructions", "p772.HandlingInstructions", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_MessageInstructions_PDU, - { "MessageInstructions", "s4406.MessageInstructions", + { &hf_p772_MessageInstructions_PDU, + { "MessageInstructions", "p772.MessageInstructions", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_CodressMessage_PDU, - { "CodressMessage", "s4406.CodressMessage", + { &hf_p772_CodressMessage_PDU, + { "CodressMessage", "p772.CodressMessage", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_OriginatorReference_PDU, - { "OriginatorReference", "s4406.OriginatorReference", + { &hf_p772_OriginatorReference_PDU, + { "OriginatorReference", "p772.OriginatorReference", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_PrimaryPrecedence_PDU, - { "PrimaryPrecedence", "s4406.PrimaryPrecedence", - FT_INT32, BASE_DEC, VALS(s4406_PrimaryPrecedence_vals), 0, + { &hf_p772_PrimaryPrecedence_PDU, + { "PrimaryPrecedence", "p772.PrimaryPrecedence", + FT_INT32, BASE_DEC, VALS(p772_PrimaryPrecedence_vals), 0, NULL, HFILL }}, - { &hf_s4406_CopyPrecedence_PDU, - { "CopyPrecedence", "s4406.CopyPrecedence", - FT_INT32, BASE_DEC, VALS(s4406_CopyPrecedence_vals), 0, + { &hf_p772_CopyPrecedence_PDU, + { "CopyPrecedence", "p772.CopyPrecedence", + FT_INT32, BASE_DEC, VALS(p772_CopyPrecedence_vals), 0, NULL, HFILL }}, - { &hf_s4406_MessageType_PDU, - { "MessageType", "s4406.MessageType", + { &hf_p772_MessageType_PDU, + { "MessageType", "p772.MessageType", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_AddressListDesignatorSeq_PDU, - { "AddressListDesignatorSeq", "s4406.AddressListDesignatorSeq", + { &hf_p772_AddressListDesignatorSeq_PDU, + { "AddressListDesignatorSeq", "p772.AddressListDesignatorSeq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_OtherRecipientDesignatorSeq_PDU, - { "OtherRecipientDesignatorSeq", "s4406.OtherRecipientDesignatorSeq", + { &hf_p772_OtherRecipientDesignatorSeq_PDU, + { "OtherRecipientDesignatorSeq", "p772.OtherRecipientDesignatorSeq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_PilotInformationSeq_PDU, - { "PilotInformationSeq", "s4406.PilotInformationSeq", + { &hf_p772_PilotInformationSeq_PDU, + { "PilotInformationSeq", "p772.PilotInformationSeq", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_Acp127MessageIdentifier_PDU, - { "Acp127MessageIdentifier", "s4406.Acp127MessageIdentifier", + { &hf_p772_Acp127MessageIdentifier_PDU, + { "Acp127MessageIdentifier", "p772.Acp127MessageIdentifier", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_OriginatorPlad_PDU, - { "OriginatorPlad", "s4406.OriginatorPlad", + { &hf_p772_OriginatorPlad_PDU, + { "OriginatorPlad", "p772.OriginatorPlad", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_SecurityInformationLabels_PDU, - { "SecurityInformationLabels", "s4406.SecurityInformationLabels", + { &hf_p772_SecurityInformationLabels_PDU, + { "SecurityInformationLabels", "p772.SecurityInformationLabels", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_PriorityLevelQualifier_PDU, - { "PriorityLevelQualifier", "s4406.PriorityLevelQualifier", - FT_UINT32, BASE_DEC, VALS(s4406_PriorityLevelQualifier_vals), 0, + { &hf_p772_PriorityLevelQualifier_PDU, + { "PriorityLevelQualifier", "p772.PriorityLevelQualifier", + FT_UINT32, BASE_DEC, VALS(p772_PriorityLevelQualifier_vals), 0, NULL, HFILL }}, - { &hf_s4406_ADatP3Parameters_PDU, - { "ADatP3Parameters", "s4406.ADatP3Parameters", + { &hf_p772_ADatP3Parameters_PDU, + { "ADatP3Parameters", "p772.ADatP3Parameters", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ADatP3Data_PDU, - { "ADatP3Data", "s4406.ADatP3Data", - FT_UINT32, BASE_DEC, VALS(s4406_ADatP3Data_vals), 0, + { &hf_p772_ADatP3Data_PDU, + { "ADatP3Data", "p772.ADatP3Data", + FT_UINT32, BASE_DEC, VALS(p772_ADatP3Data_vals), 0, NULL, HFILL }}, - { &hf_s4406_CorrectionsParameters_PDU, - { "CorrectionsParameters", "s4406.CorrectionsParameters", + { &hf_p772_CorrectionsParameters_PDU, + { "CorrectionsParameters", "p772.CorrectionsParameters", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_CorrectionsData_PDU, - { "CorrectionsData", "s4406.CorrectionsData", + { &hf_p772_CorrectionsData_PDU, + { "CorrectionsData", "p772.CorrectionsData", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ForwardedEncryptedParameters_PDU, - { "ForwardedEncryptedParameters", "s4406.ForwardedEncryptedParameters", + { &hf_p772_ForwardedEncryptedParameters_PDU, + { "ForwardedEncryptedParameters", "p772.ForwardedEncryptedParameters", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ForwardedEncryptedData_PDU, - { "ForwardedEncryptedData", "s4406.ForwardedEncryptedData", + { &hf_p772_ForwardedEncryptedData_PDU, + { "ForwardedEncryptedData", "p772.ForwardedEncryptedData", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_MMMessageParameters_PDU, - { "MMMessageParameters", "s4406.MMMessageParameters", + { &hf_p772_MMMessageParameters_PDU, + { "MMMessageParameters", "p772.MMMessageParameters", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_MMMessageData_PDU, - { "MMMessageData", "s4406.MMMessageData", + { &hf_p772_MMMessageData_PDU, + { "MMMessageData", "p772.MMMessageData", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ACP127DataParameters_PDU, - { "ACP127DataParameters", "s4406.ACP127DataParameters", + { &hf_p772_ACP127DataParameters_PDU, + { "ACP127DataParameters", "p772.ACP127DataParameters", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ACP127DataData_PDU, - { "ACP127DataData", "s4406.ACP127DataData", + { &hf_p772_ACP127DataData_PDU, + { "ACP127DataData", "p772.ACP127DataData", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_Acp127NotificationType_PDU, - { "Acp127NotificationType", "s4406.Acp127NotificationType", + { &hf_p772_Acp127NotificationType_PDU, + { "Acp127NotificationType", "p772.Acp127NotificationType", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_mm, - { "mm", "s4406.mm", + { &hf_p772_mm, + { "mm", "p772.mm", FT_NONE, BASE_NONE, NULL, 0, "IPM", HFILL }}, - { &hf_s4406_mn, - { "mn", "s4406.mn", + { &hf_p772_mn, + { "mn", "p772.mn", FT_NONE, BASE_NONE, NULL, 0, "IPN", HFILL }}, - { &hf_s4406_acp127_notification_type, - { "acp127-notification-type", "s4406.acp127_notification_type", + { &hf_p772_acp127_notification_type, + { "acp127-notification-type", "p772.acp127_notification_type", FT_BYTES, BASE_NONE, NULL, 0, "Acp127NotificationType", HFILL }}, - { &hf_s4406_receipt_time, - { "receipt-time", "s4406.receipt_time", + { &hf_p772_receipt_time, + { "receipt-time", "p772.receipt_time", FT_STRING, BASE_NONE, NULL, 0, "ReceiptTimeField", HFILL }}, - { &hf_s4406_addressListIndicator, - { "addressListIndicator", "s4406.addressListIndicator", + { &hf_p772_addressListIndicator, + { "addressListIndicator", "p772.addressListIndicator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_acp127_recipient, - { "acp127-recipient", "s4406.acp127_recipient", + { &hf_p772_acp127_recipient, + { "acp127-recipient", "p772.acp127_recipient", FT_STRING, BASE_NONE, NULL, 0, "Acp127Recipient", HFILL }}, - { &hf_s4406_acp127_supp_info, - { "acp127-supp-info", "s4406.acp127_supp_info", + { &hf_p772_acp127_supp_info, + { "acp127-supp-info", "p772.acp127_supp_info", FT_STRING, BASE_NONE, NULL, 0, "Acp127SuppInfo", HFILL }}, - { &hf_s4406_AddressListIndicator_item, - { "AddressListDesignator", "s4406.AddressListDesignator", + { &hf_p772_AddressListIndicator_item, + { "AddressListDesignator", "p772.AddressListDesignator", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_ExemptedAddressSeq_item, - { "ExemptedAddress", "s4406.ExemptedAddress", + { &hf_p772_ExemptedAddressSeq_item, + { "ExemptedAddress", "p772.ExemptedAddress", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_sics, - { "sics", "s4406.sics", + { &hf_p772_sics, + { "sics", "p772.sics", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic", HFILL }}, - { &hf_s4406_sics_item, - { "Sic", "s4406.Sic", + { &hf_p772_sics_item, + { "Sic", "p772.Sic", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_dist_Extensions, - { "dist-Extensions", "s4406.dist_Extensions", + { &hf_p772_dist_Extensions, + { "dist-Extensions", "p772.dist_Extensions", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_DistributionExtensionField", HFILL }}, - { &hf_s4406_dist_Extensions_item, - { "DistributionExtensionField", "s4406.DistributionExtensionField", + { &hf_p772_dist_Extensions_item, + { "DistributionExtensionField", "p772.DistributionExtensionField", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_dist_type, - { "dist-type", "s4406.dist_type", + { &hf_p772_dist_type, + { "dist-type", "p772.dist_type", FT_OID, BASE_NONE, NULL, 0, "OBJECT_IDENTIFIER", HFILL }}, - { &hf_s4406_dist_value, - { "dist-value", "s4406.dist_value", + { &hf_p772_dist_value, + { "dist-value", "p772.dist_value", FT_NONE, BASE_NONE, NULL, 0, "T_dist_value", HFILL }}, - { &hf_s4406_HandlingInstructions_item, - { "MilitaryString", "s4406.MilitaryString", + { &hf_p772_HandlingInstructions_item, + { "MilitaryString", "p772.MilitaryString", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_MessageInstructions_item, - { "MilitaryString", "s4406.MilitaryString", + { &hf_p772_MessageInstructions_item, + { "MilitaryString", "p772.MilitaryString", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_message_type_type, - { "type", "s4406.type", - FT_INT32, BASE_DEC, VALS(s4406_TypeMessage_vals), 0, + { &hf_p772_message_type_type, + { "type", "p772.type", + FT_INT32, BASE_DEC, VALS(p772_TypeMessage_vals), 0, "TypeMessage", HFILL }}, - { &hf_s4406_identifier, - { "identifier", "s4406.identifier", + { &hf_p772_identifier, + { "identifier", "p772.identifier", FT_STRING, BASE_NONE, NULL, 0, "MessageIdentifier", HFILL }}, - { &hf_s4406_AddressListDesignatorSeq_item, - { "AddressListDesignator", "s4406.AddressListDesignator", + { &hf_p772_AddressListDesignatorSeq_item, + { "AddressListDesignator", "p772.AddressListDesignator", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_address_list_type, - { "type", "s4406.type", - FT_INT32, BASE_DEC, VALS(s4406_AddressListType_vals), 0, + { &hf_p772_address_list_type, + { "type", "p772.type", + FT_INT32, BASE_DEC, VALS(p772_AddressListType_vals), 0, "AddressListType", HFILL }}, - { &hf_s4406_listName, - { "listName", "s4406.listName", + { &hf_p772_listName, + { "listName", "p772.listName", FT_NONE, BASE_NONE, NULL, 0, "ORDescriptor", HFILL }}, - { &hf_s4406_notificationRequest, - { "notificationRequest", "s4406.notificationRequest", - FT_INT32, BASE_DEC, VALS(s4406_AddressListRequest_vals), 0, + { &hf_p772_notificationRequest, + { "notificationRequest", "p772.notificationRequest", + FT_INT32, BASE_DEC, VALS(p772_AddressListRequest_vals), 0, "AddressListRequest", HFILL }}, - { &hf_s4406_replyRequest, - { "replyRequest", "s4406.replyRequest", - FT_INT32, BASE_DEC, VALS(s4406_AddressListRequest_vals), 0, + { &hf_p772_replyRequest, + { "replyRequest", "p772.replyRequest", + FT_INT32, BASE_DEC, VALS(p772_AddressListRequest_vals), 0, "AddressListRequest", HFILL }}, - { &hf_s4406_OtherRecipientDesignatorSeq_item, - { "OtherRecipientDesignator", "s4406.OtherRecipientDesignator", + { &hf_p772_OtherRecipientDesignatorSeq_item, + { "OtherRecipientDesignator", "p772.OtherRecipientDesignator", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_other_recipient_type, - { "type", "s4406.type", - FT_INT32, BASE_DEC, VALS(s4406_OtherRecipientType_vals), 0, + { &hf_p772_other_recipient_type, + { "type", "p772.type", + FT_INT32, BASE_DEC, VALS(p772_OtherRecipientType_vals), 0, "OtherRecipientType", HFILL }}, - { &hf_s4406_designator, - { "designator", "s4406.designator", + { &hf_p772_designator, + { "designator", "p772.designator", FT_STRING, BASE_NONE, NULL, 0, "MilitaryString", HFILL }}, - { &hf_s4406_PilotInformationSeq_item, - { "PilotInformation", "s4406.PilotInformation", + { &hf_p772_PilotInformationSeq_item, + { "PilotInformation", "p772.PilotInformation", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_pilotPrecedence, - { "pilotPrecedence", "s4406.pilotPrecedence", - FT_INT32, BASE_DEC, VALS(s4406_MMHSPrecedence_vals), 0, + { &hf_p772_pilotPrecedence, + { "pilotPrecedence", "p772.pilotPrecedence", + FT_INT32, BASE_DEC, VALS(p772_MMHSPrecedence_vals), 0, "MMHSPrecedence", HFILL }}, - { &hf_s4406_pilotRecipient, - { "pilotRecipient", "s4406.pilotRecipient", + { &hf_p772_pilotRecipient, + { "pilotRecipient", "p772.pilotRecipient", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_ORDescriptor", HFILL }}, - { &hf_s4406_pilotRecipient_item, - { "ORDescriptor", "s4406.ORDescriptor", + { &hf_p772_pilotRecipient_item, + { "ORDescriptor", "p772.ORDescriptor", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_pilotSecurity, - { "pilotSecurity", "s4406.pilotSecurity", + { &hf_p772_pilotSecurity, + { "pilotSecurity", "p772.pilotSecurity", FT_NONE, BASE_NONE, NULL, 0, "SecurityLabel", HFILL }}, - { &hf_s4406_pilotHandling, - { "pilotHandling", "s4406.pilotHandling", + { &hf_p772_pilotHandling, + { "pilotHandling", "p772.pilotHandling", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_MilitaryString", HFILL }}, - { &hf_s4406_pilotHandling_item, - { "MilitaryString", "s4406.MilitaryString", + { &hf_p772_pilotHandling_item, + { "MilitaryString", "p772.MilitaryString", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_content_security_label, - { "content-security-label", "s4406.content_security_label", + { &hf_p772_content_security_label, + { "content-security-label", "p772.content_security_label", FT_NONE, BASE_NONE, NULL, 0, "SecurityLabel", HFILL }}, - { &hf_s4406_heading_security_label, - { "heading-security-label", "s4406.heading_security_label", + { &hf_p772_heading_security_label, + { "heading-security-label", "p772.heading_security_label", FT_NONE, BASE_NONE, NULL, 0, "SecurityLabel", HFILL }}, - { &hf_s4406_body_part_security_labels, - { "body-part-security-labels", "s4406.body_part_security_labels", + { &hf_p772_body_part_security_labels, + { "body-part-security-labels", "p772.body_part_security_labels", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_OF_BodyPartSecurityLabel", HFILL }}, - { &hf_s4406_body_part_security_labels_item, - { "BodyPartSecurityLabel", "s4406.BodyPartSecurityLabel", + { &hf_p772_body_part_security_labels_item, + { "BodyPartSecurityLabel", "p772.BodyPartSecurityLabel", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s4406_body_part_security_label, - { "body-part-security-label", "s4406.body_part_security_label", + { &hf_p772_body_part_security_label, + { "body-part-security-label", "p772.body_part_security_label", FT_NONE, BASE_NONE, NULL, 0, "SecurityLabel", HFILL }}, - { &hf_s4406_body_part_sequence_number, - { "body-part-sequence-number", "s4406.body_part_sequence_number", + { &hf_p772_body_part_sequence_number, + { "body-part-sequence-number", "p772.body_part_sequence_number", FT_INT32, BASE_DEC, NULL, 0, "BodyPartSequenceNumber", HFILL }}, - { &hf_s4406_lineOriented, - { "lineOriented", "s4406.lineOriented", + { &hf_p772_lineOriented, + { "lineOriented", "p772.lineOriented", FT_STRING, BASE_NONE, NULL, 0, "IA5String", HFILL }}, - { &hf_s4406_setOriented, - { "setOriented", "s4406.setOriented", + { &hf_p772_setOriented, + { "setOriented", "p772.setOriented", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_s4406_setOriented_item, - { "setOriented item", "s4406.setOriented_item", + { &hf_p772_setOriented_item, + { "setOriented item", "p772.setOriented_item", FT_STRING, BASE_NONE, NULL, 0, "IA5String", HFILL }}, - { &hf_s4406_delivery_time, - { "delivery-time", "s4406.delivery_time", + { &hf_p772_delivery_time, + { "delivery-time", "p772.delivery_time", FT_STRING, BASE_NONE, NULL, 0, "MessageDeliveryTime", HFILL }}, - { &hf_s4406_delivery_envelope, - { "delivery-envelope", "s4406.delivery_envelope", + { &hf_p772_delivery_envelope, + { "delivery-envelope", "p772.delivery_envelope", FT_NONE, BASE_NONE, NULL, 0, "OtherMessageDeliveryFields", HFILL }}, - { &hf_s4406_Acp127NotificationType_acp127_nn, - { "acp127-nn", "s4406.acp127-nn", + { &hf_p772_Acp127NotificationType_acp127_nn, + { "acp127-nn", "p772.acp127-nn", FT_BOOLEAN, 8, NULL, 0x80, NULL, HFILL }}, - { &hf_s4406_Acp127NotificationType_acp127_pn, - { "acp127-pn", "s4406.acp127-pn", + { &hf_p772_Acp127NotificationType_acp127_pn, + { "acp127-pn", "p772.acp127-pn", FT_BOOLEAN, 8, NULL, 0x40, NULL, HFILL }}, - { &hf_s4406_Acp127NotificationType_acp127_tn, - { "acp127-tn", "s4406.acp127-tn", + { &hf_p772_Acp127NotificationType_acp127_tn, + { "acp127-tn", "p772.acp127-tn", FT_BOOLEAN, 8, NULL, 0x20, NULL, HFILL }}, -/*--- End of included file: packet-s4406-hfarr.c ---*/ -#line 92 "packet-s4406-template.c" +/*--- End of included file: packet-p772-hfarr.c ---*/ +#line 92 "packet-p772-template.c" }; /* List of subtrees */ static gint *ett[] = { - &ett_s4406, - -/*--- Included file: packet-s4406-ettarr.c ---*/ -#line 1 "packet-s4406-ettarr.c" - &ett_s4406_InformationObject, - &ett_s4406_Acp127NotificationResponse, - &ett_s4406_AddressListIndicator, - &ett_s4406_ExemptedAddressSeq, - &ett_s4406_DistributionCodes, - &ett_s4406_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic, - &ett_s4406_SEQUENCE_OF_DistributionExtensionField, - &ett_s4406_DistributionExtensionField, - &ett_s4406_HandlingInstructions, - &ett_s4406_MessageInstructions, - &ett_s4406_MessageType, - &ett_s4406_AddressListDesignatorSeq, - &ett_s4406_AddressListDesignator, - &ett_s4406_OtherRecipientDesignatorSeq, - &ett_s4406_OtherRecipientDesignator, - &ett_s4406_PilotInformationSeq, - &ett_s4406_PilotInformation, - &ett_s4406_SEQUENCE_OF_ORDescriptor, - &ett_s4406_SEQUENCE_OF_MilitaryString, - &ett_s4406_SecurityInformationLabels, - &ett_s4406_SEQUENCE_OF_BodyPartSecurityLabel, - &ett_s4406_BodyPartSecurityLabel, - &ett_s4406_ADatP3Data, - &ett_s4406_T_setOriented, - &ett_s4406_ForwardedEncryptedParameters, - &ett_s4406_MMMessageParameters, - &ett_s4406_Acp127NotificationType, - -/*--- End of included file: packet-s4406-ettarr.c ---*/ -#line 98 "packet-s4406-template.c" + &ett_p772, + +/*--- Included file: packet-p772-ettarr.c ---*/ +#line 1 "packet-p772-ettarr.c" + &ett_p772_InformationObject, + &ett_p772_Acp127NotificationResponse, + &ett_p772_AddressListIndicator, + &ett_p772_ExemptedAddressSeq, + &ett_p772_DistributionCodes, + &ett_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic, + &ett_p772_SEQUENCE_OF_DistributionExtensionField, + &ett_p772_DistributionExtensionField, + &ett_p772_HandlingInstructions, + &ett_p772_MessageInstructions, + &ett_p772_MessageType, + &ett_p772_AddressListDesignatorSeq, + &ett_p772_AddressListDesignator, + &ett_p772_OtherRecipientDesignatorSeq, + &ett_p772_OtherRecipientDesignator, + &ett_p772_PilotInformationSeq, + &ett_p772_PilotInformation, + &ett_p772_SEQUENCE_OF_ORDescriptor, + &ett_p772_SEQUENCE_OF_MilitaryString, + &ett_p772_SecurityInformationLabels, + &ett_p772_SEQUENCE_OF_BodyPartSecurityLabel, + &ett_p772_BodyPartSecurityLabel, + &ett_p772_ADatP3Data, + &ett_p772_T_setOriented, + &ett_p772_ForwardedEncryptedParameters, + &ett_p772_MMMessageParameters, + &ett_p772_Acp127NotificationType, + +/*--- End of included file: packet-p772-ettarr.c ---*/ +#line 98 "packet-p772-template.c" }; /* Register protocol */ - proto_s4406 = proto_register_protocol(PNAME, PSNAME, PFNAME); + proto_p772 = proto_register_protocol(PNAME, PSNAME, PFNAME); /* Register fields and subtrees */ - proto_register_field_array(proto_s4406, hf, array_length(hf)); + proto_register_field_array(proto_p772, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_ber_syntax_dissector("STANAG 4406", proto_s4406, dissect_s4406); + register_ber_syntax_dissector("STANAG 4406", proto_p772, dissect_p772); register_ber_oid_syntax(".p772", NULL, "STANAG 4406"); } -/*--- proto_reg_handoff_s4406 --- */ -void proto_reg_handoff_s4406(void) { - -/*--- Included file: packet-s4406-dis-tab.c ---*/ -#line 1 "packet-s4406-dis-tab.c" - register_ber_oid_dissector("1.3.26.0.4406.0.2.0", dissect_PrimaryPrecedence_PDU, proto_s4406, "primary-precedence"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.1", dissect_CopyPrecedence_PDU, proto_s4406, "copy-precedence"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.2", dissect_MessageType_PDU, proto_s4406, "message-type"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.3", dissect_AddressListDesignatorSeq_PDU, proto_s4406, "address-list-indicator"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.4", dissect_ExemptedAddressSeq_PDU, proto_s4406, "exempted-address"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.5", dissect_ExtendedAuthorisationInfo_PDU, proto_s4406, "extended-authorisation-info"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.6", dissect_DistributionCodes_PDU, proto_s4406, "distribution-codes"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.7", dissect_HandlingInstructions_PDU, proto_s4406, "handling-instructions"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.8", dissect_MessageInstructions_PDU, proto_s4406, "message-instructions"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.9", dissect_CodressMessage_PDU, proto_s4406, "codress-message"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.10", dissect_OriginatorReference_PDU, proto_s4406, "originator-reference"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.11", dissect_OtherRecipientDesignatorSeq_PDU, proto_s4406, "other-recipients-indicator"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.12", dissect_PilotInformationSeq_PDU, proto_s4406, "pilot-forwarding-info"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.13", dissect_Acp127MessageIdentifier_PDU, proto_s4406, "acp127-message-identifier"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.14", dissect_OriginatorPlad_PDU, proto_s4406, "originator-plad"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.15", dissect_Acp127NotificationType_PDU, proto_s4406, "acp127-notification-request"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.16", dissect_Acp127NotificationResponse_PDU, proto_s4406, "acp127-notification-response"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.17", dissect_SecurityInformationLabels_PDU, proto_s4406, "information-labels"); - register_ber_oid_dissector("1.3.26.0.4406.0.8.0", dissect_PriorityLevelQualifier_PDU, proto_s4406, "priority-level-qualifier"); - register_ber_oid_dissector(id_nato_mmhs_et_adatp3, dissect_ADatP3Data_PDU, proto_s4406, "adatp3"); - register_ber_oid_dissector(id_nato_mmhs_et_adatp3_parameters, dissect_ADatP3Parameters_PDU, proto_s4406, "adatp3-parameters"); - register_ber_oid_dissector(id_nato_mmhs_et_corrections, dissect_CorrectionsData_PDU, proto_s4406, "corrections"); - register_ber_oid_dissector(id_nato_mmhs_et_corrections_parameters, dissect_CorrectionsParameters_PDU, proto_s4406, "corrections-parameters"); - register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted, dissect_ForwardedEncryptedData_PDU, proto_s4406, "forwarded-encrypted"); - register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted_parameters, dissect_ForwardedEncryptedParameters_PDU, proto_s4406, "forwarded-encrypted-parameters"); - register_ber_oid_dissector(id_nato_mmhs_et_mm_message, dissect_MMMessageData_PDU, proto_s4406, "mm-message"); - register_ber_oid_dissector(id_nato_mmhs_et_mm_message_parameters, dissect_MMMessageParameters_PDU, proto_s4406, "mm-message-parameters"); - register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data, dissect_ACP127DataData_PDU, proto_s4406, "acp127-data"); - register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data_parameters, dissect_ACP127DataParameters_PDU, proto_s4406, "acp127-data-parameters"); - register_ber_oid_dissector("2.6.1.4.17.1.3.26.0.4406.0.4.1", dissect_InformationObject_PDU, proto_s4406, "id-et-content-p772"); - - -/*--- End of included file: packet-s4406-dis-tab.c ---*/ -#line 115 "packet-s4406-template.c" - - register_ber_oid_dissector("1.3.26.0.4406.0.4.1", dissect_s4406, proto_s4406, "STANAG 4406"); +/*--- proto_reg_handoff_p772 --- */ +void proto_reg_handoff_p772(void) { + +/*--- Included file: packet-p772-dis-tab.c ---*/ +#line 1 "packet-p772-dis-tab.c" + register_ber_oid_dissector("1.3.26.0.4406.0.2.0", dissect_PrimaryPrecedence_PDU, proto_p772, "primary-precedence"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.1", dissect_CopyPrecedence_PDU, proto_p772, "copy-precedence"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.2", dissect_MessageType_PDU, proto_p772, "message-type"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.3", dissect_AddressListDesignatorSeq_PDU, proto_p772, "address-list-indicator"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.4", dissect_ExemptedAddressSeq_PDU, proto_p772, "exempted-address"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.5", dissect_ExtendedAuthorisationInfo_PDU, proto_p772, "extended-authorisation-info"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.6", dissect_DistributionCodes_PDU, proto_p772, "distribution-codes"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.7", dissect_HandlingInstructions_PDU, proto_p772, "handling-instructions"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.8", dissect_MessageInstructions_PDU, proto_p772, "message-instructions"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.9", dissect_CodressMessage_PDU, proto_p772, "codress-message"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.10", dissect_OriginatorReference_PDU, proto_p772, "originator-reference"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.11", dissect_OtherRecipientDesignatorSeq_PDU, proto_p772, "other-recipients-indicator"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.12", dissect_PilotInformationSeq_PDU, proto_p772, "pilot-forwarding-info"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.13", dissect_Acp127MessageIdentifier_PDU, proto_p772, "acp127-message-identifier"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.14", dissect_OriginatorPlad_PDU, proto_p772, "originator-plad"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.15", dissect_Acp127NotificationType_PDU, proto_p772, "acp127-notification-request"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.16", dissect_Acp127NotificationResponse_PDU, proto_p772, "acp127-notification-response"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.17", dissect_SecurityInformationLabels_PDU, proto_p772, "information-labels"); + register_ber_oid_dissector("1.3.26.0.4406.0.8.0", dissect_PriorityLevelQualifier_PDU, proto_p772, "priority-level-qualifier"); + register_ber_oid_dissector(id_nato_mmhs_et_adatp3, dissect_ADatP3Data_PDU, proto_p772, "adatp3"); + register_ber_oid_dissector(id_nato_mmhs_et_adatp3_parameters, dissect_ADatP3Parameters_PDU, proto_p772, "adatp3-parameters"); + register_ber_oid_dissector(id_nato_mmhs_et_corrections, dissect_CorrectionsData_PDU, proto_p772, "corrections"); + register_ber_oid_dissector(id_nato_mmhs_et_corrections_parameters, dissect_CorrectionsParameters_PDU, proto_p772, "corrections-parameters"); + register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted, dissect_ForwardedEncryptedData_PDU, proto_p772, "forwarded-encrypted"); + register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted_parameters, dissect_ForwardedEncryptedParameters_PDU, proto_p772, "forwarded-encrypted-parameters"); + register_ber_oid_dissector(id_nato_mmhs_et_mm_message, dissect_MMMessageData_PDU, proto_p772, "mm-message"); + register_ber_oid_dissector(id_nato_mmhs_et_mm_message_parameters, dissect_MMMessageParameters_PDU, proto_p772, "mm-message-parameters"); + register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data, dissect_ACP127DataData_PDU, proto_p772, "acp127-data"); + register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data_parameters, dissect_ACP127DataParameters_PDU, proto_p772, "acp127-data-parameters"); + register_ber_oid_dissector("2.6.1.4.17.1.3.26.0.4406.0.4.1", dissect_InformationObject_PDU, proto_p772, "id-et-content-p772"); + + +/*--- End of included file: packet-p772-dis-tab.c ---*/ +#line 115 "packet-p772-template.c" + + register_ber_oid_dissector("1.3.26.0.4406.0.4.1", dissect_p772, proto_p772, "STANAG 4406"); } diff --git a/epan/dissectors/packet-s4406.h b/epan/dissectors/packet-p772.h index c20e03f2aa..8f3153a217 100644 --- a/epan/dissectors/packet-s4406.h +++ b/epan/dissectors/packet-p772.h @@ -1,13 +1,13 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* packet-s4406.h */ -/* ../../tools/asn2wrs.py -b -e -C -p s4406 -c ./s4406.cnf -s ./packet-s4406-template -D . MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */ +/* packet-p772.h */ +/* ../../tools/asn2wrs.py -b -e -C -p p772 -c ./p772.cnf -s ./packet-p772-template -D . MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */ -/* Input file: packet-s4406-template.h */ +/* Input file: packet-p772-template.h */ -#line 1 "packet-s4406-template.h" -/* packet-s4406.h - * Routines for X.411 (X.400 Message Transfer) packet dissection +#line 1 "packet-p772-template.h" +/* packet-p772.h + * Routines for STANAG 4406 (X.400 Military Message Extensions) packet dissection * Graeme Lunt 2005 * * $Id$ @@ -31,9 +31,9 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef PACKET_S4406_H -#define PACKET_S4406_H +#ifndef PACKET_P772_H +#define PACKET_P772_H -/* #include "packet-s4406-exp.h" */ +/* #include "packet-p772-exp.h" */ -#endif /* PACKET_S4406_H */ +#endif /* PACKET_P772_H */ diff --git a/epan/dissectors/packet-x411.c b/epan/dissectors/packet-x411.c deleted file mode 100644 index 6a3042066e..0000000000 --- a/epan/dissectors/packet-x411.c +++ /dev/null @@ -1,11118 +0,0 @@ -/* Do not modify this file. */ -/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* packet-x411.c */ -/* ../../tools/asn2wrs.py -b -e -C -p x411 -c ./x411.cnf -s ./packet-x411-template -D . MTAAbstractService.asn MTSAbstractService.asn MTSAccessProtocol.asn MHSProtocolObjectIdentifiers.asn MTSUpperBounds.asn */ - -/* Input file: packet-x411-template.c */ - -#line 1 "packet-x411-template.c" -/* packet-x411.c - * Routines for X.411 (X.400 Message Transfer) packet dissection - * Graeme Lunt 2005 - * - * $Id$ - * - * 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 - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <glib.h> -#include <epan/packet.h> -#include <epan/prefs.h> -#include <epan/oids.h> -#include <epan/asn1.h> -#include <epan/expert.h> - -#include "packet-ber.h" -#include "packet-acse.h" -#include "packet-ros.h" -#include "packet-rtse.h" - -#include "packet-x509af.h" -#include "packet-x509ce.h" -#include "packet-x509if.h" -#include "packet-x509sat.h" - -#include "packet-x411.h" -#include <epan/strutil.h> - -#define PNAME "X.411 Message Transfer Service" -#define PSNAME "X411" -#define PFNAME "x411" - -static guint global_x411_tcp_port = 102; -static dissector_handle_t tpkt_handle; -static void prefs_register_x411(void); /* forward declaration for use in preferences registration */ - -/* Initialize the protocol and registered fields */ -static int proto_x411 = -1; -static int proto_p3 = -1; - -static struct SESSION_DATA_STRUCTURE* session = NULL; -static int extension_id = -1; /* integer extension id */ -static const char *object_identifier_id = NULL; /* extensions identifier */ -static const char *content_type_id = NULL; /* content type identifier */ - -#define MAX_ORA_STR_LEN 256 -static char *oraddress = NULL; -static char *ddatype = NULL; -static gboolean doing_address=FALSE; -static gboolean doing_subjectid=FALSE; -static proto_item *address_item = NULL; - -static proto_tree *top_tree=NULL; - -static int hf_x411_MTS_APDU_PDU = -1; -static int hf_x411_MTABindArgument_PDU = -1; -static int hf_x411_MTABindResult_PDU = -1; -static int hf_x411_MTABindError_PDU = -1; - - -/*--- Included file: packet-x411-hf.c ---*/ -#line 1 "packet-x411-hf.c" -static int hf_x411_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */ -static int hf_x411_InternalTraceInformationElement_PDU = -1; /* InternalTraceInformationElement */ -static int hf_x411_TraceInformation_PDU = -1; /* TraceInformation */ -static int hf_x411_TraceInformationElement_PDU = -1; /* TraceInformationElement */ -static int hf_x411_MTSBindArgument_PDU = -1; /* MTSBindArgument */ -static int hf_x411_MTSBindResult_PDU = -1; /* MTSBindResult */ -static int hf_x411_PAR_mts_bind_error_PDU = -1; /* PAR_mts_bind_error */ -static int hf_x411_MessageSubmissionArgument_PDU = -1; /* MessageSubmissionArgument */ -static int hf_x411_MessageSubmissionResult_PDU = -1; /* MessageSubmissionResult */ -static int hf_x411_ProbeSubmissionArgument_PDU = -1; /* ProbeSubmissionArgument */ -static int hf_x411_ProbeSubmissionResult_PDU = -1; /* ProbeSubmissionResult */ -static int hf_x411_CancelDeferredDeliveryArgument_PDU = -1; /* CancelDeferredDeliveryArgument */ -static int hf_x411_CancelDeferredDeliveryResult_PDU = -1; /* CancelDeferredDeliveryResult */ -static int hf_x411_SubmissionControlArgument_PDU = -1; /* SubmissionControlArgument */ -static int hf_x411_SubmissionControlResult_PDU = -1; /* SubmissionControlResult */ -static int hf_x411_PAR_submission_control_violated_PDU = -1; /* PAR_submission_control_violated */ -static int hf_x411_PAR_element_of_service_not_subscribed_PDU = -1; /* PAR_element_of_service_not_subscribed */ -static int hf_x411_PAR_deferred_delivery_cancellation_rejected_PDU = -1; /* PAR_deferred_delivery_cancellation_rejected */ -static int hf_x411_PAR_originator_invalid_PDU = -1; /* PAR_originator_invalid */ -static int hf_x411_ImproperlySpecifiedRecipients_PDU = -1; /* ImproperlySpecifiedRecipients */ -static int hf_x411_PAR_message_submission_identifier_invalid_PDU = -1; /* PAR_message_submission_identifier_invalid */ -static int hf_x411_PAR_inconsistent_request_PDU = -1; /* PAR_inconsistent_request */ -static int hf_x411_SecurityProblem_PDU = -1; /* SecurityProblem */ -static int hf_x411_PAR_unsupported_critical_function_PDU = -1; /* PAR_unsupported_critical_function */ -static int hf_x411_PAR_remote_bind_error_PDU = -1; /* PAR_remote_bind_error */ -static int hf_x411_MessageSubmissionTime_PDU = -1; /* MessageSubmissionTime */ -static int hf_x411_MessageDeliveryArgument_PDU = -1; /* MessageDeliveryArgument */ -static int hf_x411_MessageDeliveryResult_PDU = -1; /* MessageDeliveryResult */ -static int hf_x411_ReportDeliveryArgument_PDU = -1; /* ReportDeliveryArgument */ -static int hf_x411_ReportDeliveryResult_PDU = -1; /* ReportDeliveryResult */ -static int hf_x411_DeliveryControlArgument_PDU = -1; /* DeliveryControlArgument */ -static int hf_x411_DeliveryControlResult_PDU = -1; /* DeliveryControlResult */ -static int hf_x411_PAR_delivery_control_violated_PDU = -1; /* PAR_delivery_control_violated */ -static int hf_x411_PAR_control_violates_registration_PDU = -1; /* PAR_control_violates_registration */ -static int hf_x411_RefusedOperation_PDU = -1; /* RefusedOperation */ -static int hf_x411_RecipientCertificate_PDU = -1; /* RecipientCertificate */ -static int hf_x411_ProofOfDelivery_PDU = -1; /* ProofOfDelivery */ -static int hf_x411_RegisterArgument_PDU = -1; /* RegisterArgument */ -static int hf_x411_RegisterResult_PDU = -1; /* RegisterResult */ -static int hf_x411_ChangeCredentialsArgument_PDU = -1; /* ChangeCredentialsArgument */ -static int hf_x411_RES_change_credentials_PDU = -1; /* RES_change_credentials */ -static int hf_x411_PAR_register_rejected_PDU = -1; /* PAR_register_rejected */ -static int hf_x411_PAR_new_credentials_unacceptable_PDU = -1; /* PAR_new_credentials_unacceptable */ -static int hf_x411_PAR_old_credentials_incorrectly_specified_PDU = -1; /* PAR_old_credentials_incorrectly_specified */ -static int hf_x411_MessageSubmissionEnvelope_PDU = -1; /* MessageSubmissionEnvelope */ -static int hf_x411_PerRecipientMessageSubmissionFields_PDU = -1; /* PerRecipientMessageSubmissionFields */ -static int hf_x411_ProbeSubmissionEnvelope_PDU = -1; /* ProbeSubmissionEnvelope */ -static int hf_x411_PerRecipientProbeSubmissionFields_PDU = -1; /* PerRecipientProbeSubmissionFields */ -static int hf_x411_MessageDeliveryEnvelope_PDU = -1; /* MessageDeliveryEnvelope */ -static int hf_x411_ReportDeliveryEnvelope_PDU = -1; /* ReportDeliveryEnvelope */ -static int hf_x411_PerRecipientReportDeliveryFields_PDU = -1; /* PerRecipientReportDeliveryFields */ -static int hf_x411_ExtendedContentType_PDU = -1; /* ExtendedContentType */ -static int hf_x411_ContentIdentifier_PDU = -1; /* ContentIdentifier */ -static int hf_x411_PerMessageIndicators_PDU = -1; /* PerMessageIndicators */ -static int hf_x411_OriginatorReportRequest_PDU = -1; /* OriginatorReportRequest */ -static int hf_x411_DeferredDeliveryTime_PDU = -1; /* DeferredDeliveryTime */ -static int hf_x411_Priority_PDU = -1; /* Priority */ -static int hf_x411_ContentLength_PDU = -1; /* ContentLength */ -static int hf_x411_MessageDeliveryTime_PDU = -1; /* MessageDeliveryTime */ -static int hf_x411_DeliveryFlags_PDU = -1; /* DeliveryFlags */ -static int hf_x411_SubjectSubmissionIdentifier_PDU = -1; /* SubjectSubmissionIdentifier */ -static int hf_x411_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */ -static int hf_x411_OriginatorRequestedAlternateRecipient_PDU = -1; /* OriginatorRequestedAlternateRecipient */ -static int hf_x411_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */ -static int hf_x411_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */ -static int hf_x411_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */ -static int hf_x411_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */ -static int hf_x411_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */ -static int hf_x411_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */ -static int hf_x411_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */ -static int hf_x411_RegisteredMailType_PDU = -1; /* RegisteredMailType */ -static int hf_x411_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */ -static int hf_x411_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */ -static int hf_x411_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */ -static int hf_x411_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */ -static int hf_x411_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */ -static int hf_x411_MessageToken_PDU = -1; /* MessageToken */ -static int hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */ -static int hf_x411_ContentIntegrityCheck_PDU = -1; /* ContentIntegrityCheck */ -static int hf_x411_MessageOriginAuthenticationCheck_PDU = -1; /* MessageOriginAuthenticationCheck */ -static int hf_x411_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */ -static int hf_x411_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */ -static int hf_x411_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */ -static int hf_x411_ContentCorrelator_PDU = -1; /* ContentCorrelator */ -static int hf_x411_ProbeOriginAuthenticationCheck_PDU = -1; /* ProbeOriginAuthenticationCheck */ -static int hf_x411_RedirectionHistory_PDU = -1; /* RedirectionHistory */ -static int hf_x411_Redirection_PDU = -1; /* Redirection */ -static int hf_x411_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */ -static int hf_x411_DLExpansion_PDU = -1; /* DLExpansion */ -static int hf_x411_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */ -static int hf_x411_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */ -static int hf_x411_ReportingDLName_PDU = -1; /* ReportingDLName */ -static int hf_x411_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */ -static int hf_x411_ReportOriginAuthenticationCheck_PDU = -1; /* ReportOriginAuthenticationCheck */ -static int hf_x411_OriginatingMTACertificate_PDU = -1; /* OriginatingMTACertificate */ -static int hf_x411_ProofOfSubmission_PDU = -1; /* ProofOfSubmission */ -static int hf_x411_ReportingMTAName_PDU = -1; /* ReportingMTAName */ -static int hf_x411_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */ -static int hf_x411_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */ -static int hf_x411_CertificateSelectors_PDU = -1; /* CertificateSelectors */ -static int hf_x411_Content_PDU = -1; /* Content */ -static int hf_x411_MTSIdentifier_PDU = -1; /* MTSIdentifier */ -static int hf_x411_ORName_PDU = -1; /* ORName */ -static int hf_x411_ORAddress_PDU = -1; /* ORAddress */ -static int hf_x411_CommonName_PDU = -1; /* CommonName */ -static int hf_x411_TeletexCommonName_PDU = -1; /* TeletexCommonName */ -static int hf_x411_UniversalCommonName_PDU = -1; /* UniversalCommonName */ -static int hf_x411_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */ -static int hf_x411_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */ -static int hf_x411_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */ -static int hf_x411_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */ -static int hf_x411_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */ -static int hf_x411_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */ -static int hf_x411_PDSName_PDU = -1; /* PDSName */ -static int hf_x411_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */ -static int hf_x411_PostalCode_PDU = -1; /* PostalCode */ -static int hf_x411_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */ -static int hf_x411_UniversalPhysicalDeliveryOfficeName_PDU = -1; /* UniversalPhysicalDeliveryOfficeName */ -static int hf_x411_PhysicalDeliveryOfficeNumber_PDU = -1; /* PhysicalDeliveryOfficeNumber */ -static int hf_x411_UniversalPhysicalDeliveryOfficeNumber_PDU = -1; /* UniversalPhysicalDeliveryOfficeNumber */ -static int hf_x411_ExtensionORAddressComponents_PDU = -1; /* ExtensionORAddressComponents */ -static int hf_x411_UniversalExtensionORAddressComponents_PDU = -1; /* UniversalExtensionORAddressComponents */ -static int hf_x411_PhysicalDeliveryPersonalName_PDU = -1; /* PhysicalDeliveryPersonalName */ -static int hf_x411_UniversalPhysicalDeliveryPersonalName_PDU = -1; /* UniversalPhysicalDeliveryPersonalName */ -static int hf_x411_PhysicalDeliveryOrganizationName_PDU = -1; /* PhysicalDeliveryOrganizationName */ -static int hf_x411_UniversalPhysicalDeliveryOrganizationName_PDU = -1; /* UniversalPhysicalDeliveryOrganizationName */ -static int hf_x411_ExtensionPhysicalDeliveryAddressComponents_PDU = -1; /* ExtensionPhysicalDeliveryAddressComponents */ -static int hf_x411_UniversalExtensionPhysicalDeliveryAddressComponents_PDU = -1; /* UniversalExtensionPhysicalDeliveryAddressComponents */ -static int hf_x411_UnformattedPostalAddress_PDU = -1; /* UnformattedPostalAddress */ -static int hf_x411_UniversalUnformattedPostalAddress_PDU = -1; /* UniversalUnformattedPostalAddress */ -static int hf_x411_StreetAddress_PDU = -1; /* StreetAddress */ -static int hf_x411_UniversalStreetAddress_PDU = -1; /* UniversalStreetAddress */ -static int hf_x411_PostOfficeBoxAddress_PDU = -1; /* PostOfficeBoxAddress */ -static int hf_x411_UniversalPostOfficeBoxAddress_PDU = -1; /* UniversalPostOfficeBoxAddress */ -static int hf_x411_PosteRestanteAddress_PDU = -1; /* PosteRestanteAddress */ -static int hf_x411_UniversalPosteRestanteAddress_PDU = -1; /* UniversalPosteRestanteAddress */ -static int hf_x411_UniquePostalName_PDU = -1; /* UniquePostalName */ -static int hf_x411_UniversalUniquePostalName_PDU = -1; /* UniversalUniquePostalName */ -static int hf_x411_LocalPostalAttributes_PDU = -1; /* LocalPostalAttributes */ -static int hf_x411_UniversalLocalPostalAttributes_PDU = -1; /* UniversalLocalPostalAttributes */ -static int hf_x411_ExtendedNetworkAddress_PDU = -1; /* ExtendedNetworkAddress */ -static int hf_x411_TerminalType_PDU = -1; /* TerminalType */ -static int hf_x411_TeletexDomainDefinedAttributes_PDU = -1; /* TeletexDomainDefinedAttributes */ -static int hf_x411_UniversalDomainDefinedAttributes_PDU = -1; /* UniversalDomainDefinedAttributes */ -static int hf_x411_ExtendedEncodedInformationType_PDU = -1; /* ExtendedEncodedInformationType */ -static int hf_x411_MTANameAndOptionalGDI_PDU = -1; /* MTANameAndOptionalGDI */ -static int hf_x411_AsymmetricToken_PDU = -1; /* AsymmetricToken */ -static int hf_x411_BindTokenSignedData_PDU = -1; /* BindTokenSignedData */ -static int hf_x411_MessageTokenSignedData_PDU = -1; /* MessageTokenSignedData */ -static int hf_x411_MessageTokenEncryptedData_PDU = -1; /* MessageTokenEncryptedData */ -static int hf_x411_BindTokenEncryptedData_PDU = -1; /* BindTokenEncryptedData */ -static int hf_x411_SecurityClassification_PDU = -1; /* SecurityClassification */ -static int hf_x411_unauthenticated = -1; /* NULL */ -static int hf_x411_authenticated_argument = -1; /* AuthenticatedArgument */ -static int hf_x411_authenticated_initiator_name = -1; /* MTAName */ -static int hf_x411_initiator_credentials = -1; /* InitiatorCredentials */ -static int hf_x411_security_context = -1; /* SecurityContext */ -static int hf_x411_authenticated_result = -1; /* AuthenticatedResult */ -static int hf_x411_authenticated_responder_name = -1; /* MTAName */ -static int hf_x411_responder_credentials = -1; /* ResponderCredentials */ -static int hf_x411_message = -1; /* Message */ -static int hf_x411_probe = -1; /* Probe */ -static int hf_x411_report = -1; /* Report */ -static int hf_x411_message_envelope = -1; /* MessageTransferEnvelope */ -static int hf_x411_content = -1; /* Content */ -static int hf_x411_report_envelope = -1; /* ReportTransferEnvelope */ -static int hf_x411_report_content = -1; /* ReportTransferContent */ -static int hf_x411_message_identifier = -1; /* MessageIdentifier */ -static int hf_x411_originator_name = -1; /* MTAOriginatorName */ -static int hf_x411_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */ -static int hf_x411_content_type = -1; /* ContentType */ -static int hf_x411_content_identifier = -1; /* ContentIdentifier */ -static int hf_x411_priority = -1; /* Priority */ -static int hf_x411_per_message_indicators = -1; /* PerMessageIndicators */ -static int hf_x411_deferred_delivery_time = -1; /* DeferredDeliveryTime */ -static int hf_x411_per_domain_bilateral_information = -1; /* SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation */ -static int hf_x411_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */ -static int hf_x411_trace_information = -1; /* TraceInformation */ -static int hf_x411_extensions = -1; /* SET_OF_ExtensionField */ -static int hf_x411_extensions_item = -1; /* ExtensionField */ -static int hf_x411_recipient_name = -1; /* MTARecipientName */ -static int hf_x411_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */ -static int hf_x411_per_recipient_indicators = -1; /* PerRecipientIndicators */ -static int hf_x411_explicit_conversion = -1; /* ExplicitConversion */ -static int hf_x411_probe_identifier = -1; /* ProbeIdentifier */ -static int hf_x411_content_length = -1; /* ContentLength */ -static int hf_x411_report_identifier = -1; /* ReportIdentifier */ -static int hf_x411_report_destination_name = -1; /* ReportDestinationName */ -static int hf_x411_subject_identifier = -1; /* SubjectIdentifier */ -static int hf_x411_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */ -static int hf_x411_returned_content = -1; /* Content */ -static int hf_x411_additional_information = -1; /* AdditionalInformation */ -static int hf_x411_mta_actual_recipient_name = -1; /* MTAActualRecipientName */ -static int hf_x411_last_trace_information = -1; /* LastTraceInformation */ -static int hf_x411_report_originally_intended_recipient_name = -1; /* OriginallyIntendedRecipientName */ -static int hf_x411_supplementary_information = -1; /* SupplementaryInformation */ -static int hf_x411_country_name = -1; /* CountryName */ -static int hf_x411_bilateral_domain = -1; /* T_bilateral_domain */ -static int hf_x411_administration_domain_name = -1; /* AdministrationDomainName */ -static int hf_x411_private_domain = -1; /* T_private_domain */ -static int hf_x411_private_domain_identifier = -1; /* PrivateDomainIdentifier */ -static int hf_x411_bilateral_information = -1; /* T_bilateral_information */ -static int hf_x411_arrival_time = -1; /* ArrivalTime */ -static int hf_x411_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */ -static int hf_x411_trace_report_type = -1; /* ReportType */ -static int hf_x411_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */ -static int hf_x411_global_domain_identifier = -1; /* GlobalDomainIdentifier */ -static int hf_x411_mta_name = -1; /* MTAName */ -static int hf_x411_mta_supplied_information = -1; /* MTASuppliedInformation */ -static int hf_x411__untag_item = -1; /* TraceInformationElement */ -static int hf_x411_domain_supplied_information = -1; /* DomainSuppliedInformation */ -static int hf_x411_deferred_time = -1; /* DeferredTime */ -static int hf_x411_other_actions = -1; /* OtherActions */ -static int hf_x411_initiator_name = -1; /* ObjectName */ -static int hf_x411_messages_waiting = -1; /* MessagesWaiting */ -static int hf_x411_responder_name = -1; /* ObjectName */ -static int hf_x411_user_agent = -1; /* ORAddressAndOptionalDirectoryName */ -static int hf_x411_mTA = -1; /* MTAName */ -static int hf_x411_message_store = -1; /* ORAddressAndOptionalDirectoryName */ -static int hf_x411_urgent = -1; /* DeliveryQueue */ -static int hf_x411_normal = -1; /* DeliveryQueue */ -static int hf_x411_non_urgent = -1; /* DeliveryQueue */ -static int hf_x411_messages = -1; /* INTEGER_0_ub_queue_size */ -static int hf_x411_delivery_queue_octets = -1; /* INTEGER_0_ub_content_length */ -static int hf_x411_simple = -1; /* Password */ -static int hf_x411_strong = -1; /* StrongCredentials */ -static int hf_x411_protected = -1; /* ProtectedPassword */ -static int hf_x411_ia5_string = -1; /* IA5String_SIZE_0_ub_password_length */ -static int hf_x411_octet_string = -1; /* OCTET_STRING_SIZE_0_ub_password_length */ -static int hf_x411_bind_token = -1; /* Token */ -static int hf_x411_certificate = -1; /* Certificates */ -static int hf_x411_certificate_selector = -1; /* CertificateAssertion */ -static int hf_x411_signature = -1; /* Signature */ -static int hf_x411_time1 = -1; /* UTCTime */ -static int hf_x411_time2 = -1; /* UTCTime */ -static int hf_x411_random1 = -1; /* BIT_STRING */ -static int hf_x411_random2 = -1; /* BIT_STRING */ -static int hf_x411_algorithmIdentifier = -1; /* AlgorithmIdentifier */ -static int hf_x411_encrypted = -1; /* BIT_STRING */ -static int hf_x411_SecurityContext_item = -1; /* SecurityLabel */ -static int hf_x411_message_submission_envelope = -1; /* MessageSubmissionEnvelope */ -static int hf_x411_message_submission_identifier = -1; /* MessageSubmissionIdentifier */ -static int hf_x411_message_submission_time = -1; /* MessageSubmissionTime */ -static int hf_x411_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */ -static int hf_x411_probe_submission_time = -1; /* ProbeSubmissionTime */ -static int hf_x411_ImproperlySpecifiedRecipients_item = -1; /* RecipientName */ -static int hf_x411_waiting_operations = -1; /* Operations */ -static int hf_x411_waiting_messages = -1; /* WaitingMessages */ -static int hf_x411_waiting_content_types = -1; /* SET_SIZE_0_ub_content_types_OF_ContentType */ -static int hf_x411_waiting_content_types_item = -1; /* ContentType */ -static int hf_x411_waiting_encoded_information_types = -1; /* EncodedInformationTypes */ -static int hf_x411_recipient_certificate = -1; /* RecipientCertificate */ -static int hf_x411_proof_of_delivery = -1; /* ProofOfDelivery */ -static int hf_x411_empty_result = -1; /* NULL */ -static int hf_x411_max_extensions = -1; /* SET_SIZE_1_MAX_OF_ExtensionField */ -static int hf_x411_max_extensions_item = -1; /* ExtensionField */ -static int hf_x411_restrict = -1; /* BOOLEAN */ -static int hf_x411_permissible_operations = -1; /* Operations */ -static int hf_x411_permissible_maximum_content_length = -1; /* ContentLength */ -static int hf_x411_permissible_lowest_priority = -1; /* Priority */ -static int hf_x411_permissible_content_types = -1; /* ContentTypes */ -static int hf_x411_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */ -static int hf_x411_permissible_security_context = -1; /* SecurityContext */ -static int hf_x411_refused_argument = -1; /* T_refused_argument */ -static int hf_x411_built_in_argument = -1; /* RefusedArgument */ -static int hf_x411_refused_extension = -1; /* T_refused_extension */ -static int hf_x411_refusal_reason = -1; /* RefusalReason */ -static int hf_x411_user_name = -1; /* UserName */ -static int hf_x411_user_address = -1; /* UserAddress */ -static int hf_x411_deliverable_class = -1; /* SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass */ -static int hf_x411_deliverable_class_item = -1; /* DeliverableClass */ -static int hf_x411_default_delivery_controls = -1; /* DefaultDeliveryControls */ -static int hf_x411_redirections = -1; /* Redirections */ -static int hf_x411_restricted_delivery = -1; /* RestrictedDelivery */ -static int hf_x411_retrieve_registrations = -1; /* RegistrationTypes */ -static int hf_x411_non_empty_result = -1; /* T_non_empty_result */ -static int hf_x411_registered_information = -1; /* RegisterArgument */ -static int hf_x411_old_credentials = -1; /* Credentials */ -static int hf_x411_new_credentials = -1; /* Credentials */ -static int hf_x411_x121 = -1; /* T_x121 */ -static int hf_x411_x121_address = -1; /* T_x121_address */ -static int hf_x411_tsap_id = -1; /* PrintableString_SIZE_1_ub_tsap_id_length */ -static int hf_x411_presentation = -1; /* PSAPAddress */ -static int hf_x411_Redirections_item = -1; /* RecipientRedirection */ -static int hf_x411_redirection_classes = -1; /* SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass */ -static int hf_x411_redirection_classes_item = -1; /* RedirectionClass */ -static int hf_x411_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */ -static int hf_x411_content_types = -1; /* ContentTypes */ -static int hf_x411_maximum_content_length = -1; /* ContentLength */ -static int hf_x411_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */ -static int hf_x411_security_labels = -1; /* SecurityContext */ -static int hf_x411_class_priority = -1; /* SET_OF_Priority */ -static int hf_x411_class_priority_item = -1; /* Priority */ -static int hf_x411_objects = -1; /* T_objects */ -static int hf_x411_applies_only_to = -1; /* SEQUENCE_OF_Restriction */ -static int hf_x411_applies_only_to_item = -1; /* Restriction */ -static int hf_x411_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */ -static int hf_x411_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */ -static int hf_x411_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */ -static int hf_x411_RestrictedDelivery_item = -1; /* Restriction */ -static int hf_x411_permitted = -1; /* BOOLEAN */ -static int hf_x411_source_type = -1; /* T_source_type */ -static int hf_x411_source_name = -1; /* ExactOrPattern */ -static int hf_x411_exact_match = -1; /* ORName */ -static int hf_x411_pattern_match = -1; /* ORName */ -static int hf_x411_standard_parameters = -1; /* T_standard_parameters */ -static int hf_x411_type_extensions = -1; /* T_type_extensions */ -static int hf_x411_type_extensions_item = -1; /* T_type_extensions_item */ -static int hf_x411_originator_name_01 = -1; /* OriginatorName */ -static int hf_x411_submission_recipient_name = -1; /* RecipientName */ -static int hf_x411_originator_report_request = -1; /* OriginatorReportRequest */ -static int hf_x411_probe_recipient_name = -1; /* RecipientName */ -static int hf_x411_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */ -static int hf_x411_message_delivery_time = -1; /* MessageDeliveryTime */ -static int hf_x411_other_fields = -1; /* OtherMessageDeliveryFields */ -static int hf_x411_delivered_content_type = -1; /* DeliveredContentType */ -static int hf_x411_delivered_originator_name = -1; /* DeliveredOriginatorName */ -static int hf_x411_delivery_flags = -1; /* DeliveryFlags */ -static int hf_x411_other_recipient_names = -1; /* OtherRecipientNames */ -static int hf_x411_this_recipient_name = -1; /* ThisRecipientName */ -static int hf_x411_originally_intended_recipient_name = -1; /* OriginallyIntendedRecipientName */ -static int hf_x411_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */ -static int hf_x411_actual_recipient_name = -1; /* ActualRecipientName */ -static int hf_x411_delivery_report_type = -1; /* ReportType */ -static int hf_x411_delivery = -1; /* DeliveryReport */ -static int hf_x411_non_delivery = -1; /* NonDeliveryReport */ -static int hf_x411_type_of_MTS_user = -1; /* TypeOfMTSUser */ -static int hf_x411_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */ -static int hf_x411_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */ -static int hf_x411_ContentTypes_item = -1; /* ContentType */ -static int hf_x411_built_in = -1; /* BuiltInContentType */ -static int hf_x411_extended = -1; /* ExtendedContentType */ -static int hf_x411_OtherRecipientNames_item = -1; /* OtherRecipientName */ -static int hf_x411_standard_extension = -1; /* StandardExtension */ -static int hf_x411_private_extension = -1; /* T_private_extension */ -static int hf_x411_extension_type = -1; /* ExtensionType */ -static int hf_x411_criticality = -1; /* Criticality */ -static int hf_x411_extension_value = -1; /* ExtensionValue */ -static int hf_x411_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */ -static int hf_x411_ia5text = -1; /* IA5String */ -static int hf_x411_octets = -1; /* OCTET_STRING */ -static int hf_x411_RedirectionHistory_item = -1; /* Redirection */ -static int hf_x411_intended_recipient_name = -1; /* IntendedRecipientName */ -static int hf_x411_redirection_reason = -1; /* RedirectionReason */ -static int hf_x411_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */ -static int hf_x411_redirection_time = -1; /* Time */ -static int hf_x411_DLExpansionHistory_item = -1; /* DLExpansion */ -static int hf_x411_dl = -1; /* ORAddressAndOptionalDirectoryName */ -static int hf_x411_dl_expansion_time = -1; /* Time */ -static int hf_x411_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */ -static int hf_x411_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */ -static int hf_x411_origination_or_expansion_time = -1; /* Time */ -static int hf_x411_report_type = -1; /* T_report_type */ -static int hf_x411_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */ -static int hf_x411_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */ -static int hf_x411_domain = -1; /* GlobalDomainIdentifier */ -static int hf_x411_mta_directory_name = -1; /* Name */ -static int hf_x411_ExtendedCertificates_item = -1; /* ExtendedCertificate */ -static int hf_x411_directory_entry = -1; /* Name */ -static int hf_x411_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */ -static int hf_x411_encryption_recipient = -1; /* CertificateAssertion */ -static int hf_x411_encryption_originator = -1; /* CertificateAssertion */ -static int hf_x411_selectors_content_integrity_check = -1; /* CertificateAssertion */ -static int hf_x411_token_signature = -1; /* CertificateAssertion */ -static int hf_x411_message_origin_authentication = -1; /* CertificateAssertion */ -static int hf_x411_local_identifier = -1; /* LocalIdentifier */ -static int hf_x411_numeric_private_domain_identifier = -1; /* T_numeric_private_domain_identifier */ -static int hf_x411_printable_private_domain_identifier = -1; /* T_printable_private_domain_identifier */ -static int hf_x411_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */ -static int hf_x411_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */ -static int hf_x411_extension_attributes = -1; /* ExtensionAttributes */ -static int hf_x411_network_address = -1; /* NetworkAddress */ -static int hf_x411_terminal_identifier = -1; /* TerminalIdentifier */ -static int hf_x411_private_domain_name = -1; /* PrivateDomainName */ -static int hf_x411_organization_name = -1; /* OrganizationName */ -static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */ -static int hf_x411_personal_name = -1; /* PersonalName */ -static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */ -static int hf_x411_x121_dcc_code = -1; /* T_x121_dcc_code */ -static int hf_x411_iso_3166_alpha2_code = -1; /* T_iso_3166_alpha2_code */ -static int hf_x411_numeric = -1; /* T_numeric */ -static int hf_x411_printable = -1; /* T_printable */ -static int hf_x411_numeric_private_domain_name = -1; /* T_numeric_private_domain_name */ -static int hf_x411_printable_private_domain_name = -1; /* T_printable_private_domain_name */ -static int hf_x411_printable_surname = -1; /* T_printable_surname */ -static int hf_x411_printable_given_name = -1; /* T_printable_given_name */ -static int hf_x411_printable_initials = -1; /* T_printable_initials */ -static int hf_x411_printable_generation_qualifier = -1; /* T_printable_generation_qualifier */ -static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */ -static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */ -static int hf_x411_printable_type = -1; /* T_printable_type */ -static int hf_x411_printable_value = -1; /* T_printable_value */ -static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */ -static int hf_x411_extension_attribute_type = -1; /* ExtensionAttributeType */ -static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */ -static int hf_x411_teletex_surname = -1; /* T_teletex_surname */ -static int hf_x411_teletex_given_name = -1; /* T_teletex_given_name */ -static int hf_x411_teletex_initials = -1; /* T_teletex_initials */ -static int hf_x411_teletex_generation_qualifier = -1; /* T_teletex_generation_qualifier */ -static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */ -static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */ -static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */ -static int hf_x411_universal_generation_qualifier = -1; /* UniversalOrBMPString */ -static int hf_x411_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */ -static int hf_x411_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */ -static int hf_x411_character_encoding = -1; /* T_character_encoding */ -static int hf_x411_two_octets = -1; /* BMPString_SIZE_1_ub_string_length */ -static int hf_x411_four_octets = -1; /* UniversalString_SIZE_1_ub_string_length */ -static int hf_x411_iso_639_language_code = -1; /* PrintableString_SIZE_CONSTR001 */ -static int hf_x411_x121_dcc_code_01 = -1; /* T_x121_dcc_code_01 */ -static int hf_x411_iso_3166_alpha2_code_01 = -1; /* T_iso_3166_alpha2_code_01 */ -static int hf_x411_numeric_code = -1; /* T_numeric_code */ -static int hf_x411_printable_code = -1; /* PrintableString_SIZE_1_ub_postal_code_length */ -static int hf_x411_printable_address = -1; /* T_printable_address */ -static int hf_x411_printable_address_item = -1; /* PrintableString_SIZE_1_ub_pds_parameter_length */ -static int hf_x411_teletex_string = -1; /* TeletexString_SIZE_1_ub_unformatted_address_length */ -static int hf_x411_printable_string = -1; /* PrintableString_SIZE_1_ub_pds_parameter_length */ -static int hf_x411_pds_teletex_string = -1; /* TeletexString_SIZE_1_ub_pds_parameter_length */ -static int hf_x411_e163_4_address = -1; /* T_e163_4_address */ -static int hf_x411_number = -1; /* NumericString_SIZE_1_ub_e163_4_number_length */ -static int hf_x411_sub_address = -1; /* NumericString_SIZE_1_ub_e163_4_sub_address_length */ -static int hf_x411_psap_address = -1; /* PresentationAddress */ -static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */ -static int hf_x411_type = -1; /* T_type */ -static int hf_x411_teletex_value = -1; /* T_teletex_value */ -static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */ -static int hf_x411_universal_type = -1; /* UniversalOrBMPString */ -static int hf_x411_universal_value = -1; /* UniversalOrBMPString */ -static int hf_x411_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */ -static int hf_x411_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */ -static int hf_x411_teletex = -1; /* TeletexNonBasicParameters */ -static int hf_x411_graphic_character_sets = -1; /* TeletexString */ -static int hf_x411_control_character_sets = -1; /* TeletexString */ -static int hf_x411_page_formats = -1; /* OCTET_STRING */ -static int hf_x411_miscellaneous_terminal_capabilities = -1; /* TeletexString */ -static int hf_x411_private_use = -1; /* OCTET_STRING */ -static int hf_x411_token_type_identifier = -1; /* TokenTypeIdentifier */ -static int hf_x411_token = -1; /* TokenTypeData */ -static int hf_x411_signature_algorithm_identifier = -1; /* AlgorithmIdentifier */ -static int hf_x411_name = -1; /* T_name */ -static int hf_x411_token_recipient_name = -1; /* RecipientName */ -static int hf_x411_token_mta = -1; /* MTANameAndOptionalGDI */ -static int hf_x411_time = -1; /* Time */ -static int hf_x411_signed_data = -1; /* TokenData */ -static int hf_x411_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */ -static int hf_x411_encrypted_data = -1; /* BIT_STRING */ -static int hf_x411_asymmetric_token_data = -1; /* AsymmetricTokenData */ -static int hf_x411_algorithm_identifier = -1; /* AlgorithmIdentifier */ -static int hf_x411_token_data_type = -1; /* TokenDataType */ -static int hf_x411_value = -1; /* T_value */ -static int hf_x411_content_confidentiality_algorithm_identifier = -1; /* ContentConfidentialityAlgorithmIdentifier */ -static int hf_x411_content_integrity_check = -1; /* ContentIntegrityCheck */ -static int hf_x411_message_security_label = -1; /* MessageSecurityLabel */ -static int hf_x411_proof_of_delivery_request = -1; /* ProofOfDeliveryRequest */ -static int hf_x411_message_sequence_number = -1; /* INTEGER */ -static int hf_x411_content_confidentiality_key = -1; /* EncryptionKey */ -static int hf_x411_content_integrity_key = -1; /* EncryptionKey */ -static int hf_x411_security_policy_identifier = -1; /* SecurityPolicyIdentifier */ -static int hf_x411_security_classification = -1; /* SecurityClassification */ -static int hf_x411_privacy_mark = -1; /* PrivacyMark */ -static int hf_x411_security_categories = -1; /* SecurityCategories */ -static int hf_x411_SecurityCategories_item = -1; /* SecurityCategory */ -static int hf_x411_category_type = -1; /* SecurityCategoryIdentifier */ -static int hf_x411_category_value = -1; /* CategoryValue */ -static int hf_x411_mta_originator_name = -1; /* MTAOriginatorName */ -static int hf_x411_per_recipient_message_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields */ -static int hf_x411_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */ -static int hf_x411_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields */ -static int hf_x411_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */ -static int hf_x411_per_recipient_report_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields */ -static int hf_x411_per_recipient_report_fields_item = -1; /* PerRecipientReportTransferFields */ -static int hf_x411_routing_action = -1; /* RoutingAction */ -static int hf_x411_attempted = -1; /* T_attempted */ -static int hf_x411_mta = -1; /* MTAName */ -static int hf_x411_attempted_domain = -1; /* GlobalDomainIdentifier */ -static int hf_x411_per_recipient_report_delivery_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields */ -static int hf_x411_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */ -static int hf_x411_mts_originator_name = -1; /* OriginatorName */ -static int hf_x411_per_recipient_message_submission_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields */ -static int hf_x411_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */ -static int hf_x411_per_recipient_probe_submission_fields = -1; /* SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields */ -static int hf_x411_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */ -static int hf_x411_directory_name = -1; /* Name */ -static int hf_x411_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */ -static int hf_x411_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */ -/* named bits */ -static int hf_x411_PerRecipientIndicators_responsibility = -1; -static int hf_x411_PerRecipientIndicators_originating_MTA_report = -1; -static int hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report = -1; -static int hf_x411_PerRecipientIndicators_originator_report = -1; -static int hf_x411_PerRecipientIndicators_originator_non_delivery_report = -1; -static int hf_x411_PerRecipientIndicators_reserved_5 = -1; -static int hf_x411_PerRecipientIndicators_reserved_6 = -1; -static int hf_x411_PerRecipientIndicators_reserved_7 = -1; -static int hf_x411_OtherActions_redirected = -1; -static int hf_x411_OtherActions_dl_operation = -1; -static int hf_x411_Operations_probe_submission_or_report_delivery = -1; -static int hf_x411_Operations_message_submission_or_message_delivery = -1; -static int hf_x411_WaitingMessages_long_content = -1; -static int hf_x411_WaitingMessages_low_priority = -1; -static int hf_x411_WaitingMessages_other_security_labels = -1; -static int hf_x411_T_source_type_originated_by = -1; -static int hf_x411_T_source_type_redirected_by = -1; -static int hf_x411_T_source_type_dl_expanded_by = -1; -static int hf_x411_T_standard_parameters_user_name = -1; -static int hf_x411_T_standard_parameters_user_address = -1; -static int hf_x411_T_standard_parameters_deliverable_class = -1; -static int hf_x411_T_standard_parameters_default_delivery_controls = -1; -static int hf_x411_T_standard_parameters_redirections = -1; -static int hf_x411_T_standard_parameters_restricted_delivery = -1; -static int hf_x411_PerMessageIndicators_U_disclosure_of_other_recipients = -1; -static int hf_x411_PerMessageIndicators_U_implicit_conversion_prohibited = -1; -static int hf_x411_PerMessageIndicators_U_alternate_recipient_allowed = -1; -static int hf_x411_PerMessageIndicators_U_content_return_request = -1; -static int hf_x411_PerMessageIndicators_U_reserved = -1; -static int hf_x411_PerMessageIndicators_U_bit_5 = -1; -static int hf_x411_PerMessageIndicators_U_bit_6 = -1; -static int hf_x411_PerMessageIndicators_U_service_message = -1; -static int hf_x411_OriginatorReportRequest_report = -1; -static int hf_x411_OriginatorReportRequest_non_delivery_report = -1; -static int hf_x411_DeliveryFlags_implicit_conversion_prohibited = -1; -static int hf_x411_Criticality_for_submission = -1; -static int hf_x411_Criticality_for_transfer = -1; -static int hf_x411_Criticality_for_delivery = -1; -static int hf_x411_PhysicalDeliveryModes_ordinary_mail = -1; -static int hf_x411_PhysicalDeliveryModes_special_delivery = -1; -static int hf_x411_PhysicalDeliveryModes_express_mail = -1; -static int hf_x411_PhysicalDeliveryModes_counter_collection = -1; -static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1; -static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1; -static int hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1; -static int hf_x411_PhysicalDeliveryModes_bureau_fax_delivery = -1; -static int hf_x411_BuiltInEncodedInformationTypes_unknown = -1; -static int hf_x411_BuiltInEncodedInformationTypes_ia5_text = -1; -static int hf_x411_BuiltInEncodedInformationTypes_g3_facsimile = -1; -static int hf_x411_BuiltInEncodedInformationTypes_g4_class_1 = -1; -static int hf_x411_BuiltInEncodedInformationTypes_teletex = -1; -static int hf_x411_BuiltInEncodedInformationTypes_videotex = -1; -static int hf_x411_BuiltInEncodedInformationTypes_voice = -1; -static int hf_x411_BuiltInEncodedInformationTypes_sfd = -1; -static int hf_x411_BuiltInEncodedInformationTypes_mixed_mode = -1; -static int hf_x411_G3FacsimileNonBasicParameters_two_dimensional = -1; -static int hf_x411_G3FacsimileNonBasicParameters_fine_resolution = -1; -static int hf_x411_G3FacsimileNonBasicParameters_unlimited_length = -1; -static int hf_x411_G3FacsimileNonBasicParameters_b4_length = -1; -static int hf_x411_G3FacsimileNonBasicParameters_a3_width = -1; -static int hf_x411_G3FacsimileNonBasicParameters_b4_width = -1; -static int hf_x411_G3FacsimileNonBasicParameters_t6_coding = -1; -static int hf_x411_G3FacsimileNonBasicParameters_uncompressed = -1; -static int hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1; -static int hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1; -static int hf_x411_G3FacsimileNonBasicParameters_resolution_type = -1; -static int hf_x411_G3FacsimileNonBasicParameters_resolution_400x400 = -1; -static int hf_x411_G3FacsimileNonBasicParameters_resolution_300x300 = -1; -static int hf_x411_G3FacsimileNonBasicParameters_resolution_8x15 = -1; -static int hf_x411_G3FacsimileNonBasicParameters_edi = -1; -static int hf_x411_G3FacsimileNonBasicParameters_dtm = -1; -static int hf_x411_G3FacsimileNonBasicParameters_bft = -1; -static int hf_x411_G3FacsimileNonBasicParameters_mixed_mode = -1; -static int hf_x411_G3FacsimileNonBasicParameters_character_mode = -1; -static int hf_x411_G3FacsimileNonBasicParameters_twelve_bits = -1; -static int hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann = -1; -static int hf_x411_G3FacsimileNonBasicParameters_full_colour = -1; -static int hf_x411_G3FacsimileNonBasicParameters_jpeg = -1; -static int hf_x411_G3FacsimileNonBasicParameters_processable_mode_26 = -1; - -/*--- End of included file: packet-x411-hf.c ---*/ -#line 82 "packet-x411-template.c" - -/* Initialize the subtree pointers */ -static gint ett_x411 = -1; -static gint ett_p3 = -1; -static gint ett_x411_content_unknown = -1; -static gint ett_x411_bilateral_information = -1; -static gint ett_x411_additional_information = -1; -static gint ett_x411_unknown_standard_extension = -1; -static gint ett_x411_unknown_extension_attribute_type = -1; -static gint ett_x411_unknown_tokendata_type = -1; - -/*--- Included file: packet-x411-ett.c ---*/ -#line 1 "packet-x411-ett.c" -static gint ett_x411_MTABindArgument = -1; -static gint ett_x411_AuthenticatedArgument = -1; -static gint ett_x411_MTABindResult = -1; -static gint ett_x411_AuthenticatedResult = -1; -static gint ett_x411_MTS_APDU = -1; -static gint ett_x411_Message = -1; -static gint ett_x411_Report = -1; -static gint ett_x411_MessageTransferEnvelope = -1; -static gint ett_x411_PerMessageTransferFields = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation = -1; -static gint ett_x411_SET_OF_ExtensionField = -1; -static gint ett_x411_PerRecipientMessageTransferFields = -1; -static gint ett_x411_ProbeTransferEnvelope = -1; -static gint ett_x411_PerProbeTransferFields = -1; -static gint ett_x411_PerRecipientProbeTransferFields = -1; -static gint ett_x411_ReportTransferEnvelope = -1; -static gint ett_x411_ReportTransferContent = -1; -static gint ett_x411_PerReportTransferFields = -1; -static gint ett_x411_PerRecipientReportTransferFields = -1; -static gint ett_x411_PerDomainBilateralInformation = -1; -static gint ett_x411_T_bilateral_domain = -1; -static gint ett_x411_T_private_domain = -1; -static gint ett_x411_PerRecipientIndicators = -1; -static gint ett_x411_LastTraceInformation = -1; -static gint ett_x411_InternalTraceInformation = -1; -static gint ett_x411_InternalTraceInformationElement = -1; -static gint ett_x411_MTASuppliedInformation = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement = -1; -static gint ett_x411_TraceInformationElement = -1; -static gint ett_x411_DomainSuppliedInformation = -1; -static gint ett_x411_AdditionalActions = -1; -static gint ett_x411_OtherActions = -1; -static gint ett_x411_MTSBindArgument = -1; -static gint ett_x411_MTSBindResult = -1; -static gint ett_x411_ObjectName = -1; -static gint ett_x411_MessagesWaiting = -1; -static gint ett_x411_DeliveryQueue = -1; -static gint ett_x411_Credentials = -1; -static gint ett_x411_Password = -1; -static gint ett_x411_StrongCredentials = -1; -static gint ett_x411_ProtectedPassword = -1; -static gint ett_x411_Signature = -1; -static gint ett_x411_SecurityContext = -1; -static gint ett_x411_MessageSubmissionArgument = -1; -static gint ett_x411_MessageSubmissionResult = -1; -static gint ett_x411_ProbeSubmissionResult = -1; -static gint ett_x411_ImproperlySpecifiedRecipients = -1; -static gint ett_x411_Waiting = -1; -static gint ett_x411_SET_SIZE_0_ub_content_types_OF_ContentType = -1; -static gint ett_x411_Operations = -1; -static gint ett_x411_WaitingMessages = -1; -static gint ett_x411_MessageDeliveryArgument = -1; -static gint ett_x411_MessageDeliveryResult = -1; -static gint ett_x411_ReportDeliveryArgument = -1; -static gint ett_x411_ReportDeliveryResult = -1; -static gint ett_x411_SET_SIZE_1_MAX_OF_ExtensionField = -1; -static gint ett_x411_DeliveryControlArgument = -1; -static gint ett_x411_DeliveryControlResult = -1; -static gint ett_x411_RefusedOperation = -1; -static gint ett_x411_T_refused_argument = -1; -static gint ett_x411_Controls = -1; -static gint ett_x411_RegisterArgument = -1; -static gint ett_x411_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass = -1; -static gint ett_x411_RegisterResult = -1; -static gint ett_x411_T_non_empty_result = -1; -static gint ett_x411_ChangeCredentialsArgument = -1; -static gint ett_x411_UserAddress = -1; -static gint ett_x411_T_x121 = -1; -static gint ett_x411_Redirections = -1; -static gint ett_x411_RecipientRedirection = -1; -static gint ett_x411_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass = -1; -static gint ett_x411_MessageClass = -1; -static gint ett_x411_SET_OF_Priority = -1; -static gint ett_x411_SEQUENCE_OF_Restriction = -1; -static gint ett_x411_EncodedInformationTypesConstraints = -1; -static gint ett_x411_RestrictedDelivery = -1; -static gint ett_x411_Restriction = -1; -static gint ett_x411_T_source_type = -1; -static gint ett_x411_ExactOrPattern = -1; -static gint ett_x411_RegistrationTypes = -1; -static gint ett_x411_T_standard_parameters = -1; -static gint ett_x411_T_type_extensions = -1; -static gint ett_x411_MessageSubmissionEnvelope = -1; -static gint ett_x411_PerMessageSubmissionFields = -1; -static gint ett_x411_PerRecipientMessageSubmissionFields = -1; -static gint ett_x411_ProbeSubmissionEnvelope = -1; -static gint ett_x411_PerProbeSubmissionFields = -1; -static gint ett_x411_PerRecipientProbeSubmissionFields = -1; -static gint ett_x411_MessageDeliveryEnvelope = -1; -static gint ett_x411_OtherMessageDeliveryFields = -1; -static gint ett_x411_ReportDeliveryEnvelope = -1; -static gint ett_x411_PerReportDeliveryFields = -1; -static gint ett_x411_PerRecipientReportDeliveryFields = -1; -static gint ett_x411_ReportType = -1; -static gint ett_x411_DeliveryReport = -1; -static gint ett_x411_NonDeliveryReport = -1; -static gint ett_x411_ContentTypes = -1; -static gint ett_x411_ContentType = -1; -static gint ett_x411_DeliveredContentType = -1; -static gint ett_x411_PerMessageIndicators_U = -1; -static gint ett_x411_OriginatorReportRequest = -1; -static gint ett_x411_DeliveryFlags = -1; -static gint ett_x411_OtherRecipientNames = -1; -static gint ett_x411_ExtensionType = -1; -static gint ett_x411_Criticality = -1; -static gint ett_x411_ExtensionField = -1; -static gint ett_x411_RequestedDeliveryMethod = -1; -static gint ett_x411_PhysicalDeliveryModes = -1; -static gint ett_x411_ContentCorrelator = -1; -static gint ett_x411_RedirectionHistory = -1; -static gint ett_x411_Redirection = -1; -static gint ett_x411_IntendedRecipientName = -1; -static gint ett_x411_DLExpansionHistory = -1; -static gint ett_x411_DLExpansion = -1; -static gint ett_x411_OriginatorAndDLExpansionHistory = -1; -static gint ett_x411_OriginatorAndDLExpansion = -1; -static gint ett_x411_PerRecipientReportFields = -1; -static gint ett_x411_T_report_type = -1; -static gint ett_x411_PerRecipientDeliveryReportFields = -1; -static gint ett_x411_PerRecipientNonDeliveryReportFields = -1; -static gint ett_x411_ReportingMTAName = -1; -static gint ett_x411_ExtendedCertificates = -1; -static gint ett_x411_ExtendedCertificate = -1; -static gint ett_x411_DLExemptedRecipients = -1; -static gint ett_x411_CertificateSelectors = -1; -static gint ett_x411_MTSIdentifier_U = -1; -static gint ett_x411_GlobalDomainIdentifier_U = -1; -static gint ett_x411_PrivateDomainIdentifier = -1; -static gint ett_x411_ORName_U = -1; -static gint ett_x411_ORAddress = -1; -static gint ett_x411_BuiltInStandardAttributes = -1; -static gint ett_x411_CountryName_U = -1; -static gint ett_x411_AdministrationDomainName_U = -1; -static gint ett_x411_PrivateDomainName = -1; -static gint ett_x411_PersonalName = -1; -static gint ett_x411_OrganizationalUnitNames = -1; -static gint ett_x411_BuiltInDomainDefinedAttributes = -1; -static gint ett_x411_BuiltInDomainDefinedAttribute = -1; -static gint ett_x411_ExtensionAttributes = -1; -static gint ett_x411_ExtensionAttribute = -1; -static gint ett_x411_TeletexPersonalName = -1; -static gint ett_x411_UniversalPersonalName = -1; -static gint ett_x411_TeletexOrganizationalUnitNames = -1; -static gint ett_x411_UniversalOrganizationalUnitNames = -1; -static gint ett_x411_UniversalOrBMPString = -1; -static gint ett_x411_T_character_encoding = -1; -static gint ett_x411_PhysicalDeliveryCountryName = -1; -static gint ett_x411_PostalCode = -1; -static gint ett_x411_UnformattedPostalAddress = -1; -static gint ett_x411_T_printable_address = -1; -static gint ett_x411_PDSParameter = -1; -static gint ett_x411_ExtendedNetworkAddress = -1; -static gint ett_x411_T_e163_4_address = -1; -static gint ett_x411_TeletexDomainDefinedAttributes = -1; -static gint ett_x411_TeletexDomainDefinedAttribute = -1; -static gint ett_x411_UniversalDomainDefinedAttributes = -1; -static gint ett_x411_UniversalDomainDefinedAttribute = -1; -static gint ett_x411_EncodedInformationTypes_U = -1; -static gint ett_x411_BuiltInEncodedInformationTypes = -1; -static gint ett_x411_ExtendedEncodedInformationTypes = -1; -static gint ett_x411_NonBasicParameters = -1; -static gint ett_x411_G3FacsimileNonBasicParameters = -1; -static gint ett_x411_TeletexNonBasicParameters = -1; -static gint ett_x411_Token = -1; -static gint ett_x411_AsymmetricTokenData = -1; -static gint ett_x411_T_name = -1; -static gint ett_x411_MTANameAndOptionalGDI = -1; -static gint ett_x411_AsymmetricToken = -1; -static gint ett_x411_TokenData = -1; -static gint ett_x411_MessageTokenSignedData = -1; -static gint ett_x411_MessageTokenEncryptedData = -1; -static gint ett_x411_SecurityLabel = -1; -static gint ett_x411_SecurityCategories = -1; -static gint ett_x411_SecurityCategory = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields = -1; -static gint ett_x411_T_attempted = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields = -1; -static gint ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields = -1; - -/*--- End of included file: packet-x411-ett.c ---*/ -#line 93 "packet-x411-template.c" - -/* Dissector tables */ -static dissector_table_t x411_extension_dissector_table; -static dissector_table_t x411_extension_attribute_dissector_table; -static dissector_table_t x411_tokendata_dissector_table; - - -/*--- Included file: packet-x411-table.c ---*/ -#line 1 "packet-x411-table.c" - -/* P3 ABSTRACT-OPERATIONS */ -const value_string p3_opr_code_string_vals[] = { - { op_ros_bind, "mts_bind" }, - { op_message_submission, "message_submission" }, - { op_probe_submission, "probe_submission" }, - { op_cancel_deferred_delivery, "cancel_deferred_delivery" }, - { op_submission_control, "submission_control" }, - { op_message_delivery, "message_delivery" }, - { op_report_delivery, "report_delivery" }, - { op_delivery_control, "delivery_control" }, - { op_register, "register" }, - { op_change_credentials, "change_credentials" }, - { 0, NULL } -}; - - -/* P3 ERRORS */ -static const value_string p3_err_code_string_vals[] = { - { err_ros_bind, "mts_bind_error" }, - { err_submission_control_violated, "submission_control_violated" }, - { err_element_of_service_not_subscribed, "element_of_service_not_subscribed" }, - { err_deferred_delivery_cancellation_rejected, "deferred_delivery_cancellation_rejected" }, - { err_originator_invalid, "originator_invalid" }, - { err_recipient_improperly_specified, "recipient_improperly_specified" }, - { err_message_submission_identifier_invalid, "message_submission_identifier_invalid" }, - { err_inconsistent_request, "inconsistent_request" }, - { err_security_error, "security_error" }, - { err_unsupported_critical_function, "unsupported_critical_function" }, - { err_remote_bind_error, "remote_bind_error" }, - { err_delivery_control_violated, "delivery_control_violated" }, - { err_control_violates_registration, "control_violates_registration" }, - { err_operation_refused, "operation_refused" }, - { err_register_rejected, "register_rejected" }, - { err_new_credentials_unacceptable, "new_credentials_unacceptable" }, - { err_old_credentials_incorrectly_specified, "old_credentials_incorrectly_specified" }, - { 0, NULL } -}; - - -/*--- End of included file: packet-x411-table.c ---*/ -#line 100 "packet-x411-template.c" - - -/*--- Included file: packet-x411-fn.c ---*/ -#line 1 "packet-x411-fn.c" - - -static int -dissect_x411_NULL(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_MTAName(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 679 "x411.cnf" - tvbuff_t *mtaname = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, - actx, tree, tvb, offset, - 1, ub_mta_name_length, hf_index, &mtaname); - - - if(doing_address) { - - proto_item_append_text(address_item, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname))); - - } else { - - if (check_col(actx->pinfo->cinfo, COL_INFO) && mtaname) { - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname))); - } - - } - - - - return offset; -} - - - -static int -dissect_x411_IA5String_SIZE_0_ub_password_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, - actx, tree, tvb, offset, - 0, ub_password_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_OCTET_STRING_SIZE_0_ub_password_length(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_constrained_octet_string(implicit_tag, actx, tree, tvb, offset, - 0, ub_password_length, hf_index, NULL); - - return offset; -} - - -static const value_string x411_Password_vals[] = { - { 0, "ia5-string" }, - { 1, "octet-string" }, - { 0, NULL } -}; - -static const ber_choice_t Password_choice[] = { - { 0, &hf_x411_ia5_string , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_IA5String_SIZE_0_ub_password_length }, - { 1, &hf_x411_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_OCTET_STRING_SIZE_0_ub_password_length }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Password(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, - Password_choice, hf_index, ett_x411_Password, - NULL); - - return offset; -} - - - -static int -dissect_x411_TokenTypeIdentifier(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, tree, tvb, offset, hf_index, &object_identifier_id); - - return offset; -} - - - -static int -dissect_x411_TokenTypeData(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 1213 "x411.cnf" - - if(object_identifier_id) - call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); - - - - return offset; -} - - -static const ber_sequence_t Token_sequence[] = { - { &hf_x411_token_type_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_TokenTypeIdentifier }, - { &hf_x411_token , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_TokenTypeData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Token(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, - Token_sequence, hf_index, ett_x411_Token); - - return offset; -} - - -static const ber_sequence_t StrongCredentials_set[] = { - { &hf_x411_bind_token , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Token }, - { &hf_x411_certificate , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates }, - { &hf_x411_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_StrongCredentials(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, - StrongCredentials_set, hf_index, ett_x411_StrongCredentials); - - return offset; -} - - - -static int -dissect_x411_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, tree, tvb, offset, - NULL, hf_index, -1, - NULL); - - return offset; -} - - -static const ber_sequence_t Signature_sequence[] = { - { &hf_x411_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x411_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_BIT_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Signature(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, - Signature_sequence, hf_index, ett_x411_Signature); - - return offset; -} - - - -static int -dissect_x411_UTCTime(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_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - -static const ber_sequence_t ProtectedPassword_set[] = { - { &hf_x411_signature , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_Signature }, - { &hf_x411_time1 , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UTCTime }, - { &hf_x411_time2 , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UTCTime }, - { &hf_x411_random1 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BIT_STRING }, - { &hf_x411_random2 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BIT_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ProtectedPassword(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, - ProtectedPassword_set, hf_index, ett_x411_ProtectedPassword); - - return offset; -} - - -const value_string x411_Credentials_vals[] = { - { 0, "simple" }, - { 1, "strong" }, - { 2, "protected" }, - { 0, NULL } -}; - -static const ber_choice_t Credentials_choice[] = { - { 0, &hf_x411_simple , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_Password }, - { 1, &hf_x411_strong , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_StrongCredentials }, - { 2, &hf_x411_protected , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_ProtectedPassword }, - { 0, NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_Credentials(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 1221 "x411.cnf" - gint credentials = -1; - - offset = dissect_ber_choice(actx, tree, tvb, offset, - Credentials_choice, hf_index, ett_x411_Credentials, - &credentials); - - - if( (credentials!=-1) && x411_Credentials_vals[credentials].strptr ){ - if (check_col(actx->pinfo->cinfo, COL_INFO)) { - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x411_Credentials_vals[credentials].strptr); - } - } - - - - return offset; -} - - - -int -dissect_x411_InitiatorCredentials(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_x411_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_SecurityPolicyIdentifier(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, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - -static const value_string x411_SecurityClassification_vals[] = { - { 0, "unmarked" }, - { 1, "unclassified" }, - { 2, "restricted" }, - { 3, "confidential" }, - { 4, "secret" }, - { 5, "top-secret" }, - { 0, NULL } -}; - - -static int -dissect_x411_SecurityClassification(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_PrivacyMark(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_privacy_mark_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_SecurityCategoryIdentifier(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, tree, tvb, offset, hf_index, &object_identifier_id); - - return offset; -} - - - -static int -dissect_x411_SecurityCategoryValue(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 561 "x411.cnf" - const char *name; - - if (object_identifier_id) { - offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); - name = oid_resolved_from_string(object_identifier_id); - proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id); - } else { - offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); - } - - - - return offset; -} - - - -static int -dissect_x411_CategoryValue(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_x411_SecurityCategoryValue(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t SecurityCategory_sequence[] = { - { &hf_x411_category_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SecurityCategoryIdentifier }, - { &hf_x411_category_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_CategoryValue }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_SecurityCategory(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, - SecurityCategory_sequence, hf_index, ett_x411_SecurityCategory); - - return offset; -} - - -static const ber_sequence_t SecurityCategories_set_of[1] = { - { &hf_x411_SecurityCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_SecurityCategory }, -}; - -static int -dissect_x411_SecurityCategories(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_security_categories, SecurityCategories_set_of, hf_index, ett_x411_SecurityCategories); - - return offset; -} - - -static const ber_sequence_t SecurityLabel_set[] = { - { &hf_x411_security_policy_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SecurityPolicyIdentifier }, - { &hf_x411_security_classification, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SecurityClassification }, - { &hf_x411_privacy_mark , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrivacyMark }, - { &hf_x411_security_categories, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SecurityCategories }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_SecurityLabel(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, - SecurityLabel_set, hf_index, ett_x411_SecurityLabel); - - return offset; -} - - -static const ber_sequence_t SecurityContext_set_of[1] = { - { &hf_x411_SecurityContext_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_SecurityLabel }, -}; - -int -dissect_x411_SecurityContext(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_security_labels, SecurityContext_set_of, hf_index, ett_x411_SecurityContext); - - return offset; -} - - -static const ber_sequence_t AuthenticatedArgument_set[] = { - { &hf_x411_authenticated_initiator_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAName }, - { &hf_x411_initiator_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_InitiatorCredentials }, - { &hf_x411_security_context, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_AuthenticatedArgument(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, - AuthenticatedArgument_set, hf_index, ett_x411_AuthenticatedArgument); - - return offset; -} - - -static const value_string x411_MTABindArgument_vals[] = { - { 0, "unauthenticated" }, - { 1, "authenticated" }, - { 0, NULL } -}; - -static const ber_choice_t MTABindArgument_choice[] = { - { 0, &hf_x411_unauthenticated, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL }, - { 1, &hf_x411_authenticated_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_AuthenticatedArgument }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTABindArgument(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, - MTABindArgument_choice, hf_index, ett_x411_MTABindArgument, - NULL); - - return offset; -} - - - -int -dissect_x411_ResponderCredentials(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_x411_Credentials(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t AuthenticatedResult_set[] = { - { &hf_x411_authenticated_responder_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAName }, - { &hf_x411_responder_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ResponderCredentials }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_AuthenticatedResult(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, - AuthenticatedResult_set, hf_index, ett_x411_AuthenticatedResult); - - return offset; -} - - -static const value_string x411_MTABindResult_vals[] = { - { 0, "unauthenticated" }, - { 1, "authenticated" }, - { 0, NULL } -}; - -static const ber_choice_t MTABindResult_choice[] = { - { 0, &hf_x411_unauthenticated, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL }, - { 1, &hf_x411_authenticated_result, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_AuthenticatedResult }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTABindResult(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, - MTABindResult_choice, hf_index, ett_x411_MTABindResult, - NULL); - - return offset; -} - - -static const value_string x411_MTABindError_vals[] = { - { 0, "busy" }, - { 2, "authentication-error" }, - { 3, "unacceptable-dialogue-mode" }, - { 4, "unacceptable-security-context" }, - { 5, "inadequate-association-confidentiality" }, - { 0, NULL } -}; - - -static int -dissect_x411_MTABindError(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 1204 "x411.cnf" - int error = -1; - offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, &error); - - if((error != -1) && check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", val_to_str(error, x411_MTABindError_vals, "error(%d)")); - - - - return offset; -} - - - -static int -dissect_x411_T_x121_dcc_code(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 863 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - ub_country_name_numeric_length, ub_country_name_numeric_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - - -static int -dissect_x411_T_iso_3166_alpha2_code(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 815 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - ub_country_name_alpha_length, ub_country_name_alpha_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - -static const value_string x411_CountryName_U_vals[] = { - { 0, "x121-dcc-code" }, - { 1, "iso-3166-alpha2-code" }, - { 0, NULL } -}; - -static const ber_choice_t CountryName_U_choice[] = { - { 0, &hf_x411_x121_dcc_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_T_x121_dcc_code }, - { 1, &hf_x411_iso_3166_alpha2_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_iso_3166_alpha2_code }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_CountryName_U(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, - CountryName_U_choice, hf_index, ett_x411_CountryName_U, - NULL); - - return offset; -} - - - -static int -dissect_x411_CountryName(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 595 "x411.cnf" - if(doing_address) - g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN); - - offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 1, TRUE, dissect_x411_CountryName_U); - - - - - - return offset; -} - - - -static int -dissect_x411_T_numeric(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 871 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 0, ub_domain_name_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - - -static int -dissect_x411_T_printable(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 823 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 0, ub_domain_name_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - -static const value_string x411_AdministrationDomainName_U_vals[] = { - { 0, "numeric" }, - { 1, "printable" }, - { 0, NULL } -}; - -static const ber_choice_t AdministrationDomainName_U_choice[] = { - { 0, &hf_x411_numeric , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_T_numeric }, - { 1, &hf_x411_printable , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_AdministrationDomainName_U(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, - AdministrationDomainName_U_choice, hf_index, ett_x411_AdministrationDomainName_U, - NULL); - - return offset; -} - - - -static int -dissect_x411_AdministrationDomainName(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 602 "x411.cnf" - if(doing_address) - g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN); - - offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 2, TRUE, dissect_x411_AdministrationDomainName_U); - - - - - - return offset; -} - - - -static int -dissect_x411_T_numeric_private_domain_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 887 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_domain_name_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - - -static int -dissect_x411_T_printable_private_domain_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 839 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_domain_name_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - -static const value_string x411_PrivateDomainIdentifier_vals[] = { - { 0, "numeric" }, - { 1, "printable" }, - { 0, NULL } -}; - -static const ber_choice_t PrivateDomainIdentifier_choice[] = { - { 0, &hf_x411_numeric_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_T_numeric_private_domain_identifier }, - { 1, &hf_x411_printable_private_domain_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_private_domain_identifier }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PrivateDomainIdentifier(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 730 "x411.cnf" - - if(doing_address) - g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); - - offset = dissect_ber_choice(actx, tree, tvb, offset, - PrivateDomainIdentifier_choice, hf_index, ett_x411_PrivateDomainIdentifier, - NULL); - - - - - return offset; -} - - -static const ber_sequence_t GlobalDomainIdentifier_U_sequence[] = { - { &hf_x411_country_name , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_x411_CountryName }, - { &hf_x411_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_x411_AdministrationDomainName }, - { &hf_x411_private_domain_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_PrivateDomainIdentifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_GlobalDomainIdentifier_U(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, - GlobalDomainIdentifier_U_sequence, hf_index, ett_x411_GlobalDomainIdentifier_U); - - return offset; -} - - - -static int -dissect_x411_GlobalDomainIdentifier(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 1084 "x411.cnf" - - oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; - address_item = tree; - - offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 3, TRUE, dissect_x411_GlobalDomainIdentifier_U); - - - if(*oraddress) { - proto_item_append_text(address_item, " (%s/", oraddress); - - if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) { - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s/", oraddress); - } - } - - - - - return offset; -} - - - -static int -dissect_x411_LocalIdentifier(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 1103 "x411.cnf" - tvbuff_t *id = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, - actx, tree, tvb, offset, - 1, ub_local_id_length, hf_index, &id); - - - if(id) { - if(doing_address) - proto_item_append_text(address_item, " $ %s)", tvb_format_text(id, 0, tvb_length(id))); - - if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %s)", tvb_format_text(id, 0, tvb_length(id))); - } - - - - return offset; -} - - -static const ber_sequence_t MTSIdentifier_U_sequence[] = { - { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { &hf_x411_local_identifier, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_LocalIdentifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTSIdentifier_U(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, - MTSIdentifier_U_sequence, hf_index, ett_x411_MTSIdentifier_U); - - return offset; -} - - - -static int -dissect_x411_MTSIdentifier(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 1116 "x411.cnf" - - doing_address = TRUE; - - if(hf_index == hf_x411_subject_identifier) - doing_subjectid = TRUE; - - offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 4, TRUE, dissect_x411_MTSIdentifier_U); - - - doing_address = FALSE; - - if(hf_index == hf_x411_subject_identifier) - doing_subjectid = FALSE; - - - - - return offset; -} - - - -static int -dissect_x411_MessageIdentifier(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 1078 "x411.cnf" - - address_item = NULL; - - offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - - - - return offset; -} - - - -static int -dissect_x411_X121Address(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 699 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_x121_address_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - - return offset; -} - - - -static int -dissect_x411_NetworkAddress(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_x411_X121Address(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_TerminalIdentifier(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 713 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_terminal_id_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_numeric_private_domain_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_) { -#line 879 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_domain_name_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - - -static int -dissect_x411_T_printable_private_domain_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_) { -#line 831 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_domain_name_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - -static const value_string x411_PrivateDomainName_vals[] = { - { 0, "numeric" }, - { 1, "printable" }, - { 0, NULL } -}; - -static const ber_choice_t PrivateDomainName_choice[] = { - { 0, &hf_x411_numeric_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_T_numeric_private_domain_name }, - { 1, &hf_x411_printable_private_domain_name, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_private_domain_name }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PrivateDomainName(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 723 "x411.cnf" - - if(doing_address) - g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); - - offset = dissect_ber_choice(actx, tree, tvb, offset, - PrivateDomainName_choice, hf_index, ett_x411_PrivateDomainName, - NULL); - - - - - return offset; -} - - - -static int -dissect_x411_OrganizationName(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 740 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_organization_name_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_NumericUserIdentifier(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_numeric_user_id_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_T_printable_surname(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 943 "x411.cnf" - tvbuff_t *pstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_surname_length, hf_index, &pstring); - - - if(doing_address && pstring) { - g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_printable_given_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_) { -#line 953 "x411.cnf" - tvbuff_t *pstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_given_name_length, hf_index, &pstring); - - - if(doing_address && pstring) { - g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_printable_initials(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 963 "x411.cnf" - tvbuff_t *pstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_initials_length, hf_index, &pstring); - - - if(doing_address && pstring) { - g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_printable_generation_qualifier(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 973 "x411.cnf" - tvbuff_t *pstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_generation_qualifier_length, hf_index, &pstring); - - - if(doing_address && pstring) { - g_strlcat(oraddress, "/Q=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - -static const ber_sequence_t PersonalName_set[] = { - { &hf_x411_printable_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_T_printable_surname }, - { &hf_x411_printable_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_printable_given_name }, - { &hf_x411_printable_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_printable_initials }, - { &hf_x411_printable_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_printable_generation_qualifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PersonalName(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, - PersonalName_set, hf_index, ett_x411_PersonalName); - - return offset; -} - - - -static int -dissect_x411_OrganizationalUnitName(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 766 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_organizational_unit_name_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - -static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = { - { &hf_x411_OrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_OrganizationalUnitName }, -}; - -static int -dissect_x411_OrganizationalUnitNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_organizational_units, OrganizationalUnitNames_sequence_of, hf_index, ett_x411_OrganizationalUnitNames); - - return offset; -} - - -static const ber_sequence_t BuiltInStandardAttributes_sequence[] = { - { &hf_x411_country_name , BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_CountryName }, - { &hf_x411_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_AdministrationDomainName }, - { &hf_x411_network_address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NetworkAddress }, - { &hf_x411_terminal_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TerminalIdentifier }, - { &hf_x411_private_domain_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_PrivateDomainName }, - { &hf_x411_organization_name, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OrganizationName }, - { &hf_x411_numeric_user_identifier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NumericUserIdentifier }, - { &hf_x411_personal_name , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_PersonalName }, - { &hf_x411_organizational_unit_names, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OrganizationalUnitNames }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_BuiltInStandardAttributes(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 1140 "x411.cnf" - - address_item = tree; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - BuiltInStandardAttributes_sequence, hf_index, ett_x411_BuiltInStandardAttributes); - - - - - return offset; -} - - - -static int -dissect_x411_T_printable_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 1023 "x411.cnf" - tvbuff_t *pstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_domain_defined_attribute_type_length, hf_index, &pstring); - - - if(doing_address && pstring) { - g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - g_strlcat(ddatype, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_printable_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_) { -#line 1034 "x411.cnf" - tvbuff_t *pstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_domain_defined_attribute_value_length, hf_index, &pstring); - - - if(doing_address && pstring) { - g_strlcat(oraddress, "=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN); - if (*ddatype) { - proto_item_append_text (tree, " (%s=%s)", ddatype, tvb_format_text(pstring, 0, tvb_length(pstring))); - } - } - - - - return offset; -} - - -static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = { - { &hf_x411_printable_type , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_type }, - { &hf_x411_printable_value, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_value }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_BuiltInDomainDefinedAttribute(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 1047 "x411.cnf" - ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0'; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - BuiltInDomainDefinedAttribute_sequence, hf_index, ett_x411_BuiltInDomainDefinedAttribute); - - - - - return offset; -} - - -static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = { - { &hf_x411_BuiltInDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInDomainDefinedAttribute }, -}; - -static int -dissect_x411_BuiltInDomainDefinedAttributes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_domain_defined_attributes, BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_x411_BuiltInDomainDefinedAttributes); - - return offset; -} - - -static const value_string x411_ExtensionAttributeType_vals[] = { - { 1, "common-name" }, - { 2, "teletex-common-name" }, - { 3, "teletex-organization-name" }, - { 4, "teletex-personal-name" }, - { 5, "teletex-organizational-unit-names" }, - { 6, "teletex-domain-defined-attributes" }, - { 7, "pds-name" }, - { 8, "physical-delivery-country-name" }, - { 9, "postal-code" }, - { 10, "physical-delivery-office-name" }, - { 11, "physical-delivery-office-number" }, - { 12, "extension-OR-address-components" }, - { 13, "physical-delivery-personal-name" }, - { 14, "physical-delivery-organization-name" }, - { 15, "extension-physical-delivery-address-components" }, - { 16, "unformatted-postal-address" }, - { 17, "street-address" }, - { 18, "post-office-box-address" }, - { 19, "poste-restante-address" }, - { 20, "unique-postal-name" }, - { 21, "local-postal-attributes" }, - { 22, "extended-network-address" }, - { 23, "terminal-type" }, - { 24, "universal-common-name" }, - { 25, "universal-organization-name" }, - { 26, "universal-personal-name" }, - { 27, "universal-organizational-unit-names" }, - { 28, "universal-domain-defined-attributes" }, - { 29, "universal-physical-delivery-office-name" }, - { 30, "universal-physical-delivery-office-number" }, - { 31, "universal-extension-OR-address-components" }, - { 32, "universal-physical-delivery-personal-name" }, - { 33, "universal-physical-delivery-organization-name" }, - { 34, "universal-extension-physical-delivery-address-components" }, - { 35, "universal-unformatted-postal-address" }, - { 36, "universal-street-address" }, - { 37, "universal-post-office-box-address" }, - { 38, "universal-poste-restante-address" }, - { 39, "universal-unique-postal-name" }, - { 40, "universal-local-postal-attributes" }, - { 0, NULL } -}; - - -static int -dissect_x411_ExtensionAttributeType(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, tree, tvb, offset, hf_index, - &extension_id); - - return offset; -} - - - -static int -dissect_x411_T_extension_attribute_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_) { -#line 575 "x411.cnf" - - proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_ExtensionAttributeType_vals, "extension-attribute-type %d")); - if (dissector_try_uint(x411_extension_attribute_dissector_table, extension_id, tvb, actx->pinfo, tree)) { - offset =tvb_length(tvb); - } else { - proto_item *item = NULL; - proto_tree *next_tree = NULL; - - item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), - "Dissector for extension-attribute-type %d not implemented. Contact Wireshark developers if you want this supported", extension_id); - next_tree = proto_item_add_subtree(item, ett_x411_unknown_extension_attribute_type); - offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree); - expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown extension-attribute-type"); - } - - - - - return offset; -} - - -static const ber_sequence_t ExtensionAttribute_sequence[] = { - { &hf_x411_extension_attribute_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ExtensionAttributeType }, - { &hf_x411_extension_attribute_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_T_extension_attribute_value }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ExtensionAttribute(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, - ExtensionAttribute_sequence, hf_index, ett_x411_ExtensionAttribute); - - return offset; -} - - -static const ber_sequence_t ExtensionAttributes_set_of[1] = { - { &hf_x411_ExtensionAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionAttribute }, -}; - -static int -dissect_x411_ExtensionAttributes(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_extension_attributes, ExtensionAttributes_set_of, hf_index, ett_x411_ExtensionAttributes); - - return offset; -} - - -static const ber_sequence_t ORName_U_sequence[] = { - { &hf_x411_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInStandardAttributes }, - { &hf_x411_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInDomainDefinedAttributes }, - { &hf_x411_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionAttributes }, - { &hf_x411_directory_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ORName_U(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, - ORName_U_sequence, hf_index, ett_x411_ORName_U); - - return offset; -} - - - -int -dissect_x411_ORName(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 1065 "x411.cnf" - - oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; - address_item = NULL; - doing_address = TRUE; - - offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 0, TRUE, dissect_x411_ORName_U); - - - if(*oraddress && address_item) - proto_item_append_text(address_item, " (%s/)", oraddress); - - doing_address = FALSE; - - - - return offset; -} - - - -static int -dissect_x411_ORAddressAndOptionalDirectoryName(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_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_MTAOriginatorName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = { - { 0, &hf_x411_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL }, - { 2, &hf_x411_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL }, - { 3, &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL }, - { 4, &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL }, - { 5, &hf_x411_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL }, - { 6, &hf_x411_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL }, - { 7, &hf_x411_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL }, - { 8, &hf_x411_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL }, - { 9, &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_BuiltInEncodedInformationTypes(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_built_in_encoded_information_types, BuiltInEncodedInformationTypes_bits, hf_index, ett_x411_BuiltInEncodedInformationTypes, - NULL); - - return offset; -} - - -static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = { - { 8, &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL }, - { 9, &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL }, - { 20, &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL }, - { 21, &hf_x411_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL }, - { 22, &hf_x411_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL }, - { 23, &hf_x411_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL }, - { 25, &hf_x411_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL }, - { 30, &hf_x411_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL }, - { 37, &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL }, - { 38, &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL }, - { 44, &hf_x411_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL }, - { 45, &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL }, - { 46, &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL }, - { 47, &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL }, - { 49, &hf_x411_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL }, - { 50, &hf_x411_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL }, - { 51, &hf_x411_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL }, - { 58, &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL }, - { 60, &hf_x411_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL }, - { 65, &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL }, - { 66, &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL }, - { 67, &hf_x411_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL }, - { 68, &hf_x411_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL }, - { 71, &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -int -dissect_x411_G3FacsimileNonBasicParameters(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, tree, tvb, offset, - G3FacsimileNonBasicParameters_bits, hf_index, ett_x411_G3FacsimileNonBasicParameters, - NULL); - - return offset; -} - - - -static int -dissect_x411_TeletexString(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_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x411_OCTET_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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t TeletexNonBasicParameters_set[] = { - { &hf_x411_graphic_character_sets, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexString }, - { &hf_x411_control_character_sets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexString }, - { &hf_x411_page_formats , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OCTET_STRING }, - { &hf_x411_miscellaneous_terminal_capabilities, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexString }, - { &hf_x411_private_use , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OCTET_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_TeletexNonBasicParameters(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, - TeletexNonBasicParameters_set, hf_index, ett_x411_TeletexNonBasicParameters); - - return offset; -} - - - -static int -dissect_x411_ExtendedEncodedInformationType(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, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = { - { &hf_x411_ExtendedEncodedInformationTypes_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedEncodedInformationType }, -}; - -static int -dissect_x411_ExtendedEncodedInformationTypes(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_encoded_information_types, ExtendedEncodedInformationTypes_set_of, hf_index, ett_x411_ExtendedEncodedInformationTypes); - - return offset; -} - - -static const ber_sequence_t EncodedInformationTypes_U_set[] = { - { &hf_x411_built_in_encoded_information_types, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_BuiltInEncodedInformationTypes }, - { &hf_x411_g3_facsimile , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_G3FacsimileNonBasicParameters }, - { &hf_x411_teletex , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexNonBasicParameters }, - { &hf_x411_extended_encoded_information_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_EncodedInformationTypes_U(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, - EncodedInformationTypes_U_set, hf_index, ett_x411_EncodedInformationTypes_U); - - return offset; -} - - - -int -dissect_x411_EncodedInformationTypes(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 5, TRUE, dissect_x411_EncodedInformationTypes_U); - - return offset; -} - - - -int -dissect_x411_OriginalEncodedInformationTypes(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_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_BuiltInContentType_U_vals[] = { - { 0, "unidentified" }, - { 1, "external" }, - { 2, "interpersonal-messaging-1984" }, - { 22, "interpersonal-messaging-1988" }, - { 35, "edi-messaging" }, - { 40, "voice-messaging" }, - { 0, NULL } -}; - - -static int -dissect_x411_BuiltInContentType_U(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 635 "x411.cnf" - static guint32 ict = -1; - - offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_built_in_content_type, hf_index, &ict); - - - /* convert integer content type to oid for dispatch when the content is found */ - switch(ict) { - case 2: - content_type_id = ep_strdup("2.6.1.10.0"); - break; - case 22: - content_type_id = ep_strdup("2.6.1.10.1"); - break; - default: - content_type_id = NULL; - break; - } - - - - return offset; -} - - - -static int -dissect_x411_BuiltInContentType(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 6, TRUE, dissect_x411_BuiltInContentType_U); - - return offset; -} - - - -int -dissect_x411_ExtendedContentType(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 620 "x411.cnf" - const char *name = NULL; - - offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &content_type_id); - - - if(content_type_id) { - name = oid_resolved_from_string(content_type_id); - - if(!name) name = content_type_id; - - proto_item_append_text(tree, " (%s)", name); - } - - - - return offset; -} - - -const value_string x411_ContentType_vals[] = { - { 0, "built-in" }, - { 1, "extended" }, - { 0, NULL } -}; - -static const ber_choice_t ContentType_choice[] = { - { 0, &hf_x411_built_in , BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInContentType }, - { 1, &hf_x411_extended , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedContentType }, - { 0, NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_ContentType(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, - ContentType_choice, hf_index, ett_x411_ContentType, - NULL); - - return offset; -} - - - -static int -dissect_x411_PrintableString_SIZE_1_ub_content_id_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_content_id_length, hf_index, NULL); - - return offset; -} - - - -int -dissect_x411_ContentIdentifier(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 10, TRUE, dissect_x411_PrintableString_SIZE_1_ub_content_id_length); - - return offset; -} - - -static const value_string x411_Priority_U_vals[] = { - { 0, "normal" }, - { 1, "non-urgent" }, - { 2, "urgent" }, - { 0, NULL } -}; - - -static int -dissect_x411_Priority_U(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x411_Priority(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 7, TRUE, dissect_x411_Priority_U); - - return offset; -} - - -static const asn_namedbit PerMessageIndicators_U_bits[] = { - { 0, &hf_x411_PerMessageIndicators_U_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL }, - { 1, &hf_x411_PerMessageIndicators_U_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL }, - { 2, &hf_x411_PerMessageIndicators_U_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL }, - { 3, &hf_x411_PerMessageIndicators_U_content_return_request, -1, -1, "content-return-request", NULL }, - { 4, &hf_x411_PerMessageIndicators_U_reserved, -1, -1, "reserved", NULL }, - { 5, &hf_x411_PerMessageIndicators_U_bit_5, -1, -1, "bit-5", NULL }, - { 6, &hf_x411_PerMessageIndicators_U_bit_6, -1, -1, "bit-6", NULL }, - { 7, &hf_x411_PerMessageIndicators_U_service_message, -1, -1, "service-message", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_PerMessageIndicators_U(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, PerMessageIndicators_U_bits, hf_index, ett_x411_PerMessageIndicators_U, - NULL); - - return offset; -} - - - -int -dissect_x411_PerMessageIndicators(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 8, TRUE, dissect_x411_PerMessageIndicators_U); - - return offset; -} - - - -static int -dissect_x411_Time(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 1183 "x411.cnf" - tvbuff_t *arrival = NULL; - - offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); - - - if(arrival && doing_address) - proto_item_append_text(address_item, " %s", tvb_format_text(arrival, 0, tvb_length(arrival))); - - - - return offset; -} - - - -static int -dissect_x411_DeferredDeliveryTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t T_private_domain_sequence[] = { - { &hf_x411_administration_domain_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_AdministrationDomainName }, - { &hf_x411_private_domain_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_PrivateDomainIdentifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_private_domain(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_private_domain_sequence, hf_index, ett_x411_T_private_domain); - - return offset; -} - - -static const value_string x411_T_bilateral_domain_vals[] = { - { 0, "administration-domain-name" }, - { 1, "private-domain" }, - { 0, NULL } -}; - -static const ber_choice_t T_bilateral_domain_choice[] = { - { 0, &hf_x411_administration_domain_name, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_x411_AdministrationDomainName }, - { 1, &hf_x411_private_domain , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_T_private_domain }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_bilateral_domain(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_bilateral_domain_choice, hf_index, ett_x411_T_bilateral_domain, - NULL); - - return offset; -} - - - -static int -dissect_x411_T_bilateral_information(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 1251 "x411.cnf" - proto_item *item = NULL; - int loffset = 0; - guint32 len = 0; - - /* work out the length */ - loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL); - (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL); - - /* create some structure so we can tell what this unknown ASN.1 represents */ - item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE); - tree = proto_item_add_subtree(item, ett_x411_bilateral_information); - - offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); - - - - return offset; -} - - -static const ber_sequence_t PerDomainBilateralInformation_sequence[] = { - { &hf_x411_country_name , BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_x411_CountryName }, - { &hf_x411_bilateral_domain, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_bilateral_domain }, - { &hf_x411_bilateral_information, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x411_T_bilateral_information }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerDomainBilateralInformation(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, - PerDomainBilateralInformation_sequence, hf_index, ett_x411_PerDomainBilateralInformation); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation_sequence_of[1] = { - { &hf_x411_per_domain_bilateral_information_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_PerDomainBilateralInformation }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_transfers, SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation); - - return offset; -} - - - -static int -dissect_x411_ArrivalTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_RoutingAction_vals[] = { - { 0, "relayed" }, - { 1, "rerouted" }, - { 0, NULL } -}; - - -static int -dissect_x411_RoutingAction(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 1194 "x411.cnf" - int action = 0; - - offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, - &action); - - - proto_item_append_text(address_item, " %s", val_to_str(action, x411_RoutingAction_vals, "action(%d)")); - - - - return offset; -} - - - -static int -dissect_x411_DeferredTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ConvertedEncodedInformationTypes(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_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const asn_namedbit OtherActions_bits[] = { - { 0, &hf_x411_OtherActions_redirected, -1, -1, "redirected", NULL }, - { 1, &hf_x411_OtherActions_dl_operation, -1, -1, "dl-operation", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_OtherActions(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, OtherActions_bits, hf_index, ett_x411_OtherActions, - NULL); - - return offset; -} - - -static const ber_sequence_t DomainSuppliedInformation_set[] = { - { &hf_x411_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ArrivalTime }, - { &hf_x411_routing_action , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_RoutingAction }, - { &hf_x411_attempted_domain, BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { &hf_x411_deferred_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredTime }, - { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes }, - { &hf_x411_other_actions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherActions }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DomainSuppliedInformation(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 1162 "x411.cnf" - - doing_address = FALSE; - - offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, - DomainSuppliedInformation_set, hf_index, ett_x411_DomainSuppliedInformation); - - - doing_address = TRUE; - proto_item_append_text(tree, ")"); - - - - return offset; -} - - -static const ber_sequence_t TraceInformationElement_sequence[] = { - { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { &hf_x411_domain_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_DomainSuppliedInformation }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_TraceInformationElement(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 1146 "x411.cnf" - - doing_address = TRUE; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - TraceInformationElement_sequence, hf_index, ett_x411_TraceInformationElement); - - - doing_address = FALSE; - - - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement_sequence_of[1] = { - { &hf_x411__untag_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformationElement }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_transfers, SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement); - - return offset; -} - - - -static int -dissect_x411_TraceInformation(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 9, TRUE, dissect_x411_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement); - - return offset; -} - - -static const value_string x411_StandardExtension_vals[] = { - { 1, "recipient-reassignment-prohibited" }, - { 2, "originator-requested-alternate-recipient" }, - { 3, "dl-expansion-prohibited" }, - { 4, "conversion-with-loss-prohibited" }, - { 5, "latest-delivery-time" }, - { 6, "requested-delivery-method" }, - { 7, "physical-forwarding-prohibited" }, - { 8, "physical-forwarding-address-request" }, - { 9, "physical-delivery-modes" }, - { 10, "registered-mail-type" }, - { 11, "recipient-number-for-advice" }, - { 12, "physical-rendition-attributes" }, - { 13, "originator-return-address" }, - { 14, "physical-delivery-report-request" }, - { 15, "originator-certificate" }, - { 16, "message-token" }, - { 17, "content-confidentiality-algorithm-identifier" }, - { 18, "content-integrity-check" }, - { 19, "message-origin-authentication-check" }, - { 20, "message-security-label" }, - { 21, "proof-of-submission-request" }, - { 22, "proof-of-delivery-request" }, - { 23, "content-correlator" }, - { 24, "probe-origin-authentication-check" }, - { 25, "redirection-history" }, - { 26, "dl-expansion-history" }, - { 27, "physical-forwarding-address" }, - { 28, "recipient-certificate" }, - { 29, "proof-of-delivery" }, - { 30, "originator-and-DL-expansion-history" }, - { 31, "reporting-DL-name" }, - { 32, "reporting-MTA-certificate" }, - { 33, "report-origin-authentication-check" }, - { 34, "originating-MTA-certificate" }, - { 35, "proof-of-submission" }, - { 36, "forwarding-request" }, - { 37, "trace-information" }, - { 38, "internal-trace-information" }, - { 39, "reporting-MTA-name" }, - { 40, "multiple-originator-certificates" }, - { 41, "blind-copy-recipients" }, - { 42, "dl-exempted-recipients" }, - { 43, "body-part-encryption-token" }, - { 44, "forwarded-content-token" }, - { 45, "certificate-selectors" }, - { 0, NULL } -}; - - -static int -dissect_x411_StandardExtension(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, tree, tvb, offset, hf_index, - &extension_id); - - return offset; -} - - - -static int -dissect_x411_T_private_extension(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 612 "x411.cnf" - - offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); - - extension_id = -1; - - - - return offset; -} - - -static const value_string x411_ExtensionType_vals[] = { - { 0, "standard-extension" }, - { 3, "private-extension" }, - { 0, NULL } -}; - -static const ber_choice_t ExtensionType_choice[] = { - { 0, &hf_x411_standard_extension, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_StandardExtension }, - { 3, &hf_x411_private_extension, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_T_private_extension }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ExtensionType(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, - ExtensionType_choice, hf_index, ett_x411_ExtensionType, - NULL); - - return offset; -} - - -static const asn_namedbit Criticality_bits[] = { - { 0, &hf_x411_Criticality_for_submission, -1, -1, "for-submission", NULL }, - { 1, &hf_x411_Criticality_for_transfer, -1, -1, "for-transfer", NULL }, - { 2, &hf_x411_Criticality_for_delivery, -1, -1, "for-delivery", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_Criticality(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, Criticality_bits, hf_index, ett_x411_Criticality, - NULL); - - return offset; -} - - - -static int -dissect_x411_ExtensionValue(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 534 "x411.cnf" - const char *name; - - if(extension_id != -1) { - proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_StandardExtension_vals, "standard-extension %d")); - if (dissector_try_uint(x411_extension_dissector_table, extension_id, tvb, actx->pinfo, tree)) { - offset = tvb_length(tvb); - } else { - proto_item *item = NULL; - proto_tree *next_tree = NULL; - - item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), - "Dissector for standard-extension %d not implemented. Contact Wireshark developers if you want this supported", extension_id); - next_tree = proto_item_add_subtree(item, ett_x411_unknown_standard_extension); - offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree); - expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown standard-extension"); - } - } else if (object_identifier_id) { - offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); - name = oid_resolved_from_string(object_identifier_id); - proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id); - } - - - - - return offset; -} - - -static const ber_sequence_t ExtensionField_sequence[] = { - { &hf_x411_extension_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ExtensionType }, - { &hf_x411_criticality , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Criticality }, - { &hf_x411_extension_value, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtensionValue }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_ExtensionField(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, - ExtensionField_sequence, hf_index, ett_x411_ExtensionField); - - return offset; -} - - -static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = { - { &hf_x411_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionField }, -}; - -static int -dissect_x411_SET_OF_ExtensionField(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_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_ExtensionField_set_of, hf_index, ett_x411_SET_OF_ExtensionField); - - return offset; -} - - - -static int -dissect_x411_MTARecipientName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_OriginallySpecifiedRecipientNumber(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 1U, ub_recipients, hf_index, NULL); - - return offset; -} - - -static const asn_namedbit PerRecipientIndicators_bits[] = { - { 0, &hf_x411_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL }, - { 1, &hf_x411_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL }, - { 2, &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL }, - { 3, &hf_x411_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL }, - { 4, &hf_x411_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL }, - { 5, &hf_x411_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL }, - { 6, &hf_x411_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL }, - { 7, &hf_x411_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_PerRecipientIndicators(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 8, ub_bit_options, PerRecipientIndicators_bits, hf_index, ett_x411_PerRecipientIndicators, - NULL); - - return offset; -} - - -static const value_string x411_ExplicitConversion_vals[] = { - { 0, "ia5-text-to-teletex" }, - { 8, "ia5-text-to-g3-facsimile" }, - { 9, "ia5-text-to-g4-class-1" }, - { 10, "ia5-text-to-videotex" }, - { 11, "teletex-to-ia5-text" }, - { 12, "teletex-to-g3-facsimile" }, - { 13, "teletex-to-g4-class-1" }, - { 14, "teletex-to-videotex" }, - { 16, "videotex-to-ia5-text" }, - { 17, "videotex-to-teletex" }, - { 0, NULL } -}; - - -static int -dissect_x411_ExplicitConversion(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t PerRecipientMessageTransferFields_set[] = { - { &hf_x411_recipient_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTARecipientName }, - { &hf_x411_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginallySpecifiedRecipientNumber }, - { &hf_x411_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientIndicators }, - { &hf_x411_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion }, - { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientMessageTransferFields(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, - PerRecipientMessageTransferFields_set, hf_index, ett_x411_PerRecipientMessageTransferFields); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields_sequence_of[1] = { - { &hf_x411_per_recipient_message_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientMessageTransferFields }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields); - - return offset; -} - - -static const ber_sequence_t MessageTransferEnvelope_set[] = { - { &hf_x411_message_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageIdentifier }, - { &hf_x411_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTAOriginatorName }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority }, - { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators }, - { &hf_x411_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredDeliveryTime }, - { &hf_x411_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation }, - { &hf_x411_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformation }, - { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_message_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageTransferEnvelope(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, - MessageTransferEnvelope_set, hf_index, ett_x411_MessageTransferEnvelope); - - return offset; -} - - - -int -dissect_x411_Content(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 653 "x411.cnf" - tvbuff_t *next_tvb; - - /* we can do this now constructed octet strings are supported */ - offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &next_tvb); - proto_item_set_text(actx->created_item, "content (%u bytes)", tvb_length (next_tvb)); - - if (next_tvb) { - if (content_type_id) { - (void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree); - } else { - proto_item *item = NULL; - proto_tree *next_tree = NULL; - - item = proto_tree_add_text(top_tree ? top_tree : tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "X.411 Unknown Content (unknown built-in content-type)"); - expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown built-in content-type"); - if (item) { - next_tree=proto_item_add_subtree(item, ett_x411_content_unknown); - } - dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree); - } - } - - - - return offset; -} - - -static const ber_sequence_t Message_sequence[] = { - { &hf_x411_message_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageTransferEnvelope }, - { &hf_x411_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Message(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, - Message_sequence, hf_index, ett_x411_Message); - - return offset; -} - - - -static int -dissect_x411_ProbeIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_ContentLength(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_content_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t PerRecipientProbeTransferFields_set[] = { - { &hf_x411_recipient_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTARecipientName }, - { &hf_x411_originally_specified_recipient_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginallySpecifiedRecipientNumber }, - { &hf_x411_per_recipient_indicators, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientIndicators }, - { &hf_x411_explicit_conversion, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion }, - { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientProbeTransferFields(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, - PerRecipientProbeTransferFields_set, hf_index, ett_x411_PerRecipientProbeTransferFields); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields_sequence_of[1] = { - { &hf_x411_per_recipient_probe_transfer_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeTransferFields }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields); - - return offset; -} - - -static const ber_sequence_t ProbeTransferEnvelope_set[] = { - { &hf_x411_probe_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeIdentifier }, - { &hf_x411_mta_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTAOriginatorName }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength }, - { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators }, - { &hf_x411_per_domain_bilateral_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation }, - { &hf_x411_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformation }, - { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_probe_transfer_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ProbeTransferEnvelope(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, - ProbeTransferEnvelope_set, hf_index, ett_x411_ProbeTransferEnvelope); - - return offset; -} - - - -static int -dissect_x411_Probe(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_x411_ProbeTransferEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ReportIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ReportDestinationName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t ReportTransferEnvelope_set[] = { - { &hf_x411_report_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ReportIdentifier }, - { &hf_x411_report_destination_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ReportDestinationName }, - { &hf_x411_trace_information, BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_x411_TraceInformation }, - { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportTransferEnvelope(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, - ReportTransferEnvelope_set, hf_index, ett_x411_ReportTransferEnvelope); - - return offset; -} - - - -static int -dissect_x411_MessageOrProbeIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_SubjectIdentifier(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_x411_MessageOrProbeIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_SubjectIntermediateTraceInformation(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_x411_TraceInformation(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_AdditionalInformation(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 516 "x411.cnf" - proto_item *item = NULL; - int loffset = 0; - guint32 len = 0; - - /* work out the length */ - loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL); - (void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL); - - item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE); - tree = proto_item_add_subtree(item, ett_x411_additional_information); - proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)"); - - offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); - - - - return offset; -} - - - -static int -dissect_x411_MTAActualRecipientName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_MessageDeliveryTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_TypeOfMTSUser_vals[] = { - { 0, "public" }, - { 1, "private" }, - { 2, "ms" }, - { 3, "dl" }, - { 4, "pdau" }, - { 5, "physical-recipient" }, - { 6, "other" }, - { 0, NULL } -}; - - -static int -dissect_x411_TypeOfMTSUser(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_mts_user_types, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t DeliveryReport_set[] = { - { &hf_x411_message_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime }, - { &hf_x411_type_of_MTS_user, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TypeOfMTSUser }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DeliveryReport(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, - DeliveryReport_set, hf_index, ett_x411_DeliveryReport); - - return offset; -} - - -const value_string x411_NonDeliveryReasonCode_vals[] = { - { 0, "transfer-failure" }, - { 1, "unable-to-transfer" }, - { 2, "conversion-not-performed" }, - { 3, "physical-rendition-not-performed" }, - { 4, "physical-delivery-not-performed" }, - { 5, "restricted-delivery" }, - { 6, "directory-operation-unsuccessful" }, - { 7, "deferred-delivery-not-performed" }, - { 8, "transfer-failure-for-security-reason" }, - { 0, NULL } -}; - - -int -dissect_x411_NonDeliveryReasonCode(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_reason_codes, hf_index, NULL); - - return offset; -} - - -const value_string x411_NonDeliveryDiagnosticCode_vals[] = { - { 0, "unrecognised-OR-name" }, - { 1, "ambiguous-OR-name" }, - { 2, "mts-congestion" }, - { 3, "loop-detected" }, - { 4, "recipient-unavailable" }, - { 5, "maximum-time-expired" }, - { 6, "encoded-information-types-unsupported" }, - { 7, "content-too-long" }, - { 8, "conversion-impractical" }, - { 9, "implicit-conversion-prohibited" }, - { 10, "implicit-conversion-not-subscribed" }, - { 11, "invalid-arguments" }, - { 12, "content-syntax-error" }, - { 13, "size-constraint-violation" }, - { 14, "protocol-violation" }, - { 15, "content-type-not-supported" }, - { 16, "too-many-recipients" }, - { 17, "no-bilateral-agreement" }, - { 18, "unsupported-critical-function" }, - { 19, "conversion-with-loss-prohibited" }, - { 20, "line-too-long" }, - { 21, "page-split" }, - { 22, "pictorial-symbol-loss" }, - { 23, "punctuation-symbol-loss" }, - { 24, "alphabetic-character-loss" }, - { 25, "multiple-information-loss" }, - { 26, "recipient-reassignment-prohibited" }, - { 27, "redirection-loop-detected" }, - { 28, "dl-expansion-prohibited" }, - { 29, "no-dl-submit-permission" }, - { 30, "dl-expansion-failure" }, - { 31, "physical-rendition-attributes-not-supported" }, - { 32, "undeliverable-mail-physical-delivery-address-incorrect" }, - { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" }, - { 34, "undeliverable-mail-physical-delivery-address-incomplete" }, - { 35, "undeliverable-mail-recipient-unknown" }, - { 36, "undeliverable-mail-recipient-deceased" }, - { 37, "undeliverable-mail-organization-expired" }, - { 38, "undeliverable-mail-recipient-refused-to-accept" }, - { 39, "undeliverable-mail-recipient-did-not-claim" }, - { 40, "undeliverable-mail-recipient-changed-address-permanently" }, - { 41, "undeliverable-mail-recipient-changed-address-temporarily" }, - { 42, "undeliverable-mail-recipient-changed-temporary-address" }, - { 43, "undeliverable-mail-new-address-unknown" }, - { 44, "undeliverable-mail-recipient-did-not-want-forwarding" }, - { 45, "undeliverable-mail-originator-prohibited-forwarding" }, - { 46, "secure-messaging-error" }, - { 47, "unable-to-downgrade" }, - { 48, "unable-to-complete-transfer" }, - { 49, "transfer-attempts-limit-reached" }, - { 50, "incorrect-notification-type" }, - { 51, "dl-expansion-prohibited-by-security-policy" }, - { 52, "forbidden-alternate-recipient" }, - { 53, "security-policy-violation" }, - { 54, "security-services-refusal" }, - { 55, "unauthorised-dl-member" }, - { 56, "unauthorised-dl-name" }, - { 57, "unauthorised-originally-intended-recipient-name" }, - { 58, "unauthorised-originator-name" }, - { 59, "unauthorised-recipient-name" }, - { 60, "unreliable-system" }, - { 61, "authentication-failure-on-subject-message" }, - { 62, "decryption-failed" }, - { 63, "decryption-key-unobtainable" }, - { 64, "double-envelope-creation-failure" }, - { 65, "double-enveloping-message-restoring-failure" }, - { 66, "failure-of-proof-of-message" }, - { 67, "integrity-failure-on-subject-message" }, - { 68, "invalid-security-label" }, - { 69, "key-failure" }, - { 70, "mandatory-parameter-absence" }, - { 71, "operation-security-failure" }, - { 72, "repudiation-failure-of-message" }, - { 73, "security-context-failure" }, - { 74, "token-decryption-failed" }, - { 75, "token-error" }, - { 76, "unknown-security-label" }, - { 77, "unsupported-algorithm-identifier" }, - { 78, "unsupported-security-policy" }, - { 0, NULL } -}; - - -int -dissect_x411_NonDeliveryDiagnosticCode(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_diagnostic_codes, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t NonDeliveryReport_set[] = { - { &hf_x411_non_delivery_reason_code, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_NonDeliveryReasonCode }, - { &hf_x411_non_delivery_diagnostic_code, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NonDeliveryDiagnosticCode }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_NonDeliveryReport(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, - NonDeliveryReport_set, hf_index, ett_x411_NonDeliveryReport); - - return offset; -} - - -static const value_string x411_ReportType_vals[] = { - { 0, "delivery" }, - { 1, "non-delivery" }, - { 0, NULL } -}; - -static const ber_choice_t ReportType_choice[] = { - { 0, &hf_x411_delivery , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryReport }, - { 1, &hf_x411_non_delivery , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_NonDeliveryReport }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportType(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 1283 "x411.cnf" - gint report = -1; - - offset = dissect_ber_choice(actx, tree, tvb, offset, - ReportType_choice, hf_index, ett_x411_ReportType, - &report); - - - if( (report!=-1) && x411_ReportType_vals[report].strptr ){ - if(check_col(actx->pinfo->cinfo, COL_INFO)) { - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x411_ReportType_vals[report].strptr); - } - } - - - - return offset; -} - - -static const ber_sequence_t LastTraceInformation_set[] = { - { &hf_x411_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ArrivalTime }, - { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes }, - { &hf_x411_trace_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ReportType }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_LastTraceInformation(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, - LastTraceInformation_set, hf_index, ett_x411_LastTraceInformation); - - return offset; -} - - - -static int -dissect_x411_OriginallyIntendedRecipientName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_SupplementaryInformation(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_supplementary_info_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t PerRecipientReportTransferFields_set[] = { - { &hf_x411_mta_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAActualRecipientName }, - { &hf_x411_originally_specified_recipient_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginallySpecifiedRecipientNumber }, - { &hf_x411_per_recipient_indicators, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientIndicators }, - { &hf_x411_last_trace_information, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_LastTraceInformation }, - { &hf_x411_report_originally_intended_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OriginallyIntendedRecipientName }, - { &hf_x411_supplementary_information, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SupplementaryInformation }, - { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientReportTransferFields(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, - PerRecipientReportTransferFields_set, hf_index, ett_x411_PerRecipientReportTransferFields); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields_sequence_of[1] = { - { &hf_x411_per_recipient_report_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientReportTransferFields }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields); - - return offset; -} - - -static const ber_sequence_t ReportTransferContent_set[] = { - { &hf_x411_subject_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_SubjectIdentifier }, - { &hf_x411_subject_intermediate_trace_information, BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SubjectIntermediateTraceInformation }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_returned_content, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Content }, - { &hf_x411_additional_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_AdditionalInformation }, - { &hf_x411_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_report_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportTransferContent(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, - ReportTransferContent_set, hf_index, ett_x411_ReportTransferContent); - - return offset; -} - - -static const ber_sequence_t Report_sequence[] = { - { &hf_x411_report_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ReportTransferEnvelope }, - { &hf_x411_report_content , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ReportTransferContent }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Report(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, - Report_sequence, hf_index, ett_x411_Report); - - return offset; -} - - -static const value_string x411_MTS_APDU_vals[] = { - { 0, "message" }, - { 2, "probe" }, - { 1, "report" }, - { 0, NULL } -}; - -static const ber_choice_t MTS_APDU_choice[] = { - { 0, &hf_x411_message , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_Message }, - { 2, &hf_x411_probe , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_Probe }, - { 1, &hf_x411_report , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_Report }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTS_APDU(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 1269 "x411.cnf" - gint apdu = -1; - - offset = dissect_ber_choice(actx, tree, tvb, offset, - MTS_APDU_choice, hf_index, ett_x411_MTS_APDU, - &apdu); - - - if( (apdu!=-1) && x411_MTS_APDU_vals[apdu].strptr ){ - if(check_col(actx->pinfo->cinfo, COL_INFO) && (apdu != 0)) { /* we don't show "message" - sub-dissectors have better idea */ - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", x411_MTS_APDU_vals[apdu].strptr); - } - } - - - - return offset; -} - - - - - -static const value_string x411_T_attempted_vals[] = { - { 0, "mta" }, - { 1, "domain" }, - { 0, NULL } -}; - -static const ber_choice_t T_attempted_choice[] = { - { 0, &hf_x411_mta , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName }, - { 1, &hf_x411_domain , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_attempted(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_attempted_choice, hf_index, ett_x411_T_attempted, - NULL); - - return offset; -} - - -static const ber_sequence_t MTASuppliedInformation_set[] = { - { &hf_x411_arrival_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ArrivalTime }, - { &hf_x411_routing_action , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_RoutingAction }, - { &hf_x411_attempted , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_attempted }, - { &hf_x411_deferred_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredTime }, - { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes }, - { &hf_x411_other_actions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherActions }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTASuppliedInformation(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 1171 "x411.cnf" - - doing_address = FALSE; - - offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, - MTASuppliedInformation_set, hf_index, ett_x411_MTASuppliedInformation); - - - doing_address = TRUE; - proto_item_append_text(tree, ")"); - - - - return offset; -} - - -static const ber_sequence_t InternalTraceInformationElement_sequence[] = { - { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { &hf_x411_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName }, - { &hf_x411_mta_supplied_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MTASuppliedInformation }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_InternalTraceInformationElement(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 1154 "x411.cnf" - - doing_address = TRUE; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - InternalTraceInformationElement_sequence, hf_index, ett_x411_InternalTraceInformationElement); - - - doing_address = FALSE; - - - - return offset; -} - - -static const ber_sequence_t InternalTraceInformation_sequence_of[1] = { - { &hf_x411_InternalTraceInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_InternalTraceInformationElement }, -}; - -static int -dissect_x411_InternalTraceInformation(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_transfers, InternalTraceInformation_sequence_of, hf_index, ett_x411_InternalTraceInformation); - - return offset; -} - - - - -static const value_string x411_ObjectName_vals[] = { - { 0, "user-agent" }, - { 1, "mTA" }, - { 2, "message-store" }, - { 0, NULL } -}; - -static const ber_choice_t ObjectName_choice[] = { - { 0, &hf_x411_user_agent , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName }, - { 1, &hf_x411_mTA , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MTAName }, - { 2, &hf_x411_message_store , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x411_ORAddressAndOptionalDirectoryName }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ObjectName(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, - ObjectName_choice, hf_index, ett_x411_ObjectName, - NULL); - - return offset; -} - - - -static int -dissect_x411_INTEGER_0_ub_queue_size(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_queue_size, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_INTEGER_0_ub_content_length(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_content_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t DeliveryQueue_set[] = { - { &hf_x411_messages , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_INTEGER_0_ub_queue_size }, - { &hf_x411_delivery_queue_octets, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_INTEGER_0_ub_content_length }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DeliveryQueue(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, - DeliveryQueue_set, hf_index, ett_x411_DeliveryQueue); - - return offset; -} - - -static const ber_sequence_t MessagesWaiting_set[] = { - { &hf_x411_urgent , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryQueue }, - { &hf_x411_normal , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryQueue }, - { &hf_x411_non_urgent , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_DeliveryQueue }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessagesWaiting(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, - MessagesWaiting_set, hf_index, ett_x411_MessagesWaiting); - - return offset; -} - - -static const ber_sequence_t MTSBindArgument_set[] = { - { &hf_x411_initiator_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ObjectName }, - { &hf_x411_messages_waiting, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x411_MessagesWaiting }, - { &hf_x411_initiator_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_InitiatorCredentials }, - { &hf_x411_security_context, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, - { &hf_x411_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTSBindArgument(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, - MTSBindArgument_set, hf_index, ett_x411_MTSBindArgument); - - return offset; -} - - -static const ber_sequence_t MTSBindResult_set[] = { - { &hf_x411_responder_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ObjectName }, - { &hf_x411_messages_waiting, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x411_MessagesWaiting }, - { &hf_x411_responder_credentials, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ResponderCredentials }, - { &hf_x411_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTSBindResult(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, - MTSBindResult_set, hf_index, ett_x411_MTSBindResult); - - return offset; -} - - -static const value_string x411_PAR_mts_bind_error_vals[] = { - { 0, "busy" }, - { 2, "authentication-error" }, - { 3, "unacceptable-dialogue-mode" }, - { 4, "unacceptable-security-context" }, - { 5, "inadequate-association-confidentiality" }, - { 0, NULL } -}; - - -static int -dissect_x411_PAR_mts_bind_error(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - - -int -dissect_x411_ORAddressAndOrDirectoryName(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_x411_ORName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_OriginatorName(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_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_RecipientName(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_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const asn_namedbit OriginatorReportRequest_bits[] = { - { 3, &hf_x411_OriginatorReportRequest_report, -1, -1, "report", NULL }, - { 4, &hf_x411_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_OriginatorReportRequest(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, OriginatorReportRequest_bits, hf_index, ett_x411_OriginatorReportRequest, - NULL); - - return offset; -} - - -static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = { - { &hf_x411_submission_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_RecipientName }, - { &hf_x411_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginatorReportRequest }, - { &hf_x411_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion }, - { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientMessageSubmissionFields(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, - PerRecipientMessageSubmissionFields_set, hf_index, ett_x411_PerRecipientMessageSubmissionFields); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = { - { &hf_x411_per_recipient_message_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientMessageSubmissionFields }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields); - - return offset; -} - - -static const ber_sequence_t MessageSubmissionEnvelope_set[] = { - { &hf_x411_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_OriginatorName }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority }, - { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators }, - { &hf_x411_deferred_delivery_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeferredDeliveryTime }, - { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_message_submission_fields, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_MessageSubmissionEnvelope(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, - MessageSubmissionEnvelope_set, hf_index, ett_x411_MessageSubmissionEnvelope); - - return offset; -} - - -static const ber_sequence_t MessageSubmissionArgument_sequence[] = { - { &hf_x411_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope }, - { &hf_x411_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageSubmissionArgument(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, - MessageSubmissionArgument_sequence, hf_index, ett_x411_MessageSubmissionArgument); - - return offset; -} - - - -int -dissect_x411_MessageSubmissionIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_MessageSubmissionTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t MessageSubmissionResult_set[] = { - { &hf_x411_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionIdentifier }, - { &hf_x411_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_MessageSubmissionTime }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageSubmissionResult(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, - MessageSubmissionResult_set, hf_index, ett_x411_MessageSubmissionResult); - - return offset; -} - - -static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = { - { &hf_x411_probe_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_RecipientName }, - { &hf_x411_originator_report_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_OriginatorReportRequest }, - { &hf_x411_explicit_conversion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExplicitConversion }, - { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_PerRecipientProbeSubmissionFields(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, - PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = { - { &hf_x411_per_recipient_probe_submission_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeSubmissionFields }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields); - - return offset; -} - - -static const ber_sequence_t ProbeSubmissionEnvelope_set[] = { - { &hf_x411_mts_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_OriginatorName }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength }, - { &hf_x411_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators }, - { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_probe_submission_fields, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_ProbeSubmissionEnvelope(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, - ProbeSubmissionEnvelope_set, hf_index, ett_x411_ProbeSubmissionEnvelope); - - return offset; -} - - - -static int -dissect_x411_ProbeSubmissionArgument(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_x411_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_ProbeSubmissionIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_ProbeSubmissionTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t ProbeSubmissionResult_set[] = { - { &hf_x411_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionIdentifier }, - { &hf_x411_probe_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProbeSubmissionTime }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ProbeSubmissionResult(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, - ProbeSubmissionResult_set, hf_index, ett_x411_ProbeSubmissionResult); - - return offset; -} - - - -static int -dissect_x411_CancelDeferredDeliveryArgument(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_x411_MessageSubmissionIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_CancelDeferredDeliveryResult(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_BOOLEAN(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - -static const asn_namedbit Operations_bits[] = { - { 0, &hf_x411_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL }, - { 1, &hf_x411_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_Operations(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, Operations_bits, hf_index, ett_x411_Operations, - NULL); - - return offset; -} - - -static const ber_sequence_t ContentTypes_set_of[1] = { - { &hf_x411_ContentTypes_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, -}; - -static int -dissect_x411_ContentTypes(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_content_types, ContentTypes_set_of, hf_index, ett_x411_ContentTypes); - - return offset; -} - - -static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = { - { &hf_x411_unacceptable_eits, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes }, - { &hf_x411_acceptable_eits, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes }, - { &hf_x411_exclusively_acceptable_eits, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedEncodedInformationTypes }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_EncodedInformationTypesConstraints(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, - EncodedInformationTypesConstraints_sequence, hf_index, ett_x411_EncodedInformationTypesConstraints); - - return offset; -} - - - -static int -dissect_x411_PermissibleEncodedInformationTypes(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_x411_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t Controls_set[] = { - { &hf_x411_restrict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BOOLEAN }, - { &hf_x411_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations }, - { &hf_x411_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength }, - { &hf_x411_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority }, - { &hf_x411_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentTypes }, - { &hf_x411_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PermissibleEncodedInformationTypes }, - { &hf_x411_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Controls(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, - Controls_set, hf_index, ett_x411_Controls); - - return offset; -} - - - -static int -dissect_x411_SubmissionControls(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_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_SubmissionControlArgument(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_x411_SubmissionControls(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const asn_namedbit WaitingMessages_bits[] = { - { 0, &hf_x411_WaitingMessages_long_content, -1, -1, "long-content", NULL }, - { 1, &hf_x411_WaitingMessages_low_priority, -1, -1, "low-priority", NULL }, - { 2, &hf_x411_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_WaitingMessages(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, WaitingMessages_bits, hf_index, ett_x411_WaitingMessages, - NULL); - - return offset; -} - - -static const ber_sequence_t SET_SIZE_0_ub_content_types_OF_ContentType_set_of[1] = { - { &hf_x411_waiting_content_types_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, -}; - -static int -dissect_x411_SET_SIZE_0_ub_content_types_OF_ContentType(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 0, ub_content_types, SET_SIZE_0_ub_content_types_OF_ContentType_set_of, hf_index, ett_x411_SET_SIZE_0_ub_content_types_OF_ContentType); - - return offset; -} - - -static const ber_sequence_t Waiting_set[] = { - { &hf_x411_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations }, - { &hf_x411_waiting_messages, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_WaitingMessages }, - { &hf_x411_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_SIZE_0_ub_content_types_OF_ContentType }, - { &hf_x411_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_EncodedInformationTypes }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Waiting(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, - Waiting_set, hf_index, ett_x411_Waiting); - - return offset; -} - - - -static int -dissect_x411_SubmissionControlResult(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_x411_Waiting(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_submission_control_violated(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_element_of_service_not_subscribed(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_deferred_delivery_cancellation_rejected(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_originator_invalid(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - -static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = { - { &hf_x411_ImproperlySpecifiedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_RecipientName }, -}; - -int -dissect_x411_ImproperlySpecifiedRecipients(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_x411_ImproperlySpecifiedRecipients); - - return offset; -} - - - -static int -dissect_x411_PAR_message_submission_identifier_invalid(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_inconsistent_request(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - -const value_string x411_SecurityProblem_vals[] = { - { 0, "assemby-instructions-conflict-with-security-services" }, - { 1, "authentication-problem" }, - { 2, "authentication-failure-on-subject-message" }, - { 3, "confidentiality-association-problem" }, - { 4, "decryption-failed" }, - { 5, "decryption-key-unobtainable" }, - { 6, "failure-of-proof-of-message" }, - { 7, "forbidden-user-security-label-register" }, - { 8, "incompatible-change-with-original-security-context" }, - { 9, "integrity-failure-on-subject-message" }, - { 10, "invalid-security-label" }, - { 11, "invalid-security-label-update" }, - { 12, "key-failure" }, - { 13, "mandatory-parameter-absence" }, - { 14, "operation-security-failure" }, - { 15, "redirection-prohibited" }, - { 16, "refused-alternate-recipient-name" }, - { 17, "repudiation-failure-of-message" }, - { 18, "responder-credentials-checking-problem" }, - { 19, "security-context-failure" }, - { 20, "security-context-problem" }, - { 21, "security-policy-violation" }, - { 22, "security-services-refusal" }, - { 23, "token-decryption-failed" }, - { 24, "token-error" }, - { 25, "unable-to-aggregate-security-labels" }, - { 26, "unauthorised-dl-name" }, - { 27, "unauthorised-entry-class" }, - { 28, "unauthorised-originally-intended-recipient-name" }, - { 29, "unauthorised-originator-name" }, - { 30, "unauthorised-recipient-name" }, - { 31, "unauthorised-security-label-update" }, - { 32, "unauthorised-user-name" }, - { 33, "unknown-security-label" }, - { 34, "unsupported-algorithm-identifier" }, - { 35, "unsupported-security-policy" }, - { 0, NULL } -}; - - -int -dissect_x411_SecurityProblem(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_security_problems, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_PAR_unsupported_critical_function(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_remote_bind_error(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -int -dissect_x411_MessageDeliveryIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_DeliveredContentType_vals[] = { - { 0, "built-in" }, - { 1, "extended" }, - { 0, NULL } -}; - -static const ber_choice_t DeliveredContentType_choice[] = { - { 0, &hf_x411_built_in , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_BuiltInContentType }, - { 1, &hf_x411_extended , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedContentType }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DeliveredContentType(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, - DeliveredContentType_choice, hf_index, ett_x411_DeliveredContentType, - NULL); - - return offset; -} - - - -static int -dissect_x411_DeliveredOriginatorName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const asn_namedbit DeliveryFlags_bits[] = { - { 1, &hf_x411_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_DeliveryFlags(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, DeliveryFlags_bits, hf_index, ett_x411_DeliveryFlags, - NULL); - - return offset; -} - - - -static int -dissect_x411_OtherRecipientName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t OtherRecipientNames_sequence_of[1] = { - { &hf_x411_OtherRecipientNames_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_OtherRecipientName }, -}; - -static int -dissect_x411_OtherRecipientNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, OtherRecipientNames_sequence_of, hf_index, ett_x411_OtherRecipientNames); - - return offset; -} - - - -static int -dissect_x411_ThisRecipientName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t OtherMessageDeliveryFields_set[] = { - { &hf_x411_delivered_content_type, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_DeliveredContentType }, - { &hf_x411_delivered_originator_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_DeliveredOriginatorName }, - { &hf_x411_original_encoded_information_types, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_priority , BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority }, - { &hf_x411_delivery_flags , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_DeliveryFlags }, - { &hf_x411_other_recipient_names, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherRecipientNames }, - { &hf_x411_this_recipient_name, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x411_ThisRecipientName }, - { &hf_x411_originally_intended_recipient_name, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OriginallyIntendedRecipientName }, - { &hf_x411_converted_encoded_information_types, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ConvertedEncodedInformationTypes }, - { &hf_x411_message_submission_time, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x411_MessageSubmissionTime }, - { &hf_x411_content_identifier, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_extensions , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_OtherMessageDeliveryFields(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, - OtherMessageDeliveryFields_set, hf_index, ett_x411_OtherMessageDeliveryFields); - - return offset; -} - - -static const ber_sequence_t MessageDeliveryArgument_sequence[] = { - { &hf_x411_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryIdentifier }, - { &hf_x411_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryTime }, - { &hf_x411_other_fields , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_OtherMessageDeliveryFields }, - { &hf_x411_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_Content }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageDeliveryArgument(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, - MessageDeliveryArgument_sequence, hf_index, ett_x411_MessageDeliveryArgument); - - return offset; -} - - - -static int -dissect_x411_RecipientCertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ProofOfDelivery(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_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t MessageDeliveryResult_set[] = { - { &hf_x411_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RecipientCertificate }, - { &hf_x411_proof_of_delivery, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ProofOfDelivery }, - { &hf_x411_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageDeliveryResult(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, - MessageDeliveryResult_set, hf_index, ett_x411_MessageDeliveryResult); - - return offset; -} - - - -static int -dissect_x411_SubjectSubmissionIdentifier(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_x411_MTSIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ActualRecipientName(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_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = { - { &hf_x411_actual_recipient_name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ActualRecipientName }, - { &hf_x411_delivery_report_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ReportType }, - { &hf_x411_converted_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ConvertedEncodedInformationTypes }, - { &hf_x411_originally_intended_recipient_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OriginallyIntendedRecipientName }, - { &hf_x411_supplementary_information, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SupplementaryInformation }, - { &hf_x411_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientReportDeliveryFields(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, - PerRecipientReportDeliveryFields_set, hf_index, ett_x411_PerRecipientReportDeliveryFields); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields_sequence_of[1] = { - { &hf_x411_per_recipient_report_delivery_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientReportDeliveryFields }, -}; - -static int -dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_recipients, SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields); - - return offset; -} - - -static const ber_sequence_t ReportDeliveryArgument_set[] = { - { &hf_x411_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_SubjectSubmissionIdentifier }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields }, - { &hf_x411_returned_content, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Content }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportDeliveryArgument(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, - ReportDeliveryArgument_set, hf_index, ett_x411_ReportDeliveryArgument); - - return offset; -} - - -static const ber_sequence_t SET_SIZE_1_MAX_OF_ExtensionField_set_of[1] = { - { &hf_x411_max_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionField }, -}; - -static int -dissect_x411_SET_SIZE_1_MAX_OF_ExtensionField(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, NO_BOUND, SET_SIZE_1_MAX_OF_ExtensionField_set_of, hf_index, ett_x411_SET_SIZE_1_MAX_OF_ExtensionField); - - return offset; -} - - -static const value_string x411_ReportDeliveryResult_vals[] = { - { 0, "empty-result" }, - { 1, "extensions" }, - { 0, NULL } -}; - -static const ber_choice_t ReportDeliveryResult_choice[] = { - { 0, &hf_x411_empty_result , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL }, - { 1, &hf_x411_max_extensions , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_SET_SIZE_1_MAX_OF_ExtensionField }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportDeliveryResult(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, - ReportDeliveryResult_choice, hf_index, ett_x411_ReportDeliveryResult, - NULL); - - return offset; -} - - -static const ber_sequence_t DeliveryControlArgument_set[] = { - { &hf_x411_restrict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BOOLEAN }, - { &hf_x411_permissible_operations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations }, - { &hf_x411_permissible_maximum_content_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength }, - { &hf_x411_permissible_lowest_priority, BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_Priority }, - { &hf_x411_permissible_content_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentTypes }, - { &hf_x411_permissible_encoded_information_types, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PermissibleEncodedInformationTypes }, - { &hf_x411_permissible_security_context, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, - { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DeliveryControlArgument(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, - DeliveryControlArgument_set, hf_index, ett_x411_DeliveryControlArgument); - - return offset; -} - - -static const ber_sequence_t DeliveryControlResult_set[] = { - { &hf_x411_waiting_operations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Operations }, - { &hf_x411_waiting_messages, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_WaitingMessages }, - { &hf_x411_waiting_content_types, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_SIZE_0_ub_content_types_OF_ContentType }, - { &hf_x411_waiting_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_EncodedInformationTypes }, - { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DeliveryControlResult(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, - DeliveryControlResult_set, hf_index, ett_x411_DeliveryControlResult); - - return offset; -} - - - -static int -dissect_x411_PAR_delivery_control_violated(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_control_violates_registration(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - -static const value_string x411_RefusedArgument_vals[] = { - { 0, "user-name" }, - { 1, "user-address" }, - { 2, "deliverable-content-types" }, - { 3, "deliverable-maximum-content-length" }, - { 4, "deliverable-encoded-information-types-constraints" }, - { 5, "deliverable-security-labels" }, - { 6, "recipient-assigned-redirections" }, - { 7, "restricted-delivery" }, - { 8, "retrieve-registrations" }, - { 10, "restrict" }, - { 11, "permissible-operations" }, - { 12, "permissible-lowest-priority" }, - { 13, "permissible-encoded-information-types" }, - { 14, "permissible-content-types" }, - { 15, "permissible-maximum-content-length" }, - { 16, "permissible-security-context" }, - { 0, NULL } -}; - - -static int -dissect_x411_RefusedArgument(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_T_refused_extension(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 592 "x411.cnf" -/*XXX not implemented yet */ - - - - return offset; -} - - -static const value_string x411_T_refused_argument_vals[] = { - { 0, "built-in-argument" }, - { 1, "refused-extension" }, - { 0, NULL } -}; - -static const ber_choice_t T_refused_argument_choice[] = { - { 0, &hf_x411_built_in_argument, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_RefusedArgument }, - { 1, &hf_x411_refused_extension, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_T_refused_extension }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_refused_argument(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_refused_argument_choice, hf_index, ett_x411_T_refused_argument, - NULL); - - return offset; -} - - -static const value_string x411_RefusalReason_vals[] = { - { 0, "facility-unavailable" }, - { 1, "facility-not-subscribed" }, - { 2, "parameter-unacceptable" }, - { 0, NULL } -}; - - -static int -dissect_x411_RefusalReason(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t RefusedOperation_set[] = { - { &hf_x411_refused_argument, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_refused_argument }, - { &hf_x411_refusal_reason , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x411_RefusalReason }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_RefusedOperation(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, - RefusedOperation_set, hf_index, ett_x411_RefusedOperation); - - return offset; -} - - - -static int -dissect_x411_UserName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_T_x121_address(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 855 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_x121_address_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - - -static int -dissect_x411_PrintableString_SIZE_1_ub_tsap_id_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_tsap_id_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t T_x121_sequence[] = { - { &hf_x411_x121_address , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_T_x121_address }, - { &hf_x411_tsap_id , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString_SIZE_1_ub_tsap_id_length }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_x121(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_x121_sequence, hf_index, ett_x411_T_x121); - - return offset; -} - - - -static int -dissect_x411_PSAPAddress(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_x509sat_PresentationAddress(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_UserAddress_vals[] = { - { 0, "x121" }, - { 1, "presentation" }, - { 0, NULL } -}; - -static const ber_choice_t UserAddress_choice[] = { - { 0, &hf_x411_x121 , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_T_x121 }, - { 1, &hf_x411_presentation , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PSAPAddress }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_UserAddress(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, - UserAddress_choice, hf_index, ett_x411_UserAddress, - NULL); - - return offset; -} - - -static const ber_sequence_t SET_OF_Priority_set_of[1] = { - { &hf_x411_class_priority_item, BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_x411_Priority }, -}; - -static int -dissect_x411_SET_OF_Priority(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_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_Priority_set_of, hf_index, ett_x411_SET_OF_Priority); - - return offset; -} - - -static const value_string x411_T_objects_vals[] = { - { 0, "messages" }, - { 1, "reports" }, - { 2, "both" }, - { 0, NULL } -}; - - -static int -dissect_x411_T_objects(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const asn_namedbit T_source_type_bits[] = { - { 0, &hf_x411_T_source_type_originated_by, -1, -1, "originated-by", NULL }, - { 1, &hf_x411_T_source_type_redirected_by, -1, -1, "redirected-by", NULL }, - { 2, &hf_x411_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_T_source_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_bitstring(implicit_tag, actx, tree, tvb, offset, - T_source_type_bits, hf_index, ett_x411_T_source_type, - NULL); - - return offset; -} - - -static const value_string x411_ExactOrPattern_vals[] = { - { 0, "exact-match" }, - { 1, "pattern-match" }, - { 0, NULL } -}; - -static const ber_choice_t ExactOrPattern_choice[] = { - { 0, &hf_x411_exact_match , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ORName }, - { 1, &hf_x411_pattern_match , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_ORName }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ExactOrPattern(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, - ExactOrPattern_choice, hf_index, ett_x411_ExactOrPattern, - NULL); - - return offset; -} - - -static const ber_sequence_t Restriction_set[] = { - { &hf_x411_permitted , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_BOOLEAN }, - { &hf_x411_source_type , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_T_source_type }, - { &hf_x411_source_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ExactOrPattern }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Restriction(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, - Restriction_set, hf_index, ett_x411_Restriction); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = { - { &hf_x411_applies_only_to_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_Restriction }, -}; - -static int -dissect_x411_SEQUENCE_OF_Restriction(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_Restriction_sequence_of, hf_index, ett_x411_SEQUENCE_OF_Restriction); - - return offset; -} - - -static const ber_sequence_t MessageClass_set[] = { - { &hf_x411_content_types , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentTypes }, - { &hf_x411_maximum_content_length, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentLength }, - { &hf_x411_encoded_information_types_constraints, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncodedInformationTypesConstraints }, - { &hf_x411_security_labels, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityContext }, - { &hf_x411_class_priority , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_Priority }, - { &hf_x411_objects , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_objects }, - { &hf_x411_applies_only_to, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SEQUENCE_OF_Restriction }, - { &hf_x411_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageClass(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, - MessageClass_set, hf_index, ett_x411_MessageClass); - - return offset; -} - - - -static int -dissect_x411_DeliverableClass(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_x411_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass_set_of[1] = { - { &hf_x411_deliverable_class_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_DeliverableClass }, -}; - -static int -dissect_x411_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_deliverable_class, SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass_set_of, hf_index, ett_x411_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass); - - return offset; -} - - - -static int -dissect_x411_DefaultDeliveryControls(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_x411_Controls(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_RedirectionClass(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_x411_MessageClass(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass_set_of[1] = { - { &hf_x411_redirection_classes_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_RedirectionClass }, -}; - -static int -dissect_x411_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_redirection_classes, SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass_set_of, hf_index, ett_x411_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass); - - return offset; -} - - - -static int -dissect_x411_RecipientAssignedAlternateRecipient(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_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t RecipientRedirection_set[] = { - { &hf_x411_redirection_classes, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass }, - { &hf_x411_recipient_assigned_alternate_recipient, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RecipientAssignedAlternateRecipient }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_RecipientRedirection(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, - RecipientRedirection_set, hf_index, ett_x411_RecipientRedirection); - - return offset; -} - - -static const ber_sequence_t Redirections_sequence_of[1] = { - { &hf_x411_Redirections_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_RecipientRedirection }, -}; - -static int -dissect_x411_Redirections(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_redirections, Redirections_sequence_of, hf_index, ett_x411_Redirections); - - return offset; -} - - -static const ber_sequence_t RestrictedDelivery_sequence_of[1] = { - { &hf_x411_RestrictedDelivery_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_Restriction }, -}; - -static int -dissect_x411_RestrictedDelivery(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_restrictions, RestrictedDelivery_sequence_of, hf_index, ett_x411_RestrictedDelivery); - - return offset; -} - - -static const asn_namedbit T_standard_parameters_bits[] = { - { 0, &hf_x411_T_standard_parameters_user_name, -1, -1, "user-name", NULL }, - { 1, &hf_x411_T_standard_parameters_user_address, -1, -1, "user-address", NULL }, - { 2, &hf_x411_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL }, - { 3, &hf_x411_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL }, - { 4, &hf_x411_T_standard_parameters_redirections, -1, -1, "redirections", NULL }, - { 5, &hf_x411_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_T_standard_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_bitstring(implicit_tag, actx, tree, tvb, offset, - T_standard_parameters_bits, hf_index, ett_x411_T_standard_parameters, - NULL); - - return offset; -} - - - -static int -dissect_x411_T_type_extensions_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 531 "x411.cnf" -/*XXX not implemented yet */ - - - - return offset; -} - - -static const ber_sequence_t T_type_extensions_set_of[1] = { - { &hf_x411_type_extensions_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_type_extensions_item }, -}; - -static int -dissect_x411_T_type_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_set_of(implicit_tag, actx, tree, tvb, offset, - T_type_extensions_set_of, hf_index, ett_x411_T_type_extensions); - - return offset; -} - - -static const ber_sequence_t RegistrationTypes_sequence[] = { - { &hf_x411_standard_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_standard_parameters }, - { &hf_x411_type_extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_type_extensions }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_RegistrationTypes(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, - RegistrationTypes_sequence, hf_index, ett_x411_RegistrationTypes); - - return offset; -} - - -static const ber_sequence_t RegisterArgument_set[] = { - { &hf_x411_user_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_UserName }, - { &hf_x411_user_address , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_UserAddress }, - { &hf_x411_deliverable_class, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass }, - { &hf_x411_default_delivery_controls, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x411_DefaultDeliveryControls }, - { &hf_x411_redirections , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_Redirections }, - { &hf_x411_restricted_delivery, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RestrictedDelivery }, - { &hf_x411_retrieve_registrations, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RegistrationTypes }, - { &hf_x411_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_RegisterArgument(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, - RegisterArgument_set, hf_index, ett_x411_RegisterArgument); - - return offset; -} - - -static const ber_sequence_t T_non_empty_result_set[] = { - { &hf_x411_registered_information, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RegisterArgument }, - { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_non_empty_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_set(implicit_tag, actx, tree, tvb, offset, - T_non_empty_result_set, hf_index, ett_x411_T_non_empty_result); - - return offset; -} - - -static const value_string x411_RegisterResult_vals[] = { - { 0, "empty-result" }, - { 1, "non-empty-result" }, - { 0, NULL } -}; - -static const ber_choice_t RegisterResult_choice[] = { - { 0, &hf_x411_empty_result , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x411_NULL }, - { 1, &hf_x411_non_empty_result, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_T_non_empty_result }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_RegisterResult(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, - RegisterResult_choice, hf_index, ett_x411_RegisterResult, - NULL); - - return offset; -} - - - -static int -dissect_x411_RES_change_credentials(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - -static const ber_sequence_t ChangeCredentialsArgument_set[] = { - { &hf_x411_old_credentials, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_Credentials }, - { &hf_x411_new_credentials, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_Credentials }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ChangeCredentialsArgument(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, - ChangeCredentialsArgument_set, hf_index, ett_x411_ChangeCredentialsArgument); - - return offset; -} - - - -static int -dissect_x411_PAR_register_rejected(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_new_credentials_unacceptable(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x411_PAR_old_credentials_incorrectly_specified(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - - -static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = { - { &hf_x411_message_delivery_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryIdentifier }, - { &hf_x411_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryTime }, - { &hf_x411_other_fields , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_OtherMessageDeliveryFields }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageDeliveryEnvelope(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, - MessageDeliveryEnvelope_sequence, hf_index, ett_x411_MessageDeliveryEnvelope); - - return offset; -} - - -static const ber_sequence_t ReportDeliveryEnvelope_set[] = { - { &hf_x411_subject_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_SubjectSubmissionIdentifier }, - { &hf_x411_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, - { &hf_x411_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ContentType }, - { &hf_x411_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, - { &hf_x411_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SET_OF_ExtensionField }, - { &hf_x411_per_recipient_report_delivery_fields, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportDeliveryEnvelope(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, - ReportDeliveryEnvelope_set, hf_index, ett_x411_ReportDeliveryEnvelope); - - return offset; -} - - - -static const value_string x411_RecipientReassignmentProhibited_vals[] = { - { 0, "recipient-reassignment-allowed" }, - { 1, "recipient-reassignment-prohibited" }, - { 0, NULL } -}; - - -static int -dissect_x411_RecipientReassignmentProhibited(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x411_OriginatorRequestedAlternateRecipient(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_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_DLExpansionProhibited_vals[] = { - { 0, "dl-expansion-allowed" }, - { 1, "dl-expansion-prohibited" }, - { 0, NULL } -}; - - -static int -dissect_x411_DLExpansionProhibited(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x411_ConversionWithLossProhibited_vals[] = { - { 0, "conversion-with-loss-allowed" }, - { 1, "conversion-with-loss-prohibited" }, - { 0, NULL } -}; - - -static int -dissect_x411_ConversionWithLossProhibited(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x411_LatestDeliveryTime(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_x411_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_RequestedDeliveryMethod_item_vals[] = { - { 0, "any-delivery-method" }, - { 1, "mhs-delivery" }, - { 2, "physical-delivery" }, - { 3, "telex-delivery" }, - { 4, "teletex-delivery" }, - { 5, "g3-facsimile-delivery" }, - { 6, "g4-facsimile-delivery" }, - { 7, "ia5-terminal-delivery" }, - { 8, "videotex-delivery" }, - { 9, "telephone-delivery" }, - { 0, NULL } -}; - - -static int -dissect_x411_RequestedDeliveryMethod_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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = { - { &hf_x411_RequestedDeliveryMethod_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x411_RequestedDeliveryMethod_item }, -}; - -int -dissect_x411_RequestedDeliveryMethod(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, - RequestedDeliveryMethod_sequence_of, hf_index, ett_x411_RequestedDeliveryMethod); - - return offset; -} - - -static const value_string x411_PhysicalForwardingProhibited_vals[] = { - { 0, "physical-forwarding-allowed" }, - { 1, "physical-forwarding-prohibited" }, - { 0, NULL } -}; - - -static int -dissect_x411_PhysicalForwardingProhibited(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x411_PhysicalForwardingAddressRequest_vals[] = { - { 0, "physical-forwarding-address-not-requested" }, - { 1, "physical-forwarding-address-requested" }, - { 0, NULL } -}; - - -static int -dissect_x411_PhysicalForwardingAddressRequest(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const asn_namedbit PhysicalDeliveryModes_bits[] = { - { 0, &hf_x411_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL }, - { 1, &hf_x411_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL }, - { 2, &hf_x411_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL }, - { 3, &hf_x411_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL }, - { 4, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL }, - { 5, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL }, - { 6, &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL }, - { 7, &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x411_PhysicalDeliveryModes(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_constrained_bitstring(implicit_tag, actx, tree, tvb, offset, - 0, ub_bit_options, PhysicalDeliveryModes_bits, hf_index, ett_x411_PhysicalDeliveryModes, - NULL); - - return offset; -} - - -static const value_string x411_RegisteredMailType_vals[] = { - { 0, "non-registered-mail" }, - { 1, "registered-mail" }, - { 2, "registered-mail-to-addressee-in-person" }, - { 0, NULL } -}; - - -static int -dissect_x411_RegisteredMailType(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_RecipientNumberForAdvice(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_recipient_number_for_advice_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_PhysicalRenditionAttributes(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, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t ORAddress_sequence[] = { - { &hf_x411_built_in_standard_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInStandardAttributes }, - { &hf_x411_built_in_domain_defined_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_BuiltInDomainDefinedAttributes }, - { &hf_x411_extension_attributes, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtensionAttributes }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_ORAddress(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 1052 "x411.cnf" - - oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; - doing_address = TRUE; - address_item = NULL; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - ORAddress_sequence, hf_index, ett_x411_ORAddress); - - - if(*oraddress && address_item) - proto_item_append_text(address_item, " %s/", oraddress); - - doing_address = FALSE; - - - - return offset; -} - - - -static int -dissect_x411_OriginatorReturnAddress(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_x411_ORAddress(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_PhysicalDeliveryReportRequest_vals[] = { - { 0, "return-of-undeliverable-mail-by-PDS" }, - { 1, "return-of-notification-by-PDS" }, - { 2, "return-of-notification-by-MHS" }, - { 3, "return-of-notification-by-MHS-and-PDS" }, - { 0, NULL } -}; - - -static int -dissect_x411_PhysicalDeliveryReportRequest(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_OriginatorCertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_MessageToken(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_x411_Token(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ContentConfidentialityAlgorithmIdentifier(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_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_ContentIntegrityCheck(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_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_MessageOriginAuthenticationCheck(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_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_MessageSecurityLabel(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_x411_SecurityLabel(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x411_ProofOfSubmissionRequest_vals[] = { - { 0, "proof-of-submission-not-requested" }, - { 1, "proof-of-submission-requested" }, - { 0, NULL } -}; - - -static int -dissect_x411_ProofOfSubmissionRequest(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x411_ProofOfDeliveryRequest_vals[] = { - { 0, "proof-of-delivery-not-requested" }, - { 1, "proof-of-delivery-requested" }, - { 0, NULL } -}; - - -static int -dissect_x411_ProofOfDeliveryRequest(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x411_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x411_ContentCorrelator_vals[] = { - { 0, "ia5text" }, - { 1, "octets" }, - { 0, NULL } -}; - -static const ber_choice_t ContentCorrelator_choice[] = { - { 0, &hf_x411_ia5text , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_IA5String }, - { 1, &hf_x411_octets , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_OCTET_STRING }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ContentCorrelator(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, - ContentCorrelator_choice, hf_index, ett_x411_ContentCorrelator, - NULL); - - return offset; -} - - - -static int -dissect_x411_ProbeOriginAuthenticationCheck(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_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t IntendedRecipientName_sequence[] = { - { &hf_x411_intended_recipient, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName }, - { &hf_x411_redirection_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_IntendedRecipientName(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, - IntendedRecipientName_sequence, hf_index, ett_x411_IntendedRecipientName); - - return offset; -} - - -static const value_string x411_RedirectionReason_vals[] = { - { 0, "recipient-assigned-alternate-recipient" }, - { 1, "originator-requested-alternate-recipient" }, - { 2, "recipient-MD-assigned-alternate-recipient" }, - { 3, "directory-look-up" }, - { 4, "alias" }, - { 0, NULL } -}; - - -static int -dissect_x411_RedirectionReason(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t Redirection_sequence[] = { - { &hf_x411_intended_recipient_name, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_IntendedRecipientName }, - { &hf_x411_redirection_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x411_RedirectionReason }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_Redirection(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, - Redirection_sequence, hf_index, ett_x411_Redirection); - - return offset; -} - - -static const ber_sequence_t RedirectionHistory_sequence_of[1] = { - { &hf_x411_RedirectionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_Redirection }, -}; - -static int -dissect_x411_RedirectionHistory(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_redirections, RedirectionHistory_sequence_of, hf_index, ett_x411_RedirectionHistory); - - return offset; -} - - -static const ber_sequence_t DLExpansion_sequence[] = { - { &hf_x411_dl , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName }, - { &hf_x411_dl_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_DLExpansion(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, - DLExpansion_sequence, hf_index, ett_x411_DLExpansion); - - return offset; -} - - -static const ber_sequence_t DLExpansionHistory_sequence_of[1] = { - { &hf_x411_DLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_DLExpansion }, -}; - -static int -dissect_x411_DLExpansionHistory(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_dl_expansions, DLExpansionHistory_sequence_of, hf_index, ett_x411_DLExpansionHistory); - - return offset; -} - - - -static int -dissect_x411_PhysicalForwardingAddress(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = { - { &hf_x411_originator_or_dl_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOptionalDirectoryName }, - { &hf_x411_origination_or_expansion_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_OriginatorAndDLExpansion(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, - OriginatorAndDLExpansion_sequence, hf_index, ett_x411_OriginatorAndDLExpansion); - - return offset; -} - - -static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = { - { &hf_x411_OriginatorAndDLExpansionHistory_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_OriginatorAndDLExpansion }, -}; - -static int -dissect_x411_OriginatorAndDLExpansionHistory(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 2, ub_orig_and_dl_expansions, OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_x411_OriginatorAndDLExpansionHistory); - - return offset; -} - - - -static int -dissect_x411_ReportingDLName(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_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ReportingMTACertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ReportOriginAuthenticationCheck(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_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t PerRecipientDeliveryReportFields_sequence[] = { - { &hf_x411_message_delivery_time, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_MessageDeliveryTime }, - { &hf_x411_type_of_MTS_user, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x411_TypeOfMTSUser }, - { &hf_x411_recipient_certificate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_RecipientCertificate }, - { &hf_x411_proof_of_delivery, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ProofOfDelivery }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientDeliveryReportFields(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, - PerRecipientDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientDeliveryReportFields); - - return offset; -} - - -static const ber_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = { - { &hf_x411_non_delivery_reason_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x411_NonDeliveryReasonCode }, - { &hf_x411_non_delivery_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_NonDeliveryDiagnosticCode }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PerRecipientNonDeliveryReportFields(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, - PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientNonDeliveryReportFields); - - return offset; -} - - -static const value_string x411_T_report_type_vals[] = { - { 0, "delivery" }, - { 1, "non-delivery" }, - { 0, NULL } -}; - -static const ber_choice_t T_report_type_choice[] = { - { 0, &hf_x411_report_type_delivery, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientDeliveryReportFields }, - { 1, &hf_x411_non_delivery_report, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_PerRecipientNonDeliveryReportFields }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_report_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, - T_report_type_choice, hf_index, ett_x411_T_report_type, - NULL); - - return offset; -} - - - - -int -dissect_x411_OriginatingMTACertificate(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_x509af_Certificates(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -int -dissect_x411_ProofOfSubmission(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_x411_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t ReportingMTAName_sequence[] = { - { &hf_x411_domain , BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { &hf_x411_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName }, - { &hf_x411_mta_directory_name, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ReportingMTAName(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, - ReportingMTAName_sequence, hf_index, ett_x411_ReportingMTAName); - - return offset; -} - - -static const value_string x411_ExtendedCertificate_vals[] = { - { 0, "directory-entry" }, - { 1, "certificate" }, - { 0, NULL } -}; - -static const ber_choice_t ExtendedCertificate_choice[] = { - { 0, &hf_x411_directory_entry, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509if_Name }, - { 1, &hf_x411_certificate , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509af_Certificates }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ExtendedCertificate(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, - ExtendedCertificate_choice, hf_index, ett_x411_ExtendedCertificate, - NULL); - - return offset; -} - - -static const ber_sequence_t ExtendedCertificates_set_of[1] = { - { &hf_x411_ExtendedCertificates_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_ExtendedCertificate }, -}; - -int -dissect_x411_ExtendedCertificates(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_constrained_set_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_certificates, ExtendedCertificates_set_of, hf_index, ett_x411_ExtendedCertificates); - - return offset; -} - - -static const ber_sequence_t DLExemptedRecipients_set_of[1] = { - { &hf_x411_DLExemptedRecipients_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_ORAddressAndOrDirectoryName }, -}; - -static int -dissect_x411_DLExemptedRecipients(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_of(implicit_tag, actx, tree, tvb, offset, - DLExemptedRecipients_set_of, hf_index, ett_x411_DLExemptedRecipients); - - return offset; -} - - -static const ber_sequence_t CertificateSelectors_set[] = { - { &hf_x411_encryption_recipient, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x411_encryption_originator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x411_selectors_content_integrity_check, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x411_token_signature, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x411_message_origin_authentication, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_CertificateSelectors(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, - CertificateSelectors_set, hf_index, ett_x411_CertificateSelectors); - - return offset; -} - - - -static int -dissect_x411_CommonName(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 792 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_common_name_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_TeletexCommonName(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 805 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_common_name_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_BMPString_SIZE_1_ub_string_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_BMPString, - actx, tree, tvb, offset, - 1, ub_string_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_UniversalString_SIZE_1_ub_string_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString, - actx, tree, tvb, offset, - 1, ub_string_length, hf_index, NULL); - - return offset; -} - - -static const value_string x411_T_character_encoding_vals[] = { - { 0, "two-octets" }, - { 1, "four-octets" }, - { 0, NULL } -}; - -static const ber_choice_t T_character_encoding_choice[] = { - { 0, &hf_x411_two_octets , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_x411_BMPString_SIZE_1_ub_string_length }, - { 1, &hf_x411_four_octets , BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalString_SIZE_1_ub_string_length }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_character_encoding(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_character_encoding_choice, hf_index, ett_x411_T_character_encoding, - NULL); - - return offset; -} - - - -static int -dissect_x411_PrintableString_SIZE_CONSTR001(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 2, 5, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t UniversalOrBMPString_set[] = { - { &hf_x411_character_encoding, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_character_encoding }, - { &hf_x411_iso_639_language_code, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString_SIZE_CONSTR001 }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x411_UniversalOrBMPString(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, - UniversalOrBMPString_set, hf_index, ett_x411_UniversalOrBMPString); - - return offset; -} - - - -static int -dissect_x411_UniversalCommonName(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_TeletexOrganizationName(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 753 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_organization_name_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_UniversalOrganizationName(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_T_teletex_surname(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 983 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_surname_length, hf_index, &tstring); - - - if(doing_address && tstring) { - g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_teletex_given_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_) { -#line 993 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_given_name_length, hf_index, &tstring); - - - if(doing_address && tstring) { - g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_teletex_initials(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 1003 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_initials_length, hf_index, &tstring); - - - if(doing_address && tstring) { - g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - - -static int -dissect_x411_T_teletex_generation_qualifier(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 1013 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_generation_qualifier_length, hf_index, &tstring); - - - if(doing_address && tstring) { - g_strlcat(oraddress, "/Q=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - -static const ber_sequence_t TeletexPersonalName_set[] = { - { &hf_x411_teletex_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_T_teletex_surname }, - { &hf_x411_teletex_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_teletex_given_name }, - { &hf_x411_teletex_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_teletex_initials }, - { &hf_x411_teletex_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_T_teletex_generation_qualifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_TeletexPersonalName(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, - TeletexPersonalName_set, hf_index, ett_x411_TeletexPersonalName); - - return offset; -} - - -static const ber_sequence_t UniversalPersonalName_set[] = { - { &hf_x411_universal_surname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString }, - { &hf_x411_universal_given_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString }, - { &hf_x411_universal_initials, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString }, - { &hf_x411_universal_generation_qualifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_UniversalOrBMPString }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_UniversalPersonalName(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, - UniversalPersonalName_set, hf_index, ett_x411_UniversalPersonalName); - - return offset; -} - - - -static int -dissect_x411_TeletexOrganizationalUnitName(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 779 "x411.cnf" - tvbuff_t *string = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_organizational_unit_name_length, hf_index, &string); - - - if(doing_address && string) { - g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN); - } - - - - return offset; -} - - -static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = { - { &hf_x411_TeletexOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x411_TeletexOrganizationalUnitName }, -}; - -static int -dissect_x411_TeletexOrganizationalUnitNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_organizational_units, TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_x411_TeletexOrganizationalUnitNames); - - return offset; -} - - - -static int -dissect_x411_UniversalOrganizationalUnitName(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = { - { &hf_x411_UniversalOrganizationalUnitNames_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalOrganizationalUnitName }, -}; - -static int -dissect_x411_UniversalOrganizationalUnitNames(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_organizational_units, UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_x411_UniversalOrganizationalUnitNames); - - return offset; -} - - - -static int -dissect_x411_PDSName(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_pds_name_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_T_x121_dcc_code_01(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 895 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - ub_country_name_numeric_length, ub_country_name_numeric_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - - -static int -dissect_x411_T_iso_3166_alpha2_code_01(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 847 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - ub_country_name_alpha_length, ub_country_name_alpha_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - return offset; -} - - -static const value_string x411_PhysicalDeliveryCountryName_vals[] = { - { 0, "x121-dcc-code" }, - { 1, "iso-3166-alpha2-code" }, - { 0, NULL } -}; - -static const ber_choice_t PhysicalDeliveryCountryName_choice[] = { - { 0, &hf_x411_x121_dcc_code_01, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_T_x121_dcc_code_01 }, - { 1, &hf_x411_iso_3166_alpha2_code_01, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_T_iso_3166_alpha2_code_01 }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PhysicalDeliveryCountryName(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, - PhysicalDeliveryCountryName_choice, hf_index, ett_x411_PhysicalDeliveryCountryName, - NULL); - - return offset; -} - - - -static int -dissect_x411_T_numeric_code(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 903 "x411.cnf" - tvbuff_t *nstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_postal_code_length, hf_index, &nstring); - - - if(doing_address && nstring) - g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN); - - - - - return offset; -} - - - -static int -dissect_x411_PrintableString_SIZE_1_ub_postal_code_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_postal_code_length, hf_index, NULL); - - return offset; -} - - -static const value_string x411_PostalCode_vals[] = { - { 0, "numeric-code" }, - { 1, "printable-code" }, - { 0, NULL } -}; - -static const ber_choice_t PostalCode_choice[] = { - { 0, &hf_x411_numeric_code , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x411_T_numeric_code }, - { 1, &hf_x411_printable_code , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString_SIZE_1_ub_postal_code_length }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PostalCode(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, - PostalCode_choice, hf_index, ett_x411_PostalCode, - NULL); - - return offset; -} - - - -static int -dissect_x411_PrintableString_SIZE_1_ub_pds_parameter_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 1, ub_pds_parameter_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_TeletexString_SIZE_1_ub_pds_parameter_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_pds_parameter_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t PDSParameter_set[] = { - { &hf_x411_printable_string, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString_SIZE_1_ub_pds_parameter_length }, - { &hf_x411_pds_teletex_string, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_TeletexString_SIZE_1_ub_pds_parameter_length }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_PDSParameter(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, - PDSParameter_set, hf_index, ett_x411_PDSParameter); - - return offset; -} - - - -static int -dissect_x411_PhysicalDeliveryOfficeName(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPDSParameter(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPhysicalDeliveryOfficeName(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_PhysicalDeliveryOfficeNumber(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPhysicalDeliveryOfficeNumber(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ExtensionORAddressComponents(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalExtensionORAddressComponents(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_PhysicalDeliveryPersonalName(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPhysicalDeliveryPersonalName(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_PhysicalDeliveryOrganizationName(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPhysicalDeliveryOrganizationName(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_ExtensionPhysicalDeliveryAddressComponents(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalExtensionPhysicalDeliveryAddressComponents(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t T_printable_address_sequence_of[1] = { - { &hf_x411_printable_address_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x411_PrintableString_SIZE_1_ub_pds_parameter_length }, -}; - -static int -dissect_x411_T_printable_address(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_pds_physical_address_lines, T_printable_address_sequence_of, hf_index, ett_x411_T_printable_address); - - return offset; -} - - - -static int -dissect_x411_TeletexString_SIZE_1_ub_unformatted_address_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_unformatted_address_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t UnformattedPostalAddress_set[] = { - { &hf_x411_printable_address, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_T_printable_address }, - { &hf_x411_teletex_string , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_TeletexString_SIZE_1_ub_unformatted_address_length }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_UnformattedPostalAddress(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, - UnformattedPostalAddress_set, hf_index, ett_x411_UnformattedPostalAddress); - - return offset; -} - - - -static int -dissect_x411_UniversalUnformattedPostalAddress(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_StreetAddress(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalStreetAddress(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_PostOfficeBoxAddress(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPostOfficeBoxAddress(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_PosteRestanteAddress(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalPosteRestanteAddress(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniquePostalName(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalUniquePostalName(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_LocalPostalAttributes(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_x411_PDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_UniversalLocalPostalAttributes(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_x411_UniversalPDSParameter(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_NumericString_SIZE_1_ub_e163_4_number_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_e163_4_number_length, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_NumericString_SIZE_1_ub_e163_4_sub_address_length(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, - actx, tree, tvb, offset, - 1, ub_e163_4_sub_address_length, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t T_e163_4_address_sequence[] = { - { &hf_x411_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_NumericString_SIZE_1_ub_e163_4_number_length }, - { &hf_x411_sub_address , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_NumericString_SIZE_1_ub_e163_4_sub_address_length }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_e163_4_address(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_e163_4_address_sequence, hf_index, ett_x411_T_e163_4_address); - - return offset; -} - - -static const value_string x411_ExtendedNetworkAddress_vals[] = { - { 0, "e163-4-address" }, - { 1, "psap-address" }, - { 0, NULL } -}; - -static const ber_choice_t ExtendedNetworkAddress_choice[] = { - { 0, &hf_x411_e163_4_address , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_T_e163_4_address }, - { 1, &hf_x411_psap_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509sat_PresentationAddress }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_ExtendedNetworkAddress(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, - ExtendedNetworkAddress_choice, hf_index, ett_x411_ExtendedNetworkAddress, - NULL); - - return offset; -} - - -static const value_string x411_TerminalType_vals[] = { - { 3, "telex" }, - { 4, "teletex" }, - { 5, "g3-facsimile" }, - { 6, "g4-facsimile" }, - { 7, "ia5-terminal" }, - { 8, "videotex" }, - { 0, NULL } -}; - - -static int -dissect_x411_TerminalType(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_integer_options, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x411_T_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 912 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_domain_defined_attribute_type_length, hf_index, &tstring); - - - if(doing_address && tstring) { - g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - g_strlcat(ddatype, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - } - - - - - return offset; -} - - - -static int -dissect_x411_T_teletex_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_) { -#line 924 "x411.cnf" - tvbuff_t *tstring = NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 1, ub_domain_defined_attribute_value_length, hf_index, &tstring); - - - if(doing_address && tstring) { - g_strlcat(oraddress, "=", MAX_ORA_STR_LEN); - g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN); - if (*ddatype) { - proto_item_append_text (tree, " (%s=%s)", ddatype, tvb_format_text(tstring, 0, tvb_length(tstring))); - } - } - - - - - return offset; -} - - -static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = { - { &hf_x411_type , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x411_T_type }, - { &hf_x411_teletex_value , BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x411_T_teletex_value }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_TeletexDomainDefinedAttribute(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 938 "x411.cnf" - ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0'; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - TeletexDomainDefinedAttribute_sequence, hf_index, ett_x411_TeletexDomainDefinedAttribute); - - - - - return offset; -} - - -static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = { - { &hf_x411_TeletexDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_TeletexDomainDefinedAttribute }, -}; - -static int -dissect_x411_TeletexDomainDefinedAttributes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_domain_defined_attributes, TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_x411_TeletexDomainDefinedAttributes); - - return offset; -} - - -static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = { - { &hf_x411_universal_type , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalOrBMPString }, - { &hf_x411_universal_value, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalOrBMPString }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_UniversalDomainDefinedAttribute(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, - UniversalDomainDefinedAttribute_sequence, hf_index, ett_x411_UniversalDomainDefinedAttribute); - - return offset; -} - - -static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = { - { &hf_x411_UniversalDomainDefinedAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_UniversalDomainDefinedAttribute }, -}; - -static int -dissect_x411_UniversalDomainDefinedAttributes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_domain_defined_attributes, UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_x411_UniversalDomainDefinedAttributes); - - return offset; -} - - - -static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = { - { &hf_x411_global_domain_identifier, BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_GlobalDomainIdentifier }, - { &hf_x411_mta_name , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x411_MTAName }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MTANameAndOptionalGDI(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 1131 "x411.cnf" - - doing_address = TRUE; - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - MTANameAndOptionalGDI_sequence, hf_index, ett_x411_MTANameAndOptionalGDI); - - - doing_address = FALSE; - proto_item_append_text(tree, ")"); - - - - return offset; -} - - -static const value_string x411_T_name_vals[] = { - { 0, "recipient-name" }, - { 1, "mta" }, - { 0, NULL } -}; - -static const ber_choice_t T_name_choice[] = { - { 0, &hf_x411_token_recipient_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_RecipientName }, - { 1, &hf_x411_token_mta , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_MTANameAndOptionalGDI }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_T_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_choice(actx, tree, tvb, offset, - T_name_choice, hf_index, ett_x411_T_name, - NULL); - - return offset; -} - - -static const value_string x411_TokenDataType_vals[] = { - { 1, "bind-token-signed-data" }, - { 2, "message-token-signed-data" }, - { 3, "message-token-encrypted-data" }, - { 4, "bind-token-encrypted-data" }, - { 0, NULL } -}; - - -static int -dissect_x411_TokenDataType(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, tree, tvb, offset, hf_index, - &extension_id); - - return offset; -} - - - -static int -dissect_x411_T_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_) { -#line 1235 "x411.cnf" - - proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_TokenDataType_vals, "tokendata-type %d")); - if (dissector_try_uint(x411_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) { - offset = tvb_length(tvb); - } else { - proto_item *item = NULL; - proto_tree *next_tree = NULL; - - item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), - "Dissector for tokendata-type %d not implemented. Contact Wireshark developers if you want this supported", extension_id); - next_tree = proto_item_add_subtree(item, ett_x411_unknown_tokendata_type); - offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree); - expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown tokendata-type"); - } - - - - return offset; -} - - -static const ber_sequence_t TokenData_sequence[] = { - { &hf_x411_token_data_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_TokenDataType }, - { &hf_x411_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_T_value }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_TokenData(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, - TokenData_sequence, hf_index, ett_x411_TokenData); - - return offset; -} - - -static const ber_sequence_t AsymmetricTokenData_sequence[] = { - { &hf_x411_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x411_name , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x411_T_name }, - { &hf_x411_time , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_x411_Time }, - { &hf_x411_signed_data , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TokenData }, - { &hf_x411_encryption_algorithm_identifier, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x411_encrypted_data , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_BIT_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_AsymmetricTokenData(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, - AsymmetricTokenData_sequence, hf_index, ett_x411_AsymmetricTokenData); - - return offset; -} - - -static const ber_sequence_t AsymmetricToken_sequence[] = { - { &hf_x411_asymmetric_token_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_AsymmetricTokenData }, - { &hf_x411_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x411_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x411_BIT_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_AsymmetricToken(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, - AsymmetricToken_sequence, hf_index, ett_x411_AsymmetricToken); - - return offset; -} - - - -static int -dissect_x411_RandomNumber(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, tree, tvb, offset, - NULL, hf_index, -1, - NULL); - - return offset; -} - - - -static int -dissect_x411_BindTokenSignedData(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_x411_RandomNumber(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x411_INTEGER(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t MessageTokenSignedData_sequence[] = { - { &hf_x411_content_confidentiality_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentConfidentialityAlgorithmIdentifier }, - { &hf_x411_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentIntegrityCheck }, - { &hf_x411_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageSecurityLabel }, - { &hf_x411_proof_of_delivery_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ProofOfDeliveryRequest }, - { &hf_x411_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_INTEGER }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageTokenSignedData(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, - MessageTokenSignedData_sequence, hf_index, ett_x411_MessageTokenSignedData); - - return offset; -} - - - -static int -dissect_x411_EncryptionKey(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, tree, tvb, offset, - NULL, hf_index, -1, - NULL); - - return offset; -} - - -static const ber_sequence_t MessageTokenEncryptedData_sequence[] = { - { &hf_x411_content_confidentiality_key, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncryptionKey }, - { &hf_x411_content_integrity_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ContentIntegrityCheck }, - { &hf_x411_message_security_label, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageSecurityLabel }, - { &hf_x411_content_integrity_key, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_EncryptionKey }, - { &hf_x411_message_sequence_number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_INTEGER }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x411_MessageTokenEncryptedData(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, - MessageTokenEncryptedData_sequence, hf_index, ett_x411_MessageTokenEncryptedData); - - return offset; -} - - - -static int -dissect_x411_BindTokenEncryptedData(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); - - return offset; -} - -/*--- PDUs ---*/ - -static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_InternalTraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_InternalTraceInformation_PDU); -} -static void dissect_InternalTraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_InternalTraceInformationElement(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_InternalTraceInformationElement_PDU); -} -static void dissect_TraceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TraceInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TraceInformation_PDU); -} -static void dissect_TraceInformationElement_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TraceInformationElement(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TraceInformationElement_PDU); -} -static int dissect_MTSBindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_MTSBindArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_MTSBindArgument_PDU); - return offset; -} -static int dissect_MTSBindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_MTSBindResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_MTSBindResult_PDU); - return offset; -} -static int dissect_PAR_mts_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_mts_bind_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_mts_bind_error_PDU); - return offset; -} -static int dissect_MessageSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_MessageSubmissionArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_MessageSubmissionArgument_PDU); - return offset; -} -static int dissect_MessageSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_MessageSubmissionResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_MessageSubmissionResult_PDU); - return offset; -} -static int dissect_ProbeSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_ProbeSubmissionArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_ProbeSubmissionArgument_PDU); - return offset; -} -static int dissect_ProbeSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_ProbeSubmissionResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_ProbeSubmissionResult_PDU); - return offset; -} -static int dissect_CancelDeferredDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_CancelDeferredDeliveryArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_CancelDeferredDeliveryArgument_PDU); - return offset; -} -static int dissect_CancelDeferredDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_CancelDeferredDeliveryResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_CancelDeferredDeliveryResult_PDU); - return offset; -} -static int dissect_SubmissionControlArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_SubmissionControlArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_SubmissionControlArgument_PDU); - return offset; -} -static int dissect_SubmissionControlResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_SubmissionControlResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_SubmissionControlResult_PDU); - return offset; -} -static int dissect_PAR_submission_control_violated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_submission_control_violated(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_submission_control_violated_PDU); - return offset; -} -static int dissect_PAR_element_of_service_not_subscribed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_element_of_service_not_subscribed(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_element_of_service_not_subscribed_PDU); - return offset; -} -static int dissect_PAR_deferred_delivery_cancellation_rejected_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_deferred_delivery_cancellation_rejected(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_deferred_delivery_cancellation_rejected_PDU); - return offset; -} -static int dissect_PAR_originator_invalid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_originator_invalid(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_originator_invalid_PDU); - return offset; -} -static int dissect_ImproperlySpecifiedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_ImproperlySpecifiedRecipients(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_ImproperlySpecifiedRecipients_PDU); - return offset; -} -static int dissect_PAR_message_submission_identifier_invalid_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_message_submission_identifier_invalid(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_message_submission_identifier_invalid_PDU); - return offset; -} -static int dissect_PAR_inconsistent_request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_inconsistent_request(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_inconsistent_request_PDU); - return offset; -} -static int dissect_SecurityProblem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_SecurityProblem(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_SecurityProblem_PDU); - return offset; -} -static int dissect_PAR_unsupported_critical_function_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_unsupported_critical_function(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_unsupported_critical_function_PDU); - return offset; -} -static int dissect_PAR_remote_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_remote_bind_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_remote_bind_error_PDU); - return offset; -} -static void dissect_MessageSubmissionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageSubmissionTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSubmissionTime_PDU); -} -static int dissect_MessageDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_MessageDeliveryArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_MessageDeliveryArgument_PDU); - return offset; -} -static int dissect_MessageDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_MessageDeliveryResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_MessageDeliveryResult_PDU); - return offset; -} -static int dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_ReportDeliveryArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_ReportDeliveryArgument_PDU); - return offset; -} -static int dissect_ReportDeliveryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_ReportDeliveryResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_ReportDeliveryResult_PDU); - return offset; -} -static int dissect_DeliveryControlArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_DeliveryControlArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_DeliveryControlArgument_PDU); - return offset; -} -static int dissect_DeliveryControlResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_DeliveryControlResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_DeliveryControlResult_PDU); - return offset; -} -static int dissect_PAR_delivery_control_violated_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_delivery_control_violated(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_delivery_control_violated_PDU); - return offset; -} -static int dissect_PAR_control_violates_registration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_control_violates_registration(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_control_violates_registration_PDU); - return offset; -} -static int dissect_RefusedOperation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_RefusedOperation(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_RefusedOperation_PDU); - return offset; -} -static void dissect_RecipientCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_RecipientCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientCertificate_PDU); -} -static void dissect_ProofOfDelivery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ProofOfDelivery(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfDelivery_PDU); -} -static int dissect_RegisterArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_RegisterArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_RegisterArgument_PDU); - return offset; -} -static int dissect_RegisterResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_RegisterResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_RegisterResult_PDU); - return offset; -} -static int dissect_ChangeCredentialsArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_ChangeCredentialsArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_ChangeCredentialsArgument_PDU); - return offset; -} -static int dissect_RES_change_credentials_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_RES_change_credentials(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_RES_change_credentials_PDU); - return offset; -} -static int dissect_PAR_register_rejected_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_register_rejected(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_register_rejected_PDU); - return offset; -} -static int dissect_PAR_new_credentials_unacceptable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_new_credentials_unacceptable(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_new_credentials_unacceptable_PDU); - return offset; -} -static int dissect_PAR_old_credentials_incorrectly_specified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - offset = dissect_x411_PAR_old_credentials_incorrectly_specified(FALSE, tvb, offset, &asn1_ctx, tree, hf_x411_PAR_old_credentials_incorrectly_specified_PDU); - return offset; -} -static void dissect_MessageSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSubmissionEnvelope_PDU); -} -static void dissect_PerRecipientMessageSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PerRecipientMessageSubmissionFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerRecipientMessageSubmissionFields_PDU); -} -static void dissect_ProbeSubmissionEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ProbeSubmissionEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProbeSubmissionEnvelope_PDU); -} -static void dissect_PerRecipientProbeSubmissionFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PerRecipientProbeSubmissionFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerRecipientProbeSubmissionFields_PDU); -} -static void dissect_MessageDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageDeliveryEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageDeliveryEnvelope_PDU); -} -static void dissect_ReportDeliveryEnvelope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ReportDeliveryEnvelope(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportDeliveryEnvelope_PDU); -} -static void dissect_PerRecipientReportDeliveryFields_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PerRecipientReportDeliveryFields(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerRecipientReportDeliveryFields_PDU); -} -static void dissect_ExtendedContentType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ExtendedContentType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedContentType_PDU); -} -static void dissect_ContentIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ContentIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentIdentifier_PDU); -} -static void dissect_PerMessageIndicators_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PerMessageIndicators(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PerMessageIndicators_PDU); -} -static void dissect_OriginatorReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_OriginatorReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorReportRequest_PDU); -} -static void dissect_DeferredDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_DeferredDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DeferredDeliveryTime_PDU); -} -static void dissect_Priority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_Priority(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_Priority_PDU); -} -static void dissect_ContentLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ContentLength(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentLength_PDU); -} -static void dissect_MessageDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageDeliveryTime_PDU); -} -static void dissect_DeliveryFlags_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_DeliveryFlags(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DeliveryFlags_PDU); -} -static void dissect_SubjectSubmissionIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_SubjectSubmissionIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_SubjectSubmissionIdentifier_PDU); -} -static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_RecipientReassignmentProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientReassignmentProhibited_PDU); -} -static void dissect_OriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_OriginatorRequestedAlternateRecipient(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorRequestedAlternateRecipient_PDU); -} -static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_DLExpansionProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansionProhibited_PDU); -} -static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ConversionWithLossProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ConversionWithLossProhibited_PDU); -} -static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_LatestDeliveryTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_LatestDeliveryTime_PDU); -} -static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_RequestedDeliveryMethod(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RequestedDeliveryMethod_PDU); -} -static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalForwardingProhibited(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingProhibited_PDU); -} -static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalForwardingAddressRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingAddressRequest_PDU); -} -static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryModes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryModes_PDU); -} -static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_RegisteredMailType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RegisteredMailType_PDU); -} -static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_RecipientNumberForAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RecipientNumberForAdvice_PDU); -} -static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalRenditionAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalRenditionAttributes_PDU); -} -static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_OriginatorReturnAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorReturnAddress_PDU); -} -static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryReportRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryReportRequest_PDU); -} -static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_OriginatorCertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorCertificate_PDU); -} -static void dissect_MessageToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageToken_PDU); -} -static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU); -} -static void dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ContentIntegrityCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentIntegrityCheck_PDU); -} -static void dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageOriginAuthenticationCheck_PDU); -} -static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageSecurityLabel_PDU); -} -static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ProofOfSubmissionRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfSubmissionRequest_PDU); -} -static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ProofOfDeliveryRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfDeliveryRequest_PDU); -} -static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ContentCorrelator(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ContentCorrelator_PDU); -} -static void dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ProbeOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProbeOriginAuthenticationCheck_PDU); -} -static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_RedirectionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_RedirectionHistory_PDU); -} -static void dissect_Redirection_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_Redirection(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_Redirection_PDU); -} -static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_DLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansionHistory_PDU); -} -static void dissect_DLExpansion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_DLExpansion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExpansion_PDU); -} -static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalForwardingAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalForwardingAddress_PDU); -} -static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatorAndDLExpansionHistory_PDU); -} -static void dissect_ReportingDLName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ReportingDLName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingDLName_PDU); -} -static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ReportingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingMTACertificate_PDU); -} -static void dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ReportOriginAuthenticationCheck(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportOriginAuthenticationCheck_PDU); -} -static void dissect_OriginatingMTACertificate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_OriginatingMTACertificate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_OriginatingMTACertificate_PDU); -} -static void dissect_ProofOfSubmission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ProofOfSubmission(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ProofOfSubmission_PDU); -} -static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ReportingMTAName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ReportingMTAName_PDU); -} -static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ExtendedCertificates(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedCertificates_PDU); -} -static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_DLExemptedRecipients(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_DLExemptedRecipients_PDU); -} -static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_CertificateSelectors(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_CertificateSelectors_PDU); -} -static void dissect_Content_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_Content(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_Content_PDU); -} -static void dissect_MTSIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MTSIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTSIdentifier_PDU); -} -static void dissect_ORName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ORName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ORName_PDU); -} -static void dissect_ORAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ORAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ORAddress_PDU); -} -static void dissect_CommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_CommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_CommonName_PDU); -} -static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TeletexCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexCommonName_PDU); -} -static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalCommonName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalCommonName_PDU); -} -static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TeletexOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexOrganizationName_PDU); -} -static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalOrganizationName_PDU); -} -static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TeletexPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexPersonalName_PDU); -} -static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPersonalName_PDU); -} -static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TeletexOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexOrganizationalUnitNames_PDU); -} -static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalOrganizationalUnitNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalOrganizationalUnitNames_PDU); -} -static void dissect_PDSName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PDSName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PDSName_PDU); -} -static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryCountryName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryCountryName_PDU); -} -static void dissect_PostalCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PostalCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PostalCode_PDU); -} -static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryOfficeName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryOfficeName_PDU); -} -static void dissect_UniversalPhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPhysicalDeliveryOfficeName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPhysicalDeliveryOfficeName_PDU); -} -static void dissect_PhysicalDeliveryOfficeNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryOfficeNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryOfficeNumber_PDU); -} -static void dissect_UniversalPhysicalDeliveryOfficeNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPhysicalDeliveryOfficeNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPhysicalDeliveryOfficeNumber_PDU); -} -static void dissect_ExtensionORAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ExtensionORAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtensionORAddressComponents_PDU); -} -static void dissect_UniversalExtensionORAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalExtensionORAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalExtensionORAddressComponents_PDU); -} -static void dissect_PhysicalDeliveryPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryPersonalName_PDU); -} -static void dissect_UniversalPhysicalDeliveryPersonalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPhysicalDeliveryPersonalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPhysicalDeliveryPersonalName_PDU); -} -static void dissect_PhysicalDeliveryOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PhysicalDeliveryOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PhysicalDeliveryOrganizationName_PDU); -} -static void dissect_UniversalPhysicalDeliveryOrganizationName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPhysicalDeliveryOrganizationName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPhysicalDeliveryOrganizationName_PDU); -} -static void dissect_ExtensionPhysicalDeliveryAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ExtensionPhysicalDeliveryAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtensionPhysicalDeliveryAddressComponents_PDU); -} -static void dissect_UniversalExtensionPhysicalDeliveryAddressComponents_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalExtensionPhysicalDeliveryAddressComponents(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalExtensionPhysicalDeliveryAddressComponents_PDU); -} -static void dissect_UnformattedPostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UnformattedPostalAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UnformattedPostalAddress_PDU); -} -static void dissect_UniversalUnformattedPostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalUnformattedPostalAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalUnformattedPostalAddress_PDU); -} -static void dissect_StreetAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_StreetAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_StreetAddress_PDU); -} -static void dissect_UniversalStreetAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalStreetAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalStreetAddress_PDU); -} -static void dissect_PostOfficeBoxAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PostOfficeBoxAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PostOfficeBoxAddress_PDU); -} -static void dissect_UniversalPostOfficeBoxAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPostOfficeBoxAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPostOfficeBoxAddress_PDU); -} -static void dissect_PosteRestanteAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_PosteRestanteAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_PosteRestanteAddress_PDU); -} -static void dissect_UniversalPosteRestanteAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalPosteRestanteAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalPosteRestanteAddress_PDU); -} -static void dissect_UniquePostalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniquePostalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniquePostalName_PDU); -} -static void dissect_UniversalUniquePostalName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalUniquePostalName(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalUniquePostalName_PDU); -} -static void dissect_LocalPostalAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_LocalPostalAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_LocalPostalAttributes_PDU); -} -static void dissect_UniversalLocalPostalAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalLocalPostalAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalLocalPostalAttributes_PDU); -} -static void dissect_ExtendedNetworkAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ExtendedNetworkAddress(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedNetworkAddress_PDU); -} -static void dissect_TerminalType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TerminalType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TerminalType_PDU); -} -static void dissect_TeletexDomainDefinedAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_TeletexDomainDefinedAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_TeletexDomainDefinedAttributes_PDU); -} -static void dissect_UniversalDomainDefinedAttributes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_UniversalDomainDefinedAttributes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_UniversalDomainDefinedAttributes_PDU); -} -static void dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_ExtendedEncodedInformationType_PDU); -} -static void dissect_MTANameAndOptionalGDI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MTANameAndOptionalGDI(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTANameAndOptionalGDI_PDU); -} -static void dissect_AsymmetricToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_AsymmetricToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_AsymmetricToken_PDU); -} -static void dissect_BindTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_BindTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_BindTokenSignedData_PDU); -} -static void dissect_MessageTokenSignedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageTokenSignedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageTokenSignedData_PDU); -} -static void dissect_MessageTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_MessageTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MessageTokenEncryptedData_PDU); -} -static void dissect_BindTokenEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_BindTokenEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_BindTokenEncryptedData_PDU); -} -static void dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x411_SecurityClassification(FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_SecurityClassification_PDU); -} - - -/*--- End of included file: packet-x411-fn.c ---*/ -#line 102 "packet-x411-template.c" - - -/*--- Included file: packet-x411-table11.c ---*/ -#line 1 "packet-x411-table11.c" - -static const ros_opr_t p3_opr_tab[] = { - /* mts-bind */ - { op_ros_bind , dissect_MTSBindArgument_PDU, dissect_MTSBindResult_PDU }, - /* message-submission */ - { op_message_submission , dissect_MessageSubmissionArgument_PDU, dissect_MessageSubmissionResult_PDU }, - /* probe-submission */ - { op_probe_submission , dissect_ProbeSubmissionArgument_PDU, dissect_ProbeSubmissionResult_PDU }, - /* cancel-deferred-delivery */ - { op_cancel_deferred_delivery, dissect_CancelDeferredDeliveryArgument_PDU, dissect_CancelDeferredDeliveryResult_PDU }, - /* submission-control */ - { op_submission_control , dissect_SubmissionControlArgument_PDU, dissect_SubmissionControlResult_PDU }, - /* message-delivery */ - { op_message_delivery , dissect_MessageDeliveryArgument_PDU, dissect_MessageDeliveryResult_PDU }, - /* report-delivery */ - { op_report_delivery , dissect_ReportDeliveryArgument_PDU, dissect_ReportDeliveryResult_PDU }, - /* delivery-control */ - { op_delivery_control , dissect_DeliveryControlArgument_PDU, dissect_DeliveryControlResult_PDU }, - /* register */ - { op_register , dissect_RegisterArgument_PDU, dissect_RegisterResult_PDU }, - /* change-credentials */ - { op_change_credentials , dissect_ChangeCredentialsArgument_PDU, dissect_RES_change_credentials_PDU }, - { 0, (new_dissector_t)(-1), (new_dissector_t)(-1) }, -}; - - -/*--- End of included file: packet-x411-table11.c ---*/ -#line 104 "packet-x411-template.c" - -/*--- Included file: packet-x411-table21.c ---*/ -#line 1 "packet-x411-table21.c" - -static const ros_err_t p3_err_tab[] = { - /* mts-bind-error*/ - { err_ros_bind, dissect_PAR_mts_bind_error_PDU }, - /* submission-control-violated*/ - { err_submission_control_violated, dissect_PAR_submission_control_violated_PDU }, - /* element-of-service-not-subscribed*/ - { err_element_of_service_not_subscribed, dissect_PAR_element_of_service_not_subscribed_PDU }, - /* deferred-delivery-cancellation-rejected*/ - { err_deferred_delivery_cancellation_rejected, dissect_PAR_deferred_delivery_cancellation_rejected_PDU }, - /* originator-invalid*/ - { err_originator_invalid, dissect_PAR_originator_invalid_PDU }, - /* recipient-improperly-specified*/ - { err_recipient_improperly_specified, dissect_ImproperlySpecifiedRecipients_PDU }, - /* message-submission-identifier-invalid*/ - { err_message_submission_identifier_invalid, dissect_PAR_message_submission_identifier_invalid_PDU }, - /* inconsistent-request*/ - { err_inconsistent_request, dissect_PAR_inconsistent_request_PDU }, - /* security-error*/ - { err_security_error, dissect_SecurityProblem_PDU }, - /* unsupported-critical-function*/ - { err_unsupported_critical_function, dissect_PAR_unsupported_critical_function_PDU }, - /* remote-bind-error*/ - { err_remote_bind_error, dissect_PAR_remote_bind_error_PDU }, - /* delivery-control-violated*/ - { err_delivery_control_violated, dissect_PAR_delivery_control_violated_PDU }, - /* control-violates-registration*/ - { err_control_violates_registration, dissect_PAR_control_violates_registration_PDU }, - /* operation-refused*/ - { err_operation_refused, dissect_RefusedOperation_PDU }, - /* register-rejected*/ - { err_register_rejected, dissect_PAR_register_rejected_PDU }, - /* new-credentials-unacceptable*/ - { err_new_credentials_unacceptable, dissect_PAR_new_credentials_unacceptable_PDU }, - /* old-credentials-incorrectly-specified*/ - { err_old_credentials_incorrectly_specified, dissect_PAR_old_credentials_incorrectly_specified_PDU }, - { 0, (new_dissector_t)(-1) }, -}; - - -/*--- End of included file: packet-x411-table21.c ---*/ -#line 105 "packet-x411-template.c" - -static const ros_info_t p3_ros_info = { - "P3", - &proto_p3, - &ett_p3, - p3_opr_code_string_vals, - p3_opr_tab, - p3_err_code_string_vals, - p3_err_tab -}; - - -char* x411_get_last_oraddress() { return oraddress; } - -/* - * Dissect X411 MTS APDU - */ -void -dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) -{ - proto_item *item=NULL; - proto_tree *tree=NULL; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - - /* save parent_tree so subdissectors can create new top nodes */ - top_tree=parent_tree; - - if(parent_tree){ - item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE); - tree = proto_item_add_subtree(item, ett_x411); - } - - col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1"); - col_set_str(pinfo->cinfo, COL_INFO, "Transfer"); - - dissect_x411_MTS_APDU (FALSE, tvb, 0, &asn1_ctx, tree, hf_x411_MTS_APDU_PDU); -} - -/* -* Dissect X411 PDUs inside a PPDU. -*/ -static void -dissect_x411(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) -{ - int offset = 0; - int old_offset; - proto_item *item=NULL; - proto_tree *tree=NULL; - int (*x411_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) = NULL; - char *x411_op_name; - int hf_x411_index = -1; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - - /* save parent_tree so subdissectors can create new top nodes */ - top_tree=parent_tree; - - /* do we have operation information from the ROS dissector? */ - if( !pinfo->private_data ){ - if(parent_tree){ - proto_tree_add_text(parent_tree, tvb, offset, -1, - "Internal error: can't get operation information from ROS dissector."); - } - return ; - } else { - session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) ); - } - - if(parent_tree){ - item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE); - tree = proto_item_add_subtree(item, ett_x411); - } - col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1"); - col_clear(pinfo->cinfo, COL_INFO); - - switch(session->ros_op & ROS_OP_MASK) { - case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */ - x411_dissector = dissect_x411_MTABindArgument; - x411_op_name = "Bind-Argument"; - hf_x411_index = hf_x411_MTABindArgument_PDU; - break; - case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */ - x411_dissector = dissect_x411_MTABindResult; - x411_op_name = "Bind-Result"; - hf_x411_index = hf_x411_MTABindResult_PDU; - break; - case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */ - x411_dissector = dissect_x411_MTABindError; - x411_op_name = "Bind-Error"; - hf_x411_index = hf_x411_MTABindError_PDU; - break; - case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */ - x411_dissector = dissect_x411_MTS_APDU; - x411_op_name = "Transfer"; - hf_x411_index = hf_x411_MTS_APDU_PDU; - break; - default: - proto_tree_add_text(tree, tvb, offset, -1,"Unsupported X411 PDU"); - return; - } - - if (check_col(pinfo->cinfo, COL_INFO)) - col_set_str(pinfo->cinfo, COL_INFO, x411_op_name); - - while (tvb_reported_length_remaining(tvb, offset) > 0){ - old_offset=offset; - offset=(*x411_dissector)(FALSE, tvb, offset, &asn1_ctx , tree, hf_x411_index); - if(offset == old_offset){ - proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte X411 PDU"); - offset = tvb_length(tvb); - break; - } - } -} - - -/*--- proto_register_x411 -------------------------------------------*/ -void proto_register_x411(void) { - - /* List of fields */ - static hf_register_info hf[] = - { - /* "Created by defining PDU in .cnf */ - { &hf_x411_MTABindArgument_PDU, - { "MTABindArgument", "x411.MTABindArgument", - FT_UINT32, BASE_DEC, VALS(x411_MTABindArgument_vals), 0, - "x411.MTABindArgument", HFILL }}, - { &hf_x411_MTABindResult_PDU, - { "MTABindResult", "x411.MTABindResult", - FT_UINT32, BASE_DEC, VALS(x411_MTABindResult_vals), 0, - "x411.MTABindResult", HFILL }}, - { &hf_x411_MTABindError_PDU, - { "MTABindError", "x411.MTABindError", - FT_UINT32, BASE_DEC, VALS(x411_MTABindError_vals), 0, - "x411.MTABindError", HFILL }}, - { &hf_x411_MTS_APDU_PDU, - { "MTS-APDU", "x411.MTS_APDU", - FT_UINT32, BASE_DEC, VALS(x411_MTS_APDU_vals), 0, - "x411.MTS_APDU", HFILL }}, - - -/*--- Included file: packet-x411-hfarr.c ---*/ -#line 1 "packet-x411-hfarr.c" - { &hf_x411_InternalTraceInformation_PDU, - { "InternalTraceInformation", "x411.InternalTraceInformation", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_InternalTraceInformationElement_PDU, - { "InternalTraceInformationElement", "x411.InternalTraceInformationElement", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_TraceInformation_PDU, - { "TraceInformation", "x411.TraceInformation", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_TraceInformationElement_PDU, - { "TraceInformationElement", "x411.TraceInformationElement", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MTSBindArgument_PDU, - { "MTSBindArgument", "x411.MTSBindArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MTSBindResult_PDU, - { "MTSBindResult", "x411.MTSBindResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_mts_bind_error_PDU, - { "PAR-mts-bind-error", "x411.PAR_mts_bind_error", - FT_UINT32, BASE_DEC, VALS(x411_PAR_mts_bind_error_vals), 0, - NULL, HFILL }}, - { &hf_x411_MessageSubmissionArgument_PDU, - { "MessageSubmissionArgument", "x411.MessageSubmissionArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageSubmissionResult_PDU, - { "MessageSubmissionResult", "x411.MessageSubmissionResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ProbeSubmissionArgument_PDU, - { "ProbeSubmissionArgument", "x411.ProbeSubmissionArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ProbeSubmissionResult_PDU, - { "ProbeSubmissionResult", "x411.ProbeSubmissionResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_CancelDeferredDeliveryArgument_PDU, - { "CancelDeferredDeliveryArgument", "x411.CancelDeferredDeliveryArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_CancelDeferredDeliveryResult_PDU, - { "CancelDeferredDeliveryResult", "x411.CancelDeferredDeliveryResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_SubmissionControlArgument_PDU, - { "SubmissionControlArgument", "x411.SubmissionControlArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_SubmissionControlResult_PDU, - { "SubmissionControlResult", "x411.SubmissionControlResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_submission_control_violated_PDU, - { "PAR-submission-control-violated", "x411.PAR_submission_control_violated", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_element_of_service_not_subscribed_PDU, - { "PAR-element-of-service-not-subscribed", "x411.PAR_element_of_service_not_subscribed", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_deferred_delivery_cancellation_rejected_PDU, - { "PAR-deferred-delivery-cancellation-rejected", "x411.PAR_deferred_delivery_cancellation_rejected", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_originator_invalid_PDU, - { "PAR-originator-invalid", "x411.PAR_originator_invalid", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ImproperlySpecifiedRecipients_PDU, - { "ImproperlySpecifiedRecipients", "x411.ImproperlySpecifiedRecipients", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_message_submission_identifier_invalid_PDU, - { "PAR-message-submission-identifier-invalid", "x411.PAR_message_submission_identifier_invalid", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_inconsistent_request_PDU, - { "PAR-inconsistent-request", "x411.PAR_inconsistent_request", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_SecurityProblem_PDU, - { "SecurityProblem", "x411.SecurityProblem", - FT_UINT32, BASE_DEC, VALS(x411_SecurityProblem_vals), 0, - NULL, HFILL }}, - { &hf_x411_PAR_unsupported_critical_function_PDU, - { "PAR-unsupported-critical-function", "x411.PAR_unsupported_critical_function", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_remote_bind_error_PDU, - { "PAR-remote-bind-error", "x411.PAR_remote_bind_error", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageSubmissionTime_PDU, - { "MessageSubmissionTime", "x411.MessageSubmissionTime", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageDeliveryArgument_PDU, - { "MessageDeliveryArgument", "x411.MessageDeliveryArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageDeliveryResult_PDU, - { "MessageDeliveryResult", "x411.MessageDeliveryResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportDeliveryArgument_PDU, - { "ReportDeliveryArgument", "x411.ReportDeliveryArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportDeliveryResult_PDU, - { "ReportDeliveryResult", "x411.ReportDeliveryResult", - FT_UINT32, BASE_DEC, VALS(x411_ReportDeliveryResult_vals), 0, - NULL, HFILL }}, - { &hf_x411_DeliveryControlArgument_PDU, - { "DeliveryControlArgument", "x411.DeliveryControlArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DeliveryControlResult_PDU, - { "DeliveryControlResult", "x411.DeliveryControlResult", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_delivery_control_violated_PDU, - { "PAR-delivery-control-violated", "x411.PAR_delivery_control_violated", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_control_violates_registration_PDU, - { "PAR-control-violates-registration", "x411.PAR_control_violates_registration", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RefusedOperation_PDU, - { "RefusedOperation", "x411.RefusedOperation", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RecipientCertificate_PDU, - { "RecipientCertificate", "x411.RecipientCertificate", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ProofOfDelivery_PDU, - { "ProofOfDelivery", "x411.ProofOfDelivery", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RegisterArgument_PDU, - { "RegisterArgument", "x411.RegisterArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RegisterResult_PDU, - { "RegisterResult", "x411.RegisterResult", - FT_UINT32, BASE_DEC, VALS(x411_RegisterResult_vals), 0, - NULL, HFILL }}, - { &hf_x411_ChangeCredentialsArgument_PDU, - { "ChangeCredentialsArgument", "x411.ChangeCredentialsArgument", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RES_change_credentials_PDU, - { "RES-change-credentials", "x411.RES_change_credentials", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_register_rejected_PDU, - { "PAR-register-rejected", "x411.PAR_register_rejected", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_new_credentials_unacceptable_PDU, - { "PAR-new-credentials-unacceptable", "x411.PAR_new_credentials_unacceptable", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PAR_old_credentials_incorrectly_specified_PDU, - { "PAR-old-credentials-incorrectly-specified", "x411.PAR_old_credentials_incorrectly_specified", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageSubmissionEnvelope_PDU, - { "MessageSubmissionEnvelope", "x411.MessageSubmissionEnvelope", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PerRecipientMessageSubmissionFields_PDU, - { "PerRecipientMessageSubmissionFields", "x411.PerRecipientMessageSubmissionFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ProbeSubmissionEnvelope_PDU, - { "ProbeSubmissionEnvelope", "x411.ProbeSubmissionEnvelope", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PerRecipientProbeSubmissionFields_PDU, - { "PerRecipientProbeSubmissionFields", "x411.PerRecipientProbeSubmissionFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageDeliveryEnvelope_PDU, - { "MessageDeliveryEnvelope", "x411.MessageDeliveryEnvelope", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportDeliveryEnvelope_PDU, - { "ReportDeliveryEnvelope", "x411.ReportDeliveryEnvelope", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PerRecipientReportDeliveryFields_PDU, - { "PerRecipientReportDeliveryFields", "x411.PerRecipientReportDeliveryFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ExtendedContentType_PDU, - { "ExtendedContentType", "x411.ExtendedContentType", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ContentIdentifier_PDU, - { "ContentIdentifier", "x411.ContentIdentifier", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_PDU, - { "PerMessageIndicators", "x411.PerMessageIndicators", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_OriginatorReportRequest_PDU, - { "OriginatorReportRequest", "x411.OriginatorReportRequest", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DeferredDeliveryTime_PDU, - { "DeferredDeliveryTime", "x411.DeferredDeliveryTime", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_Priority_PDU, - { "Priority", "x411.Priority", - FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0, - NULL, HFILL }}, - { &hf_x411_ContentLength_PDU, - { "ContentLength", "x411.ContentLength", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageDeliveryTime_PDU, - { "MessageDeliveryTime", "x411.MessageDeliveryTime", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DeliveryFlags_PDU, - { "DeliveryFlags", "x411.DeliveryFlags", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_SubjectSubmissionIdentifier_PDU, - { "SubjectSubmissionIdentifier", "x411.SubjectSubmissionIdentifier", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RecipientReassignmentProhibited_PDU, - { "RecipientReassignmentProhibited", "x411.RecipientReassignmentProhibited", - FT_UINT32, BASE_DEC, VALS(x411_RecipientReassignmentProhibited_vals), 0, - NULL, HFILL }}, - { &hf_x411_OriginatorRequestedAlternateRecipient_PDU, - { "OriginatorRequestedAlternateRecipient", "x411.OriginatorRequestedAlternateRecipient", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DLExpansionProhibited_PDU, - { "DLExpansionProhibited", "x411.DLExpansionProhibited", - FT_UINT32, BASE_DEC, VALS(x411_DLExpansionProhibited_vals), 0, - NULL, HFILL }}, - { &hf_x411_ConversionWithLossProhibited_PDU, - { "ConversionWithLossProhibited", "x411.ConversionWithLossProhibited", - FT_UINT32, BASE_DEC, VALS(x411_ConversionWithLossProhibited_vals), 0, - NULL, HFILL }}, - { &hf_x411_LatestDeliveryTime_PDU, - { "LatestDeliveryTime", "x411.LatestDeliveryTime", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RequestedDeliveryMethod_PDU, - { "RequestedDeliveryMethod", "x411.RequestedDeliveryMethod", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalForwardingProhibited_PDU, - { "PhysicalForwardingProhibited", "x411.PhysicalForwardingProhibited", - FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingProhibited_vals), 0, - NULL, HFILL }}, - { &hf_x411_PhysicalForwardingAddressRequest_PDU, - { "PhysicalForwardingAddressRequest", "x411.PhysicalForwardingAddressRequest", - FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingAddressRequest_vals), 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_PDU, - { "PhysicalDeliveryModes", "x411.PhysicalDeliveryModes", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RegisteredMailType_PDU, - { "RegisteredMailType", "x411.RegisteredMailType", - FT_UINT32, BASE_DEC, VALS(x411_RegisteredMailType_vals), 0, - NULL, HFILL }}, - { &hf_x411_RecipientNumberForAdvice_PDU, - { "RecipientNumberForAdvice", "x411.RecipientNumberForAdvice", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalRenditionAttributes_PDU, - { "PhysicalRenditionAttributes", "x411.PhysicalRenditionAttributes", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_OriginatorReturnAddress_PDU, - { "OriginatorReturnAddress", "x411.OriginatorReturnAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryReportRequest_PDU, - { "PhysicalDeliveryReportRequest", "x411.PhysicalDeliveryReportRequest", - FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryReportRequest_vals), 0, - NULL, HFILL }}, - { &hf_x411_OriginatorCertificate_PDU, - { "OriginatorCertificate", "x411.OriginatorCertificate", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageToken_PDU, - { "MessageToken", "x411.MessageToken", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU, - { "ContentConfidentialityAlgorithmIdentifier", "x411.ContentConfidentialityAlgorithmIdentifier", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ContentIntegrityCheck_PDU, - { "ContentIntegrityCheck", "x411.ContentIntegrityCheck", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageOriginAuthenticationCheck_PDU, - { "MessageOriginAuthenticationCheck", "x411.MessageOriginAuthenticationCheck", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageSecurityLabel_PDU, - { "MessageSecurityLabel", "x411.MessageSecurityLabel", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ProofOfSubmissionRequest_PDU, - { "ProofOfSubmissionRequest", "x411.ProofOfSubmissionRequest", - FT_UINT32, BASE_DEC, VALS(x411_ProofOfSubmissionRequest_vals), 0, - NULL, HFILL }}, - { &hf_x411_ProofOfDeliveryRequest_PDU, - { "ProofOfDeliveryRequest", "x411.ProofOfDeliveryRequest", - FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0, - NULL, HFILL }}, - { &hf_x411_ContentCorrelator_PDU, - { "ContentCorrelator", "x411.ContentCorrelator", - FT_UINT32, BASE_DEC, VALS(x411_ContentCorrelator_vals), 0, - NULL, HFILL }}, - { &hf_x411_ProbeOriginAuthenticationCheck_PDU, - { "ProbeOriginAuthenticationCheck", "x411.ProbeOriginAuthenticationCheck", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_RedirectionHistory_PDU, - { "RedirectionHistory", "x411.RedirectionHistory", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_Redirection_PDU, - { "Redirection", "x411.Redirection", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DLExpansionHistory_PDU, - { "DLExpansionHistory", "x411.DLExpansionHistory", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DLExpansion_PDU, - { "DLExpansion", "x411.DLExpansion", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalForwardingAddress_PDU, - { "PhysicalForwardingAddress", "x411.PhysicalForwardingAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_OriginatorAndDLExpansionHistory_PDU, - { "OriginatorAndDLExpansionHistory", "x411.OriginatorAndDLExpansionHistory", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportingDLName_PDU, - { "ReportingDLName", "x411.ReportingDLName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportingMTACertificate_PDU, - { "ReportingMTACertificate", "x411.ReportingMTACertificate", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportOriginAuthenticationCheck_PDU, - { "ReportOriginAuthenticationCheck", "x411.ReportOriginAuthenticationCheck", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_OriginatingMTACertificate_PDU, - { "OriginatingMTACertificate", "x411.OriginatingMTACertificate", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ProofOfSubmission_PDU, - { "ProofOfSubmission", "x411.ProofOfSubmission", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ReportingMTAName_PDU, - { "ReportingMTAName", "x411.ReportingMTAName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ExtendedCertificates_PDU, - { "ExtendedCertificates", "x411.ExtendedCertificates", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_DLExemptedRecipients_PDU, - { "DLExemptedRecipients", "x411.DLExemptedRecipients", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_CertificateSelectors_PDU, - { "CertificateSelectors", "x411.CertificateSelectors", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_Content_PDU, - { "Content", "x411.Content", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MTSIdentifier_PDU, - { "MTSIdentifier", "x411.MTSIdentifier", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ORName_PDU, - { "ORName", "x411.ORName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ORAddress_PDU, - { "ORAddress", "x411.ORAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_CommonName_PDU, - { "CommonName", "x411.CommonName", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_TeletexCommonName_PDU, - { "TeletexCommonName", "x411.TeletexCommonName", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalCommonName_PDU, - { "UniversalCommonName", "x411.UniversalCommonName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_TeletexOrganizationName_PDU, - { "TeletexOrganizationName", "x411.TeletexOrganizationName", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalOrganizationName_PDU, - { "UniversalOrganizationName", "x411.UniversalOrganizationName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_TeletexPersonalName_PDU, - { "TeletexPersonalName", "x411.TeletexPersonalName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPersonalName_PDU, - { "UniversalPersonalName", "x411.UniversalPersonalName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_TeletexOrganizationalUnitNames_PDU, - { "TeletexOrganizationalUnitNames", "x411.TeletexOrganizationalUnitNames", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalOrganizationalUnitNames_PDU, - { "UniversalOrganizationalUnitNames", "x411.UniversalOrganizationalUnitNames", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PDSName_PDU, - { "PDSName", "x411.PDSName", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryCountryName_PDU, - { "PhysicalDeliveryCountryName", "x411.PhysicalDeliveryCountryName", - FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryCountryName_vals), 0, - NULL, HFILL }}, - { &hf_x411_PostalCode_PDU, - { "PostalCode", "x411.PostalCode", - FT_UINT32, BASE_DEC, VALS(x411_PostalCode_vals), 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryOfficeName_PDU, - { "PhysicalDeliveryOfficeName", "x411.PhysicalDeliveryOfficeName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPhysicalDeliveryOfficeName_PDU, - { "UniversalPhysicalDeliveryOfficeName", "x411.UniversalPhysicalDeliveryOfficeName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryOfficeNumber_PDU, - { "PhysicalDeliveryOfficeNumber", "x411.PhysicalDeliveryOfficeNumber", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPhysicalDeliveryOfficeNumber_PDU, - { "UniversalPhysicalDeliveryOfficeNumber", "x411.UniversalPhysicalDeliveryOfficeNumber", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ExtensionORAddressComponents_PDU, - { "ExtensionORAddressComponents", "x411.ExtensionORAddressComponents", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalExtensionORAddressComponents_PDU, - { "UniversalExtensionORAddressComponents", "x411.UniversalExtensionORAddressComponents", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryPersonalName_PDU, - { "PhysicalDeliveryPersonalName", "x411.PhysicalDeliveryPersonalName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPhysicalDeliveryPersonalName_PDU, - { "UniversalPhysicalDeliveryPersonalName", "x411.UniversalPhysicalDeliveryPersonalName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryOrganizationName_PDU, - { "PhysicalDeliveryOrganizationName", "x411.PhysicalDeliveryOrganizationName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPhysicalDeliveryOrganizationName_PDU, - { "UniversalPhysicalDeliveryOrganizationName", "x411.UniversalPhysicalDeliveryOrganizationName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ExtensionPhysicalDeliveryAddressComponents_PDU, - { "ExtensionPhysicalDeliveryAddressComponents", "x411.ExtensionPhysicalDeliveryAddressComponents", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalExtensionPhysicalDeliveryAddressComponents_PDU, - { "UniversalExtensionPhysicalDeliveryAddressComponents", "x411.UniversalExtensionPhysicalDeliveryAddressComponents", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UnformattedPostalAddress_PDU, - { "UnformattedPostalAddress", "x411.UnformattedPostalAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalUnformattedPostalAddress_PDU, - { "UniversalUnformattedPostalAddress", "x411.UniversalUnformattedPostalAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_StreetAddress_PDU, - { "StreetAddress", "x411.StreetAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalStreetAddress_PDU, - { "UniversalStreetAddress", "x411.UniversalStreetAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PostOfficeBoxAddress_PDU, - { "PostOfficeBoxAddress", "x411.PostOfficeBoxAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPostOfficeBoxAddress_PDU, - { "UniversalPostOfficeBoxAddress", "x411.UniversalPostOfficeBoxAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_PosteRestanteAddress_PDU, - { "PosteRestanteAddress", "x411.PosteRestanteAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalPosteRestanteAddress_PDU, - { "UniversalPosteRestanteAddress", "x411.UniversalPosteRestanteAddress", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniquePostalName_PDU, - { "UniquePostalName", "x411.UniquePostalName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalUniquePostalName_PDU, - { "UniversalUniquePostalName", "x411.UniversalUniquePostalName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_LocalPostalAttributes_PDU, - { "LocalPostalAttributes", "x411.LocalPostalAttributes", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalLocalPostalAttributes_PDU, - { "UniversalLocalPostalAttributes", "x411.UniversalLocalPostalAttributes", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ExtendedNetworkAddress_PDU, - { "ExtendedNetworkAddress", "x411.ExtendedNetworkAddress", - FT_UINT32, BASE_DEC, VALS(x411_ExtendedNetworkAddress_vals), 0, - NULL, HFILL }}, - { &hf_x411_TerminalType_PDU, - { "TerminalType", "x411.TerminalType", - FT_UINT32, BASE_DEC, VALS(x411_TerminalType_vals), 0, - NULL, HFILL }}, - { &hf_x411_TeletexDomainDefinedAttributes_PDU, - { "TeletexDomainDefinedAttributes", "x411.TeletexDomainDefinedAttributes", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalDomainDefinedAttributes_PDU, - { "UniversalDomainDefinedAttributes", "x411.UniversalDomainDefinedAttributes", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_ExtendedEncodedInformationType_PDU, - { "ExtendedEncodedInformationType", "x411.ExtendedEncodedInformationType", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MTANameAndOptionalGDI_PDU, - { "MTANameAndOptionalGDI", "x411.MTANameAndOptionalGDI", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_AsymmetricToken_PDU, - { "AsymmetricToken", "x411.AsymmetricToken", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_BindTokenSignedData_PDU, - { "BindTokenSignedData", "x411.BindTokenSignedData", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageTokenSignedData_PDU, - { "MessageTokenSignedData", "x411.MessageTokenSignedData", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_MessageTokenEncryptedData_PDU, - { "MessageTokenEncryptedData", "x411.MessageTokenEncryptedData", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_BindTokenEncryptedData_PDU, - { "BindTokenEncryptedData", "x411.BindTokenEncryptedData", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_SecurityClassification_PDU, - { "SecurityClassification", "x411.SecurityClassification", - FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0, - NULL, HFILL }}, - { &hf_x411_unauthenticated, - { "unauthenticated", "x411.unauthenticated", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_authenticated_argument, - { "authenticated", "x411.authenticated", - FT_NONE, BASE_NONE, NULL, 0, - "AuthenticatedArgument", HFILL }}, - { &hf_x411_authenticated_initiator_name, - { "initiator-name", "x411.initiator_name", - FT_STRING, BASE_NONE, NULL, 0, - "MTAName", HFILL }}, - { &hf_x411_initiator_credentials, - { "initiator-credentials", "x411.initiator_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, - "InitiatorCredentials", HFILL }}, - { &hf_x411_security_context, - { "security-context", "x411.security_context", - FT_UINT32, BASE_DEC, NULL, 0, - "SecurityContext", HFILL }}, - { &hf_x411_authenticated_result, - { "authenticated", "x411.authenticated", - FT_NONE, BASE_NONE, NULL, 0, - "AuthenticatedResult", HFILL }}, - { &hf_x411_authenticated_responder_name, - { "responder-name", "x411.responder_name", - FT_STRING, BASE_NONE, NULL, 0, - "MTAName", HFILL }}, - { &hf_x411_responder_credentials, - { "responder-credentials", "x411.responder_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, - "ResponderCredentials", HFILL }}, - { &hf_x411_message, - { "message", "x411.message", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_probe, - { "probe", "x411.probe", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_report, - { "report", "x411.report", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_message_envelope, - { "envelope", "x411.envelope", - FT_NONE, BASE_NONE, NULL, 0, - "MessageTransferEnvelope", HFILL }}, - { &hf_x411_content, - { "content", "x411.content", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_report_envelope, - { "envelope", "x411.envelope", - FT_NONE, BASE_NONE, NULL, 0, - "ReportTransferEnvelope", HFILL }}, - { &hf_x411_report_content, - { "content", "x411.content", - FT_NONE, BASE_NONE, NULL, 0, - "ReportTransferContent", HFILL }}, - { &hf_x411_message_identifier, - { "message-identifier", "x411.message_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "MessageIdentifier", HFILL }}, - { &hf_x411_originator_name, - { "originator-name", "x411.originator_name", - FT_NONE, BASE_NONE, NULL, 0, - "MTAOriginatorName", HFILL }}, - { &hf_x411_original_encoded_information_types, - { "original-encoded-information-types", "x411.original_encoded_information_types", - FT_NONE, BASE_NONE, NULL, 0, - "OriginalEncodedInformationTypes", HFILL }}, - { &hf_x411_content_type, - { "content-type", "x411.content_type", - FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0, - "ContentType", HFILL }}, - { &hf_x411_content_identifier, - { "content-identifier", "x411.content_identifier", - FT_STRING, BASE_NONE, NULL, 0, - "ContentIdentifier", HFILL }}, - { &hf_x411_priority, - { "priority", "x411.priority", - FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0, - NULL, HFILL }}, - { &hf_x411_per_message_indicators, - { "per-message-indicators", "x411.per_message_indicators", - FT_BYTES, BASE_NONE, NULL, 0, - "PerMessageIndicators", HFILL }}, - { &hf_x411_deferred_delivery_time, - { "deferred-delivery-time", "x411.deferred_delivery_time", - FT_STRING, BASE_NONE, NULL, 0, - "DeferredDeliveryTime", HFILL }}, - { &hf_x411_per_domain_bilateral_information, - { "per-domain-bilateral-information", "x411.per_domain_bilateral_information", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation", HFILL }}, - { &hf_x411_per_domain_bilateral_information_item, - { "PerDomainBilateralInformation", "x411.PerDomainBilateralInformation", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_trace_information, - { "trace-information", "x411.trace_information", - FT_UINT32, BASE_DEC, NULL, 0, - "TraceInformation", HFILL }}, - { &hf_x411_extensions, - { "extensions", "x411.extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_OF_ExtensionField", HFILL }}, - { &hf_x411_extensions_item, - { "ExtensionField", "x411.ExtensionField", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_recipient_name, - { "recipient-name", "x411.recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "MTARecipientName", HFILL }}, - { &hf_x411_originally_specified_recipient_number, - { "originally-specified-recipient-number", "x411.originally_specified_recipient_number", - FT_UINT32, BASE_DEC, NULL, 0, - "OriginallySpecifiedRecipientNumber", HFILL }}, - { &hf_x411_per_recipient_indicators, - { "per-recipient-indicators", "x411.per_recipient_indicators", - FT_BYTES, BASE_NONE, NULL, 0, - "PerRecipientIndicators", HFILL }}, - { &hf_x411_explicit_conversion, - { "explicit-conversion", "x411.explicit_conversion", - FT_UINT32, BASE_DEC, VALS(x411_ExplicitConversion_vals), 0, - "ExplicitConversion", HFILL }}, - { &hf_x411_probe_identifier, - { "probe-identifier", "x411.probe_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "ProbeIdentifier", HFILL }}, - { &hf_x411_content_length, - { "content-length", "x411.content_length", - FT_UINT32, BASE_DEC, NULL, 0, - "ContentLength", HFILL }}, - { &hf_x411_report_identifier, - { "report-identifier", "x411.report_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "ReportIdentifier", HFILL }}, - { &hf_x411_report_destination_name, - { "report-destination-name", "x411.report_destination_name", - FT_NONE, BASE_NONE, NULL, 0, - "ReportDestinationName", HFILL }}, - { &hf_x411_subject_identifier, - { "subject-identifier", "x411.subject_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "SubjectIdentifier", HFILL }}, - { &hf_x411_subject_intermediate_trace_information, - { "subject-intermediate-trace-information", "x411.subject_intermediate_trace_information", - FT_UINT32, BASE_DEC, NULL, 0, - "SubjectIntermediateTraceInformation", HFILL }}, - { &hf_x411_returned_content, - { "returned-content", "x411.returned_content", - FT_BYTES, BASE_NONE, NULL, 0, - "Content", HFILL }}, - { &hf_x411_additional_information, - { "additional-information", "x411.additional_information", - FT_NONE, BASE_NONE, NULL, 0, - "AdditionalInformation", HFILL }}, - { &hf_x411_mta_actual_recipient_name, - { "actual-recipient-name", "x411.actual_recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "MTAActualRecipientName", HFILL }}, - { &hf_x411_last_trace_information, - { "last-trace-information", "x411.last_trace_information", - FT_NONE, BASE_NONE, NULL, 0, - "LastTraceInformation", HFILL }}, - { &hf_x411_report_originally_intended_recipient_name, - { "originally-intended-recipient-name", "x411.originally_intended_recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "OriginallyIntendedRecipientName", HFILL }}, - { &hf_x411_supplementary_information, - { "supplementary-information", "x411.supplementary_information", - FT_STRING, BASE_NONE, NULL, 0, - "SupplementaryInformation", HFILL }}, - { &hf_x411_country_name, - { "country-name", "x411.country_name", - FT_UINT32, BASE_DEC, VALS(x411_CountryName_U_vals), 0, - "CountryName", HFILL }}, - { &hf_x411_bilateral_domain, - { "domain", "x411.domain", - FT_UINT32, BASE_DEC, VALS(x411_T_bilateral_domain_vals), 0, - "T_bilateral_domain", HFILL }}, - { &hf_x411_administration_domain_name, - { "administration-domain-name", "x411.administration_domain_name", - FT_UINT32, BASE_DEC, VALS(x411_AdministrationDomainName_U_vals), 0, - "AdministrationDomainName", HFILL }}, - { &hf_x411_private_domain, - { "private-domain", "x411.private_domain", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_private_domain_identifier, - { "private-domain-identifier", "x411.private_domain_identifier", - FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainIdentifier_vals), 0, - "PrivateDomainIdentifier", HFILL }}, - { &hf_x411_bilateral_information, - { "bilateral-information", "x411.bilateral_information", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_arrival_time, - { "arrival-time", "x411.arrival_time", - FT_STRING, BASE_NONE, NULL, 0, - "ArrivalTime", HFILL }}, - { &hf_x411_converted_encoded_information_types, - { "converted-encoded-information-types", "x411.converted_encoded_information_types", - FT_NONE, BASE_NONE, NULL, 0, - "ConvertedEncodedInformationTypes", HFILL }}, - { &hf_x411_trace_report_type, - { "report-type", "x411.report_type", - FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0, - "ReportType", HFILL }}, - { &hf_x411_InternalTraceInformation_item, - { "InternalTraceInformationElement", "x411.InternalTraceInformationElement", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_global_domain_identifier, - { "global-domain-identifier", "x411.global_domain_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "GlobalDomainIdentifier", HFILL }}, - { &hf_x411_mta_name, - { "mta-name", "x411.mta_name", - FT_STRING, BASE_NONE, NULL, 0, - "MTAName", HFILL }}, - { &hf_x411_mta_supplied_information, - { "mta-supplied-information", "x411.mta_supplied_information", - FT_NONE, BASE_NONE, NULL, 0, - "MTASuppliedInformation", HFILL }}, - { &hf_x411__untag_item, - { "TraceInformationElement", "x411.TraceInformationElement", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_domain_supplied_information, - { "domain-supplied-information", "x411.domain_supplied_information", - FT_NONE, BASE_NONE, NULL, 0, - "DomainSuppliedInformation", HFILL }}, - { &hf_x411_deferred_time, - { "deferred-time", "x411.deferred_time", - FT_STRING, BASE_NONE, NULL, 0, - "DeferredTime", HFILL }}, - { &hf_x411_other_actions, - { "other-actions", "x411.other_actions", - FT_BYTES, BASE_NONE, NULL, 0, - "OtherActions", HFILL }}, - { &hf_x411_initiator_name, - { "initiator-name", "x411.initiator_name", - FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0, - "ObjectName", HFILL }}, - { &hf_x411_messages_waiting, - { "messages-waiting", "x411.messages_waiting", - FT_NONE, BASE_NONE, NULL, 0, - "MessagesWaiting", HFILL }}, - { &hf_x411_responder_name, - { "responder-name", "x411.responder_name", - FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0, - "ObjectName", HFILL }}, - { &hf_x411_user_agent, - { "user-agent", "x411.user_agent", - FT_NONE, BASE_NONE, NULL, 0, - "ORAddressAndOptionalDirectoryName", HFILL }}, - { &hf_x411_mTA, - { "mTA", "x411.mTA", - FT_STRING, BASE_NONE, NULL, 0, - "MTAName", HFILL }}, - { &hf_x411_message_store, - { "message-store", "x411.message_store", - FT_NONE, BASE_NONE, NULL, 0, - "ORAddressAndOptionalDirectoryName", HFILL }}, - { &hf_x411_urgent, - { "urgent", "x411.urgent", - FT_NONE, BASE_NONE, NULL, 0, - "DeliveryQueue", HFILL }}, - { &hf_x411_normal, - { "normal", "x411.normal", - FT_NONE, BASE_NONE, NULL, 0, - "DeliveryQueue", HFILL }}, - { &hf_x411_non_urgent, - { "non-urgent", "x411.non_urgent", - FT_NONE, BASE_NONE, NULL, 0, - "DeliveryQueue", HFILL }}, - { &hf_x411_messages, - { "messages", "x411.messages", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_ub_queue_size", HFILL }}, - { &hf_x411_delivery_queue_octets, - { "octets", "x411.octets", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_ub_content_length", HFILL }}, - { &hf_x411_simple, - { "simple", "x411.simple", - FT_UINT32, BASE_DEC, VALS(x411_Password_vals), 0, - "Password", HFILL }}, - { &hf_x411_strong, - { "strong", "x411.strong", - FT_NONE, BASE_NONE, NULL, 0, - "StrongCredentials", HFILL }}, - { &hf_x411_protected, - { "protected", "x411.protected", - FT_NONE, BASE_NONE, NULL, 0, - "ProtectedPassword", HFILL }}, - { &hf_x411_ia5_string, - { "ia5-string", "x411.ia5_string", - FT_STRING, BASE_NONE, NULL, 0, - "IA5String_SIZE_0_ub_password_length", HFILL }}, - { &hf_x411_octet_string, - { "octet-string", "x411.octet_string", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING_SIZE_0_ub_password_length", HFILL }}, - { &hf_x411_bind_token, - { "bind-token", "x411.bind_token", - FT_NONE, BASE_NONE, NULL, 0, - "Token", HFILL }}, - { &hf_x411_certificate, - { "certificate", "x411.certificate", - FT_NONE, BASE_NONE, NULL, 0, - "Certificates", HFILL }}, - { &hf_x411_certificate_selector, - { "certificate-selector", "x411.certificate_selector", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x411_signature, - { "signature", "x411.signature", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_time1, - { "time1", "x411.time1", - FT_STRING, BASE_NONE, NULL, 0, - "UTCTime", HFILL }}, - { &hf_x411_time2, - { "time2", "x411.time2", - FT_STRING, BASE_NONE, NULL, 0, - "UTCTime", HFILL }}, - { &hf_x411_random1, - { "random1", "x411.random1", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x411_random2, - { "random2", "x411.random2", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x411_algorithmIdentifier, - { "algorithmIdentifier", "x411.algorithmIdentifier", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_encrypted, - { "encrypted", "x411.encrypted", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x411_SecurityContext_item, - { "SecurityLabel", "x411.SecurityLabel", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_message_submission_envelope, - { "envelope", "x411.envelope", - FT_NONE, BASE_NONE, NULL, 0, - "MessageSubmissionEnvelope", HFILL }}, - { &hf_x411_message_submission_identifier, - { "message-submission-identifier", "x411.message_submission_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "MessageSubmissionIdentifier", HFILL }}, - { &hf_x411_message_submission_time, - { "message-submission-time", "x411.message_submission_time", - FT_STRING, BASE_NONE, NULL, 0, - "MessageSubmissionTime", HFILL }}, - { &hf_x411_probe_submission_identifier, - { "probe-submission-identifier", "x411.probe_submission_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "ProbeSubmissionIdentifier", HFILL }}, - { &hf_x411_probe_submission_time, - { "probe-submission-time", "x411.probe_submission_time", - FT_STRING, BASE_NONE, NULL, 0, - "ProbeSubmissionTime", HFILL }}, - { &hf_x411_ImproperlySpecifiedRecipients_item, - { "RecipientName", "x411.RecipientName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_waiting_operations, - { "waiting-operations", "x411.waiting_operations", - FT_BYTES, BASE_NONE, NULL, 0, - "Operations", HFILL }}, - { &hf_x411_waiting_messages, - { "waiting-messages", "x411.waiting_messages", - FT_BYTES, BASE_NONE, NULL, 0, - "WaitingMessages", HFILL }}, - { &hf_x411_waiting_content_types, - { "waiting-content-types", "x411.waiting_content_types", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_SIZE_0_ub_content_types_OF_ContentType", HFILL }}, - { &hf_x411_waiting_content_types_item, - { "ContentType", "x411.ContentType", - FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0, - NULL, HFILL }}, - { &hf_x411_waiting_encoded_information_types, - { "waiting-encoded-information-types", "x411.waiting_encoded_information_types", - FT_NONE, BASE_NONE, NULL, 0, - "EncodedInformationTypes", HFILL }}, - { &hf_x411_recipient_certificate, - { "recipient-certificate", "x411.recipient_certificate", - FT_NONE, BASE_NONE, NULL, 0, - "RecipientCertificate", HFILL }}, - { &hf_x411_proof_of_delivery, - { "proof-of-delivery", "x411.proof_of_delivery", - FT_NONE, BASE_NONE, NULL, 0, - "ProofOfDelivery", HFILL }}, - { &hf_x411_empty_result, - { "empty-result", "x411.empty_result", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_max_extensions, - { "extensions", "x411.extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_SIZE_1_MAX_OF_ExtensionField", HFILL }}, - { &hf_x411_max_extensions_item, - { "ExtensionField", "x411.ExtensionField", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_restrict, - { "restrict", "x411.restrict", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, - { &hf_x411_permissible_operations, - { "permissible-operations", "x411.permissible_operations", - FT_BYTES, BASE_NONE, NULL, 0, - "Operations", HFILL }}, - { &hf_x411_permissible_maximum_content_length, - { "permissible-maximum-content-length", "x411.permissible_maximum_content_length", - FT_UINT32, BASE_DEC, NULL, 0, - "ContentLength", HFILL }}, - { &hf_x411_permissible_lowest_priority, - { "permissible-lowest-priority", "x411.permissible_lowest_priority", - FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0, - "Priority", HFILL }}, - { &hf_x411_permissible_content_types, - { "permissible-content-types", "x411.permissible_content_types", - FT_UINT32, BASE_DEC, NULL, 0, - "ContentTypes", HFILL }}, - { &hf_x411_permissible_encoded_information_types, - { "permissible-encoded-information-types", "x411.permissible_encoded_information_types", - FT_NONE, BASE_NONE, NULL, 0, - "PermissibleEncodedInformationTypes", HFILL }}, - { &hf_x411_permissible_security_context, - { "permissible-security-context", "x411.permissible_security_context", - FT_UINT32, BASE_DEC, NULL, 0, - "SecurityContext", HFILL }}, - { &hf_x411_refused_argument, - { "refused-argument", "x411.refused_argument", - FT_UINT32, BASE_DEC, VALS(x411_T_refused_argument_vals), 0, - NULL, HFILL }}, - { &hf_x411_built_in_argument, - { "built-in-argument", "x411.built_in_argument", - FT_UINT32, BASE_DEC, VALS(x411_RefusedArgument_vals), 0, - "RefusedArgument", HFILL }}, - { &hf_x411_refused_extension, - { "refused-extension", "x411.refused_extension", - FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0, - NULL, HFILL }}, - { &hf_x411_refusal_reason, - { "refusal-reason", "x411.refusal_reason", - FT_UINT32, BASE_DEC, VALS(x411_RefusalReason_vals), 0, - "RefusalReason", HFILL }}, - { &hf_x411_user_name, - { "user-name", "x411.user_name", - FT_NONE, BASE_NONE, NULL, 0, - "UserName", HFILL }}, - { &hf_x411_user_address, - { "user-address", "x411.user_address", - FT_UINT32, BASE_DEC, VALS(x411_UserAddress_vals), 0, - "UserAddress", HFILL }}, - { &hf_x411_deliverable_class, - { "deliverable-class", "x411.deliverable_class", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass", HFILL }}, - { &hf_x411_deliverable_class_item, - { "DeliverableClass", "x411.DeliverableClass", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_default_delivery_controls, - { "default-delivery-controls", "x411.default_delivery_controls", - FT_NONE, BASE_NONE, NULL, 0, - "DefaultDeliveryControls", HFILL }}, - { &hf_x411_redirections, - { "redirections", "x411.redirections", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_restricted_delivery, - { "restricted-delivery", "x411.restricted_delivery", - FT_UINT32, BASE_DEC, NULL, 0, - "RestrictedDelivery", HFILL }}, - { &hf_x411_retrieve_registrations, - { "retrieve-registrations", "x411.retrieve_registrations", - FT_NONE, BASE_NONE, NULL, 0, - "RegistrationTypes", HFILL }}, - { &hf_x411_non_empty_result, - { "non-empty-result", "x411.non_empty_result", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_registered_information, - { "registered-information", "x411.registered_information", - FT_NONE, BASE_NONE, NULL, 0, - "RegisterArgument", HFILL }}, - { &hf_x411_old_credentials, - { "old-credentials", "x411.old_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, - "Credentials", HFILL }}, - { &hf_x411_new_credentials, - { "new-credentials", "x411.new_credentials", - FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0, - "Credentials", HFILL }}, - { &hf_x411_x121, - { "x121", "x411.x121", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_x121_address, - { "x121-address", "x411.x121_address", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_tsap_id, - { "tsap-id", "x411.tsap_id", - FT_STRING, BASE_NONE, NULL, 0, - "PrintableString_SIZE_1_ub_tsap_id_length", HFILL }}, - { &hf_x411_presentation, - { "presentation", "x411.presentation", - FT_NONE, BASE_NONE, NULL, 0, - "PSAPAddress", HFILL }}, - { &hf_x411_Redirections_item, - { "RecipientRedirection", "x411.RecipientRedirection", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_redirection_classes, - { "redirection-classes", "x411.redirection_classes", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass", HFILL }}, - { &hf_x411_redirection_classes_item, - { "RedirectionClass", "x411.RedirectionClass", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_recipient_assigned_alternate_recipient, - { "recipient-assigned-alternate-recipient", "x411.recipient_assigned_alternate_recipient", - FT_NONE, BASE_NONE, NULL, 0, - "RecipientAssignedAlternateRecipient", HFILL }}, - { &hf_x411_content_types, - { "content-types", "x411.content_types", - FT_UINT32, BASE_DEC, NULL, 0, - "ContentTypes", HFILL }}, - { &hf_x411_maximum_content_length, - { "maximum-content-length", "x411.maximum_content_length", - FT_UINT32, BASE_DEC, NULL, 0, - "ContentLength", HFILL }}, - { &hf_x411_encoded_information_types_constraints, - { "encoded-information-types-constraints", "x411.encoded_information_types_constraints", - FT_NONE, BASE_NONE, NULL, 0, - "EncodedInformationTypesConstraints", HFILL }}, - { &hf_x411_security_labels, - { "security-labels", "x411.security_labels", - FT_UINT32, BASE_DEC, NULL, 0, - "SecurityContext", HFILL }}, - { &hf_x411_class_priority, - { "priority", "x411.priority", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_OF_Priority", HFILL }}, - { &hf_x411_class_priority_item, - { "Priority", "x411.Priority", - FT_UINT32, BASE_DEC, VALS(x411_Priority_U_vals), 0, - NULL, HFILL }}, - { &hf_x411_objects, - { "objects", "x411.objects", - FT_UINT32, BASE_DEC, VALS(x411_T_objects_vals), 0, - NULL, HFILL }}, - { &hf_x411_applies_only_to, - { "applies-only-to", "x411.applies_only_to", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_OF_Restriction", HFILL }}, - { &hf_x411_applies_only_to_item, - { "Restriction", "x411.Restriction", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_unacceptable_eits, - { "unacceptable-eits", "x411.unacceptable_eits", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtendedEncodedInformationTypes", HFILL }}, - { &hf_x411_acceptable_eits, - { "acceptable-eits", "x411.acceptable_eits", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtendedEncodedInformationTypes", HFILL }}, - { &hf_x411_exclusively_acceptable_eits, - { "exclusively-acceptable-eits", "x411.exclusively_acceptable_eits", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtendedEncodedInformationTypes", HFILL }}, - { &hf_x411_RestrictedDelivery_item, - { "Restriction", "x411.Restriction", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_permitted, - { "permitted", "x411.permitted", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, - { &hf_x411_source_type, - { "source-type", "x411.source_type", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_source_name, - { "source-name", "x411.source_name", - FT_UINT32, BASE_DEC, VALS(x411_ExactOrPattern_vals), 0, - "ExactOrPattern", HFILL }}, - { &hf_x411_exact_match, - { "exact-match", "x411.exact_match", - FT_NONE, BASE_NONE, NULL, 0, - "ORName", HFILL }}, - { &hf_x411_pattern_match, - { "pattern-match", "x411.pattern_match", - FT_NONE, BASE_NONE, NULL, 0, - "ORName", HFILL }}, - { &hf_x411_standard_parameters, - { "standard-parameters", "x411.standard_parameters", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_type_extensions, - { "extensions", "x411.extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "T_type_extensions", HFILL }}, - { &hf_x411_type_extensions_item, - { "extensions item", "x411.extensions_item", - FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0, - "T_type_extensions_item", HFILL }}, - { &hf_x411_originator_name_01, - { "originator-name", "x411.originator_name", - FT_NONE, BASE_NONE, NULL, 0, - "OriginatorName", HFILL }}, - { &hf_x411_submission_recipient_name, - { "recipient-name", "x411.recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "RecipientName", HFILL }}, - { &hf_x411_originator_report_request, - { "originator-report-request", "x411.originator_report_request", - FT_BYTES, BASE_NONE, NULL, 0, - "OriginatorReportRequest", HFILL }}, - { &hf_x411_probe_recipient_name, - { "recipient-name", "x411.recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "RecipientName", HFILL }}, - { &hf_x411_message_delivery_identifier, - { "message-delivery-identifier", "x411.message_delivery_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "MessageDeliveryIdentifier", HFILL }}, - { &hf_x411_message_delivery_time, - { "message-delivery-time", "x411.message_delivery_time", - FT_STRING, BASE_NONE, NULL, 0, - "MessageDeliveryTime", HFILL }}, - { &hf_x411_other_fields, - { "other-fields", "x411.other_fields", - FT_NONE, BASE_NONE, NULL, 0, - "OtherMessageDeliveryFields", HFILL }}, - { &hf_x411_delivered_content_type, - { "content-type", "x411.content_type", - FT_UINT32, BASE_DEC, VALS(x411_DeliveredContentType_vals), 0, - "DeliveredContentType", HFILL }}, - { &hf_x411_delivered_originator_name, - { "originator-name", "x411.originator_name", - FT_NONE, BASE_NONE, NULL, 0, - "DeliveredOriginatorName", HFILL }}, - { &hf_x411_delivery_flags, - { "delivery-flags", "x411.delivery_flags", - FT_BYTES, BASE_NONE, NULL, 0, - "DeliveryFlags", HFILL }}, - { &hf_x411_other_recipient_names, - { "other-recipient-names", "x411.other_recipient_names", - FT_UINT32, BASE_DEC, NULL, 0, - "OtherRecipientNames", HFILL }}, - { &hf_x411_this_recipient_name, - { "this-recipient-name", "x411.this_recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "ThisRecipientName", HFILL }}, - { &hf_x411_originally_intended_recipient_name, - { "originally-intended-recipient-name", "x411.originally_intended_recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "OriginallyIntendedRecipientName", HFILL }}, - { &hf_x411_subject_submission_identifier, - { "subject-submission-identifier", "x411.subject_submission_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "SubjectSubmissionIdentifier", HFILL }}, - { &hf_x411_actual_recipient_name, - { "actual-recipient-name", "x411.actual_recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "ActualRecipientName", HFILL }}, - { &hf_x411_delivery_report_type, - { "report-type", "x411.report_type", - FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0, - "ReportType", HFILL }}, - { &hf_x411_delivery, - { "delivery", "x411.delivery", - FT_NONE, BASE_NONE, NULL, 0, - "DeliveryReport", HFILL }}, - { &hf_x411_non_delivery, - { "non-delivery", "x411.non_delivery", - FT_NONE, BASE_NONE, NULL, 0, - "NonDeliveryReport", HFILL }}, - { &hf_x411_type_of_MTS_user, - { "type-of-MTS-user", "x411.type_of_MTS_user", - FT_UINT32, BASE_DEC, VALS(x411_TypeOfMTSUser_vals), 0, - "TypeOfMTSUser", HFILL }}, - { &hf_x411_non_delivery_reason_code, - { "non-delivery-reason-code", "x411.non_delivery_reason_code", - FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryReasonCode_vals), 0, - "NonDeliveryReasonCode", HFILL }}, - { &hf_x411_non_delivery_diagnostic_code, - { "non-delivery-diagnostic-code", "x411.non_delivery_diagnostic_code", - FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryDiagnosticCode_vals), 0, - "NonDeliveryDiagnosticCode", HFILL }}, - { &hf_x411_ContentTypes_item, - { "ContentType", "x411.ContentType", - FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0, - NULL, HFILL }}, - { &hf_x411_built_in, - { "built-in", "x411.built_in", - FT_UINT32, BASE_DEC, VALS(x411_BuiltInContentType_U_vals), 0, - "BuiltInContentType", HFILL }}, - { &hf_x411_extended, - { "extended", "x411.extended", - FT_OID, BASE_NONE, NULL, 0, - "ExtendedContentType", HFILL }}, - { &hf_x411_OtherRecipientNames_item, - { "OtherRecipientName", "x411.OtherRecipientName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_standard_extension, - { "standard-extension", "x411.standard_extension", - FT_INT32, BASE_DEC, VALS(x411_StandardExtension_vals), 0, - "StandardExtension", HFILL }}, - { &hf_x411_private_extension, - { "private-extension", "x411.private_extension", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_extension_type, - { "type", "x411.type", - FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0, - "ExtensionType", HFILL }}, - { &hf_x411_criticality, - { "criticality", "x411.criticality", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_extension_value, - { "value", "x411.value", - FT_NONE, BASE_NONE, NULL, 0, - "ExtensionValue", HFILL }}, - { &hf_x411_RequestedDeliveryMethod_item, - { "RequestedDeliveryMethod item", "x411.RequestedDeliveryMethod_item", - FT_UINT32, BASE_DEC, VALS(x411_RequestedDeliveryMethod_item_vals), 0, - NULL, HFILL }}, - { &hf_x411_ia5text, - { "ia5text", "x411.ia5text", - FT_STRING, BASE_NONE, NULL, 0, - "IA5String", HFILL }}, - { &hf_x411_octets, - { "octets", "x411.octets", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, - { &hf_x411_RedirectionHistory_item, - { "Redirection", "x411.Redirection", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_intended_recipient_name, - { "intended-recipient-name", "x411.intended_recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "IntendedRecipientName", HFILL }}, - { &hf_x411_redirection_reason, - { "redirection-reason", "x411.redirection_reason", - FT_UINT32, BASE_DEC, VALS(x411_RedirectionReason_vals), 0, - "RedirectionReason", HFILL }}, - { &hf_x411_intended_recipient, - { "intended-recipient", "x411.intended_recipient", - FT_NONE, BASE_NONE, NULL, 0, - "ORAddressAndOptionalDirectoryName", HFILL }}, - { &hf_x411_redirection_time, - { "redirection-time", "x411.redirection_time", - FT_STRING, BASE_NONE, NULL, 0, - "Time", HFILL }}, - { &hf_x411_DLExpansionHistory_item, - { "DLExpansion", "x411.DLExpansion", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_dl, - { "dl", "x411.dl", - FT_NONE, BASE_NONE, NULL, 0, - "ORAddressAndOptionalDirectoryName", HFILL }}, - { &hf_x411_dl_expansion_time, - { "dl-expansion-time", "x411.dl_expansion_time", - FT_STRING, BASE_NONE, NULL, 0, - "Time", HFILL }}, - { &hf_x411_OriginatorAndDLExpansionHistory_item, - { "OriginatorAndDLExpansion", "x411.OriginatorAndDLExpansion", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_originator_or_dl_name, - { "originator-or-dl-name", "x411.originator_or_dl_name", - FT_NONE, BASE_NONE, NULL, 0, - "ORAddressAndOptionalDirectoryName", HFILL }}, - { &hf_x411_origination_or_expansion_time, - { "origination-or-expansion-time", "x411.origination_or_expansion_time", - FT_STRING, BASE_NONE, NULL, 0, - "Time", HFILL }}, - { &hf_x411_report_type, - { "report-type", "x411.report_type", - FT_UINT32, BASE_DEC, VALS(x411_T_report_type_vals), 0, - "T_report_type", HFILL }}, - { &hf_x411_report_type_delivery, - { "delivery", "x411.delivery", - FT_NONE, BASE_NONE, NULL, 0, - "PerRecipientDeliveryReportFields", HFILL }}, - { &hf_x411_non_delivery_report, - { "non-delivery", "x411.non_delivery", - FT_NONE, BASE_NONE, NULL, 0, - "PerRecipientNonDeliveryReportFields", HFILL }}, - { &hf_x411_domain, - { "domain", "x411.domain", - FT_NONE, BASE_NONE, NULL, 0, - "GlobalDomainIdentifier", HFILL }}, - { &hf_x411_mta_directory_name, - { "mta-directory-name", "x411.mta_directory_name", - FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0, - "Name", HFILL }}, - { &hf_x411_ExtendedCertificates_item, - { "ExtendedCertificate", "x411.ExtendedCertificate", - FT_UINT32, BASE_DEC, VALS(x411_ExtendedCertificate_vals), 0, - NULL, HFILL }}, - { &hf_x411_directory_entry, - { "directory-entry", "x411.directory_entry", - FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0, - "Name", HFILL }}, - { &hf_x411_DLExemptedRecipients_item, - { "ORAddressAndOrDirectoryName", "x411.ORAddressAndOrDirectoryName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_encryption_recipient, - { "encryption-recipient", "x411.encryption_recipient", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x411_encryption_originator, - { "encryption-originator", "x411.encryption_originator", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x411_selectors_content_integrity_check, - { "content-integrity-check", "x411.content_integrity_check", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x411_token_signature, - { "token-signature", "x411.token_signature", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x411_message_origin_authentication, - { "message-origin-authentication", "x411.message_origin_authentication", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x411_local_identifier, - { "local-identifier", "x411.local_identifier", - FT_STRING, BASE_NONE, NULL, 0, - "LocalIdentifier", HFILL }}, - { &hf_x411_numeric_private_domain_identifier, - { "numeric", "x411.numeric", - FT_STRING, BASE_NONE, NULL, 0, - "T_numeric_private_domain_identifier", HFILL }}, - { &hf_x411_printable_private_domain_identifier, - { "printable", "x411.printable", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_private_domain_identifier", HFILL }}, - { &hf_x411_built_in_standard_attributes, - { "built-in-standard-attributes", "x411.built_in_standard_attributes", - FT_NONE, BASE_NONE, NULL, 0, - "BuiltInStandardAttributes", HFILL }}, - { &hf_x411_built_in_domain_defined_attributes, - { "built-in-domain-defined-attributes", "x411.built_in_domain_defined_attributes", - FT_UINT32, BASE_DEC, NULL, 0, - "BuiltInDomainDefinedAttributes", HFILL }}, - { &hf_x411_extension_attributes, - { "extension-attributes", "x411.extension_attributes", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtensionAttributes", HFILL }}, - { &hf_x411_network_address, - { "network-address", "x411.network_address", - FT_STRING, BASE_NONE, NULL, 0, - "NetworkAddress", HFILL }}, - { &hf_x411_terminal_identifier, - { "terminal-identifier", "x411.terminal_identifier", - FT_STRING, BASE_NONE, NULL, 0, - "TerminalIdentifier", HFILL }}, - { &hf_x411_private_domain_name, - { "private-domain-name", "x411.private_domain_name", - FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainName_vals), 0, - "PrivateDomainName", HFILL }}, - { &hf_x411_organization_name, - { "organization-name", "x411.organization_name", - FT_STRING, BASE_NONE, NULL, 0, - "OrganizationName", HFILL }}, - { &hf_x411_numeric_user_identifier, - { "numeric-user-identifier", "x411.numeric_user_identifier", - FT_STRING, BASE_NONE, NULL, 0, - "NumericUserIdentifier", HFILL }}, - { &hf_x411_personal_name, - { "personal-name", "x411.personal_name", - FT_NONE, BASE_NONE, NULL, 0, - "PersonalName", HFILL }}, - { &hf_x411_organizational_unit_names, - { "organizational-unit-names", "x411.organizational_unit_names", - FT_UINT32, BASE_DEC, NULL, 0, - "OrganizationalUnitNames", HFILL }}, - { &hf_x411_x121_dcc_code, - { "x121-dcc-code", "x411.x121_dcc_code", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_iso_3166_alpha2_code, - { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_numeric, - { "numeric", "x411.numeric", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_printable, - { "printable", "x411.printable", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_numeric_private_domain_name, - { "numeric", "x411.numeric", - FT_STRING, BASE_NONE, NULL, 0, - "T_numeric_private_domain_name", HFILL }}, - { &hf_x411_printable_private_domain_name, - { "printable", "x411.printable", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_private_domain_name", HFILL }}, - { &hf_x411_printable_surname, - { "surname", "x411.surname", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_surname", HFILL }}, - { &hf_x411_printable_given_name, - { "given-name", "x411.given_name", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_given_name", HFILL }}, - { &hf_x411_printable_initials, - { "initials", "x411.initials", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_initials", HFILL }}, - { &hf_x411_printable_generation_qualifier, - { "generation-qualifier", "x411.generation_qualifier", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_generation_qualifier", HFILL }}, - { &hf_x411_OrganizationalUnitNames_item, - { "OrganizationalUnitName", "x411.OrganizationalUnitName", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_BuiltInDomainDefinedAttributes_item, - { "BuiltInDomainDefinedAttribute", "x411.BuiltInDomainDefinedAttribute", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_printable_type, - { "type", "x411.type", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_type", HFILL }}, - { &hf_x411_printable_value, - { "value", "x411.value", - FT_STRING, BASE_NONE, NULL, 0, - "T_printable_value", HFILL }}, - { &hf_x411_ExtensionAttributes_item, - { "ExtensionAttribute", "x411.ExtensionAttribute", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_extension_attribute_type, - { "extension-attribute-type", "x411.extension_attribute_type", - FT_INT32, BASE_DEC, VALS(x411_ExtensionAttributeType_vals), 0, - "ExtensionAttributeType", HFILL }}, - { &hf_x411_extension_attribute_value, - { "extension-attribute-value", "x411.extension_attribute_value", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_teletex_surname, - { "surname", "x411.surname", - FT_STRING, BASE_NONE, NULL, 0, - "T_teletex_surname", HFILL }}, - { &hf_x411_teletex_given_name, - { "given-name", "x411.given_name", - FT_STRING, BASE_NONE, NULL, 0, - "T_teletex_given_name", HFILL }}, - { &hf_x411_teletex_initials, - { "initials", "x411.initials", - FT_STRING, BASE_NONE, NULL, 0, - "T_teletex_initials", HFILL }}, - { &hf_x411_teletex_generation_qualifier, - { "generation-qualifier", "x411.generation_qualifier", - FT_STRING, BASE_NONE, NULL, 0, - "T_teletex_generation_qualifier", HFILL }}, - { &hf_x411_universal_surname, - { "surname", "x411.surname", - FT_NONE, BASE_NONE, NULL, 0, - "UniversalOrBMPString", HFILL }}, - { &hf_x411_universal_given_name, - { "given-name", "x411.given_name", - FT_NONE, BASE_NONE, NULL, 0, - "UniversalOrBMPString", HFILL }}, - { &hf_x411_universal_initials, - { "initials", "x411.initials", - FT_NONE, BASE_NONE, NULL, 0, - "UniversalOrBMPString", HFILL }}, - { &hf_x411_universal_generation_qualifier, - { "generation-qualifier", "x411.generation_qualifier", - FT_NONE, BASE_NONE, NULL, 0, - "UniversalOrBMPString", HFILL }}, - { &hf_x411_TeletexOrganizationalUnitNames_item, - { "TeletexOrganizationalUnitName", "x411.TeletexOrganizationalUnitName", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_UniversalOrganizationalUnitNames_item, - { "UniversalOrganizationalUnitName", "x411.UniversalOrganizationalUnitName", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_character_encoding, - { "character-encoding", "x411.character_encoding", - FT_UINT32, BASE_DEC, VALS(x411_T_character_encoding_vals), 0, - NULL, HFILL }}, - { &hf_x411_two_octets, - { "two-octets", "x411.two_octets", - FT_STRING, BASE_NONE, NULL, 0, - "BMPString_SIZE_1_ub_string_length", HFILL }}, - { &hf_x411_four_octets, - { "four-octets", "x411.four_octets", - FT_STRING, BASE_NONE, NULL, 0, - "UniversalString_SIZE_1_ub_string_length", HFILL }}, - { &hf_x411_iso_639_language_code, - { "iso-639-language-code", "x411.iso_639_language_code", - FT_STRING, BASE_NONE, NULL, 0, - "PrintableString_SIZE_CONSTR001", HFILL }}, - { &hf_x411_x121_dcc_code_01, - { "x121-dcc-code", "x411.x121_dcc_code", - FT_STRING, BASE_NONE, NULL, 0, - "T_x121_dcc_code_01", HFILL }}, - { &hf_x411_iso_3166_alpha2_code_01, - { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code", - FT_STRING, BASE_NONE, NULL, 0, - "T_iso_3166_alpha2_code_01", HFILL }}, - { &hf_x411_numeric_code, - { "numeric-code", "x411.numeric_code", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_printable_code, - { "printable-code", "x411.printable_code", - FT_STRING, BASE_NONE, NULL, 0, - "PrintableString_SIZE_1_ub_postal_code_length", HFILL }}, - { &hf_x411_printable_address, - { "printable-address", "x411.printable_address", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x411_printable_address_item, - { "printable-address item", "x411.printable_address_item", - FT_STRING, BASE_NONE, NULL, 0, - "PrintableString_SIZE_1_ub_pds_parameter_length", HFILL }}, - { &hf_x411_teletex_string, - { "teletex-string", "x411.teletex_string", - FT_STRING, BASE_NONE, NULL, 0, - "TeletexString_SIZE_1_ub_unformatted_address_length", HFILL }}, - { &hf_x411_printable_string, - { "printable-string", "x411.printable_string", - FT_STRING, BASE_NONE, NULL, 0, - "PrintableString_SIZE_1_ub_pds_parameter_length", HFILL }}, - { &hf_x411_pds_teletex_string, - { "teletex-string", "x411.teletex_string", - FT_STRING, BASE_NONE, NULL, 0, - "TeletexString_SIZE_1_ub_pds_parameter_length", HFILL }}, - { &hf_x411_e163_4_address, - { "e163-4-address", "x411.e163_4_address", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_number, - { "number", "x411.number", - FT_STRING, BASE_NONE, NULL, 0, - "NumericString_SIZE_1_ub_e163_4_number_length", HFILL }}, - { &hf_x411_sub_address, - { "sub-address", "x411.sub_address", - FT_STRING, BASE_NONE, NULL, 0, - "NumericString_SIZE_1_ub_e163_4_sub_address_length", HFILL }}, - { &hf_x411_psap_address, - { "psap-address", "x411.psap_address", - FT_NONE, BASE_NONE, NULL, 0, - "PresentationAddress", HFILL }}, - { &hf_x411_TeletexDomainDefinedAttributes_item, - { "TeletexDomainDefinedAttribute", "x411.TeletexDomainDefinedAttribute", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_type, - { "type", "x411.type", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_teletex_value, - { "value", "x411.value", - FT_STRING, BASE_NONE, NULL, 0, - "T_teletex_value", HFILL }}, - { &hf_x411_UniversalDomainDefinedAttributes_item, - { "UniversalDomainDefinedAttribute", "x411.UniversalDomainDefinedAttribute", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_universal_type, - { "type", "x411.type", - FT_NONE, BASE_NONE, NULL, 0, - "UniversalOrBMPString", HFILL }}, - { &hf_x411_universal_value, - { "value", "x411.value", - FT_NONE, BASE_NONE, NULL, 0, - "UniversalOrBMPString", HFILL }}, - { &hf_x411_ExtendedEncodedInformationTypes_item, - { "ExtendedEncodedInformationType", "x411.ExtendedEncodedInformationType", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_g3_facsimile, - { "g3-facsimile", "x411.g3_facsimile", - FT_BYTES, BASE_NONE, NULL, 0, - "G3FacsimileNonBasicParameters", HFILL }}, - { &hf_x411_teletex, - { "teletex", "x411.teletex", - FT_NONE, BASE_NONE, NULL, 0, - "TeletexNonBasicParameters", HFILL }}, - { &hf_x411_graphic_character_sets, - { "graphic-character-sets", "x411.graphic_character_sets", - FT_STRING, BASE_NONE, NULL, 0, - "TeletexString", HFILL }}, - { &hf_x411_control_character_sets, - { "control-character-sets", "x411.control_character_sets", - FT_STRING, BASE_NONE, NULL, 0, - "TeletexString", HFILL }}, - { &hf_x411_page_formats, - { "page-formats", "x411.page_formats", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, - { &hf_x411_miscellaneous_terminal_capabilities, - { "miscellaneous-terminal-capabilities", "x411.miscellaneous_terminal_capabilities", - FT_STRING, BASE_NONE, NULL, 0, - "TeletexString", HFILL }}, - { &hf_x411_private_use, - { "private-use", "x411.private_use", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, - { &hf_x411_token_type_identifier, - { "token-type-identifier", "x411.token_type_identifier", - FT_OID, BASE_NONE, NULL, 0, - "TokenTypeIdentifier", HFILL }}, - { &hf_x411_token, - { "token", "x411.token", - FT_NONE, BASE_NONE, NULL, 0, - "TokenTypeData", HFILL }}, - { &hf_x411_signature_algorithm_identifier, - { "signature-algorithm-identifier", "x411.signature_algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "AlgorithmIdentifier", HFILL }}, - { &hf_x411_name, - { "name", "x411.name", - FT_UINT32, BASE_DEC, VALS(x411_T_name_vals), 0, - NULL, HFILL }}, - { &hf_x411_token_recipient_name, - { "recipient-name", "x411.recipient_name", - FT_NONE, BASE_NONE, NULL, 0, - "RecipientName", HFILL }}, - { &hf_x411_token_mta, - { "mta", "x411.mta", - FT_NONE, BASE_NONE, NULL, 0, - "MTANameAndOptionalGDI", HFILL }}, - { &hf_x411_time, - { "time", "x411.time", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_signed_data, - { "signed-data", "x411.signed_data", - FT_NONE, BASE_NONE, NULL, 0, - "TokenData", HFILL }}, - { &hf_x411_encryption_algorithm_identifier, - { "encryption-algorithm-identifier", "x411.encryption_algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "AlgorithmIdentifier", HFILL }}, - { &hf_x411_encrypted_data, - { "encrypted-data", "x411.encrypted_data", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x411_asymmetric_token_data, - { "asymmetric-token-data", "x411.asymmetric_token_data", - FT_NONE, BASE_NONE, NULL, 0, - "AsymmetricTokenData", HFILL }}, - { &hf_x411_algorithm_identifier, - { "algorithm-identifier", "x411.algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "AlgorithmIdentifier", HFILL }}, - { &hf_x411_token_data_type, - { "type", "x411.type", - FT_INT32, BASE_DEC, VALS(x411_TokenDataType_vals), 0, - "TokenDataType", HFILL }}, - { &hf_x411_value, - { "value", "x411.value", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_content_confidentiality_algorithm_identifier, - { "content-confidentiality-algorithm-identifier", "x411.content_confidentiality_algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "ContentConfidentialityAlgorithmIdentifier", HFILL }}, - { &hf_x411_content_integrity_check, - { "content-integrity-check", "x411.content_integrity_check", - FT_NONE, BASE_NONE, NULL, 0, - "ContentIntegrityCheck", HFILL }}, - { &hf_x411_message_security_label, - { "message-security-label", "x411.message_security_label", - FT_NONE, BASE_NONE, NULL, 0, - "MessageSecurityLabel", HFILL }}, - { &hf_x411_proof_of_delivery_request, - { "proof-of-delivery-request", "x411.proof_of_delivery_request", - FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0, - "ProofOfDeliveryRequest", HFILL }}, - { &hf_x411_message_sequence_number, - { "message-sequence-number", "x411.message_sequence_number", - FT_INT32, BASE_DEC, NULL, 0, - "INTEGER", HFILL }}, - { &hf_x411_content_confidentiality_key, - { "content-confidentiality-key", "x411.content_confidentiality_key", - FT_BYTES, BASE_NONE, NULL, 0, - "EncryptionKey", HFILL }}, - { &hf_x411_content_integrity_key, - { "content-integrity-key", "x411.content_integrity_key", - FT_BYTES, BASE_NONE, NULL, 0, - "EncryptionKey", HFILL }}, - { &hf_x411_security_policy_identifier, - { "security-policy-identifier", "x411.security_policy_identifier", - FT_OID, BASE_NONE, NULL, 0, - "SecurityPolicyIdentifier", HFILL }}, - { &hf_x411_security_classification, - { "security-classification", "x411.security_classification", - FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0, - "SecurityClassification", HFILL }}, - { &hf_x411_privacy_mark, - { "privacy-mark", "x411.privacy_mark", - FT_STRING, BASE_NONE, NULL, 0, - "PrivacyMark", HFILL }}, - { &hf_x411_security_categories, - { "security-categories", "x411.security_categories", - FT_UINT32, BASE_DEC, NULL, 0, - "SecurityCategories", HFILL }}, - { &hf_x411_SecurityCategories_item, - { "SecurityCategory", "x411.SecurityCategory", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_category_type, - { "type", "x411.type", - FT_OID, BASE_NONE, NULL, 0, - "SecurityCategoryIdentifier", HFILL }}, - { &hf_x411_category_value, - { "value", "x411.value", - FT_NONE, BASE_NONE, NULL, 0, - "CategoryValue", HFILL }}, - { &hf_x411_mta_originator_name, - { "originator-name", "x411.originator_name", - FT_NONE, BASE_NONE, NULL, 0, - "MTAOriginatorName", HFILL }}, - { &hf_x411_per_recipient_message_fields, - { "per-recipient-fields", "x411.per_recipient_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields", HFILL }}, - { &hf_x411_per_recipient_message_fields_item, - { "PerRecipientMessageTransferFields", "x411.PerRecipientMessageTransferFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_per_recipient_probe_transfer_fields, - { "per-recipient-fields", "x411.per_recipient_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields", HFILL }}, - { &hf_x411_per_recipient_probe_transfer_fields_item, - { "PerRecipientProbeTransferFields", "x411.PerRecipientProbeTransferFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_per_recipient_report_fields, - { "per-recipient-fields", "x411.per_recipient_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields", HFILL }}, - { &hf_x411_per_recipient_report_fields_item, - { "PerRecipientReportTransferFields", "x411.PerRecipientReportTransferFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_routing_action, - { "routing-action", "x411.routing_action", - FT_UINT32, BASE_DEC, VALS(x411_RoutingAction_vals), 0, - "RoutingAction", HFILL }}, - { &hf_x411_attempted, - { "attempted", "x411.attempted", - FT_UINT32, BASE_DEC, VALS(x411_T_attempted_vals), 0, - NULL, HFILL }}, - { &hf_x411_mta, - { "mta", "x411.mta", - FT_STRING, BASE_NONE, NULL, 0, - "MTAName", HFILL }}, - { &hf_x411_attempted_domain, - { "attempted-domain", "x411.attempted_domain", - FT_NONE, BASE_NONE, NULL, 0, - "GlobalDomainIdentifier", HFILL }}, - { &hf_x411_per_recipient_report_delivery_fields, - { "per-recipient-fields", "x411.per_recipient_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields", HFILL }}, - { &hf_x411_per_recipient_report_delivery_fields_item, - { "PerRecipientReportDeliveryFields", "x411.PerRecipientReportDeliveryFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_mts_originator_name, - { "originator-name", "x411.originator_name", - FT_NONE, BASE_NONE, NULL, 0, - "OriginatorName", HFILL }}, - { &hf_x411_per_recipient_message_submission_fields, - { "per-recipient-fields", "x411.per_recipient_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields", HFILL }}, - { &hf_x411_per_recipient_message_submission_fields_item, - { "PerRecipientMessageSubmissionFields", "x411.PerRecipientMessageSubmissionFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_per_recipient_probe_submission_fields, - { "per-recipient-fields", "x411.per_recipient_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields", HFILL }}, - { &hf_x411_per_recipient_probe_submission_fields_item, - { "PerRecipientProbeSubmissionFields", "x411.PerRecipientProbeSubmissionFields", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x411_directory_name, - { "directory-name", "x411.directory_name", - FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0, - "Name", HFILL }}, - { &hf_x411_built_in_encoded_information_types, - { "built-in-encoded-information-types", "x411.built_in_encoded_information_types", - FT_BYTES, BASE_NONE, NULL, 0, - "BuiltInEncodedInformationTypes", HFILL }}, - { &hf_x411_extended_encoded_information_types, - { "extended-encoded-information-types", "x411.extended_encoded_information_types", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtendedEncodedInformationTypes", HFILL }}, - { &hf_x411_PerRecipientIndicators_responsibility, - { "responsibility", "x411.responsibility", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_originating_MTA_report, - { "originating-MTA-report", "x411.originating-MTA-report", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, - { "originating-MTA-non-delivery-report", "x411.originating-MTA-non-delivery-report", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_originator_report, - { "originator-report", "x411.originator-report", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_originator_non_delivery_report, - { "originator-non-delivery-report", "x411.originator-non-delivery-report", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_reserved_5, - { "reserved-5", "x411.reserved-5", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_reserved_6, - { "reserved-6", "x411.reserved-6", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_PerRecipientIndicators_reserved_7, - { "reserved-7", "x411.reserved-7", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x411_OtherActions_redirected, - { "redirected", "x411.redirected", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_OtherActions_dl_operation, - { "dl-operation", "x411.dl-operation", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_Operations_probe_submission_or_report_delivery, - { "probe-submission-or-report-delivery", "x411.probe-submission-or-report-delivery", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_Operations_message_submission_or_message_delivery, - { "message-submission-or-message-delivery", "x411.message-submission-or-message-delivery", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_WaitingMessages_long_content, - { "long-content", "x411.long-content", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_WaitingMessages_low_priority, - { "low-priority", "x411.low-priority", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_WaitingMessages_other_security_labels, - { "other-security-labels", "x411.other-security-labels", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_T_source_type_originated_by, - { "originated-by", "x411.originated-by", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_T_source_type_redirected_by, - { "redirected-by", "x411.redirected-by", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_T_source_type_dl_expanded_by, - { "dl-expanded-by", "x411.dl-expanded-by", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_T_standard_parameters_user_name, - { "user-name", "x411.user-name", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_T_standard_parameters_user_address, - { "user-address", "x411.user-address", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_T_standard_parameters_deliverable_class, - { "deliverable-class", "x411.deliverable-class", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_T_standard_parameters_default_delivery_controls, - { "default-delivery-controls", "x411.default-delivery-controls", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_T_standard_parameters_redirections, - { "redirections", "x411.redirections", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_T_standard_parameters_restricted_delivery, - { "restricted-delivery", "x411.restricted-delivery", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_disclosure_of_other_recipients, - { "disclosure-of-other-recipients", "x411.disclosure-of-other-recipients", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_implicit_conversion_prohibited, - { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_alternate_recipient_allowed, - { "alternate-recipient-allowed", "x411.alternate-recipient-allowed", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_content_return_request, - { "content-return-request", "x411.content-return-request", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_reserved, - { "reserved", "x411.reserved", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_bit_5, - { "bit-5", "x411.bit-5", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_bit_6, - { "bit-6", "x411.bit-6", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_PerMessageIndicators_U_service_message, - { "service-message", "x411.service-message", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x411_OriginatorReportRequest_report, - { "report", "x411.report", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_OriginatorReportRequest_non_delivery_report, - { "non-delivery-report", "x411.non-delivery-report", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_DeliveryFlags_implicit_conversion_prohibited, - { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_Criticality_for_submission, - { "for-submission", "x411.for-submission", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_Criticality_for_transfer, - { "for-transfer", "x411.for-transfer", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_Criticality_for_delivery, - { "for-delivery", "x411.for-delivery", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_ordinary_mail, - { "ordinary-mail", "x411.ordinary-mail", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_special_delivery, - { "special-delivery", "x411.special-delivery", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_express_mail, - { "express-mail", "x411.express-mail", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_counter_collection, - { "counter-collection", "x411.counter-collection", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, - { "counter-collection-with-telephone-advice", "x411.counter-collection-with-telephone-advice", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, - { "counter-collection-with-telex-advice", "x411.counter-collection-with-telex-advice", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, - { "counter-collection-with-teletex-advice", "x411.counter-collection-with-teletex-advice", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, - { "bureau-fax-delivery", "x411.bureau-fax-delivery", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_unknown, - { "unknown", "x411.unknown", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_ia5_text, - { "ia5-text", "x411.ia5-text", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, - { "g3-facsimile", "x411.g3-facsimile", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, - { "g4-class-1", "x411.g4-class-1", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_teletex, - { "teletex", "x411.teletex", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_videotex, - { "videotex", "x411.videotex", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_voice, - { "voice", "x411.voice", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_sfd, - { "sfd", "x411.sfd", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, - { "mixed-mode", "x411.mixed-mode", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, - { "two-dimensional", "x411.two-dimensional", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, - { "fine-resolution", "x411.fine-resolution", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, - { "unlimited-length", "x411.unlimited-length", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_b4_length, - { "b4-length", "x411.b4-length", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_a3_width, - { "a3-width", "x411.a3-width", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_b4_width, - { "b4-width", "x411.b4-width", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_t6_coding, - { "t6-coding", "x411.t6-coding", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_uncompressed, - { "uncompressed", "x411.uncompressed", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, - { "width-middle-864-of-1728", "x411.width-middle-864-of-1728", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, - { "width-middle-1216-of-1728", "x411.width-middle-1216-of-1728", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_resolution_type, - { "resolution-type", "x411.resolution-type", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, - { "resolution-400x400", "x411.resolution-400x400", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, - { "resolution-300x300", "x411.resolution-300x300", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, - { "resolution-8x15", "x411.resolution-8x15", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_edi, - { "edi", "x411.edi", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_dtm, - { "dtm", "x411.dtm", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_bft, - { "bft", "x411.bft", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, - { "mixed-mode", "x411.mixed-mode", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_character_mode, - { "character-mode", "x411.character-mode", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, - { "twelve-bits", "x411.twelve-bits", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, - { "preferred-huffmann", "x411.preferred-huffmann", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_full_colour, - { "full-colour", "x411.full-colour", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_jpeg, - { "jpeg", "x411.jpeg", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, - { "processable-mode-26", "x411.processable-mode-26", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - -/*--- End of included file: packet-x411-hfarr.c ---*/ -#line 247 "packet-x411-template.c" - }; - - /* List of subtrees */ - static gint *ett[] = { - &ett_x411, - &ett_p3, - &ett_x411_content_unknown, - &ett_x411_bilateral_information, - &ett_x411_additional_information, - &ett_x411_unknown_standard_extension, - &ett_x411_unknown_extension_attribute_type, - &ett_x411_unknown_tokendata_type, - -/*--- Included file: packet-x411-ettarr.c ---*/ -#line 1 "packet-x411-ettarr.c" - &ett_x411_MTABindArgument, - &ett_x411_AuthenticatedArgument, - &ett_x411_MTABindResult, - &ett_x411_AuthenticatedResult, - &ett_x411_MTS_APDU, - &ett_x411_Message, - &ett_x411_Report, - &ett_x411_MessageTransferEnvelope, - &ett_x411_PerMessageTransferFields, - &ett_x411_SEQUENCE_SIZE_1_ub_transfers_OF_PerDomainBilateralInformation, - &ett_x411_SET_OF_ExtensionField, - &ett_x411_PerRecipientMessageTransferFields, - &ett_x411_ProbeTransferEnvelope, - &ett_x411_PerProbeTransferFields, - &ett_x411_PerRecipientProbeTransferFields, - &ett_x411_ReportTransferEnvelope, - &ett_x411_ReportTransferContent, - &ett_x411_PerReportTransferFields, - &ett_x411_PerRecipientReportTransferFields, - &ett_x411_PerDomainBilateralInformation, - &ett_x411_T_bilateral_domain, - &ett_x411_T_private_domain, - &ett_x411_PerRecipientIndicators, - &ett_x411_LastTraceInformation, - &ett_x411_InternalTraceInformation, - &ett_x411_InternalTraceInformationElement, - &ett_x411_MTASuppliedInformation, - &ett_x411_SEQUENCE_SIZE_1_ub_transfers_OF_TraceInformationElement, - &ett_x411_TraceInformationElement, - &ett_x411_DomainSuppliedInformation, - &ett_x411_AdditionalActions, - &ett_x411_OtherActions, - &ett_x411_MTSBindArgument, - &ett_x411_MTSBindResult, - &ett_x411_ObjectName, - &ett_x411_MessagesWaiting, - &ett_x411_DeliveryQueue, - &ett_x411_Credentials, - &ett_x411_Password, - &ett_x411_StrongCredentials, - &ett_x411_ProtectedPassword, - &ett_x411_Signature, - &ett_x411_SecurityContext, - &ett_x411_MessageSubmissionArgument, - &ett_x411_MessageSubmissionResult, - &ett_x411_ProbeSubmissionResult, - &ett_x411_ImproperlySpecifiedRecipients, - &ett_x411_Waiting, - &ett_x411_SET_SIZE_0_ub_content_types_OF_ContentType, - &ett_x411_Operations, - &ett_x411_WaitingMessages, - &ett_x411_MessageDeliveryArgument, - &ett_x411_MessageDeliveryResult, - &ett_x411_ReportDeliveryArgument, - &ett_x411_ReportDeliveryResult, - &ett_x411_SET_SIZE_1_MAX_OF_ExtensionField, - &ett_x411_DeliveryControlArgument, - &ett_x411_DeliveryControlResult, - &ett_x411_RefusedOperation, - &ett_x411_T_refused_argument, - &ett_x411_Controls, - &ett_x411_RegisterArgument, - &ett_x411_SET_SIZE_1_ub_deliverable_class_OF_DeliverableClass, - &ett_x411_RegisterResult, - &ett_x411_T_non_empty_result, - &ett_x411_ChangeCredentialsArgument, - &ett_x411_UserAddress, - &ett_x411_T_x121, - &ett_x411_Redirections, - &ett_x411_RecipientRedirection, - &ett_x411_SET_SIZE_1_ub_redirection_classes_OF_RedirectionClass, - &ett_x411_MessageClass, - &ett_x411_SET_OF_Priority, - &ett_x411_SEQUENCE_OF_Restriction, - &ett_x411_EncodedInformationTypesConstraints, - &ett_x411_RestrictedDelivery, - &ett_x411_Restriction, - &ett_x411_T_source_type, - &ett_x411_ExactOrPattern, - &ett_x411_RegistrationTypes, - &ett_x411_T_standard_parameters, - &ett_x411_T_type_extensions, - &ett_x411_MessageSubmissionEnvelope, - &ett_x411_PerMessageSubmissionFields, - &ett_x411_PerRecipientMessageSubmissionFields, - &ett_x411_ProbeSubmissionEnvelope, - &ett_x411_PerProbeSubmissionFields, - &ett_x411_PerRecipientProbeSubmissionFields, - &ett_x411_MessageDeliveryEnvelope, - &ett_x411_OtherMessageDeliveryFields, - &ett_x411_ReportDeliveryEnvelope, - &ett_x411_PerReportDeliveryFields, - &ett_x411_PerRecipientReportDeliveryFields, - &ett_x411_ReportType, - &ett_x411_DeliveryReport, - &ett_x411_NonDeliveryReport, - &ett_x411_ContentTypes, - &ett_x411_ContentType, - &ett_x411_DeliveredContentType, - &ett_x411_PerMessageIndicators_U, - &ett_x411_OriginatorReportRequest, - &ett_x411_DeliveryFlags, - &ett_x411_OtherRecipientNames, - &ett_x411_ExtensionType, - &ett_x411_Criticality, - &ett_x411_ExtensionField, - &ett_x411_RequestedDeliveryMethod, - &ett_x411_PhysicalDeliveryModes, - &ett_x411_ContentCorrelator, - &ett_x411_RedirectionHistory, - &ett_x411_Redirection, - &ett_x411_IntendedRecipientName, - &ett_x411_DLExpansionHistory, - &ett_x411_DLExpansion, - &ett_x411_OriginatorAndDLExpansionHistory, - &ett_x411_OriginatorAndDLExpansion, - &ett_x411_PerRecipientReportFields, - &ett_x411_T_report_type, - &ett_x411_PerRecipientDeliveryReportFields, - &ett_x411_PerRecipientNonDeliveryReportFields, - &ett_x411_ReportingMTAName, - &ett_x411_ExtendedCertificates, - &ett_x411_ExtendedCertificate, - &ett_x411_DLExemptedRecipients, - &ett_x411_CertificateSelectors, - &ett_x411_MTSIdentifier_U, - &ett_x411_GlobalDomainIdentifier_U, - &ett_x411_PrivateDomainIdentifier, - &ett_x411_ORName_U, - &ett_x411_ORAddress, - &ett_x411_BuiltInStandardAttributes, - &ett_x411_CountryName_U, - &ett_x411_AdministrationDomainName_U, - &ett_x411_PrivateDomainName, - &ett_x411_PersonalName, - &ett_x411_OrganizationalUnitNames, - &ett_x411_BuiltInDomainDefinedAttributes, - &ett_x411_BuiltInDomainDefinedAttribute, - &ett_x411_ExtensionAttributes, - &ett_x411_ExtensionAttribute, - &ett_x411_TeletexPersonalName, - &ett_x411_UniversalPersonalName, - &ett_x411_TeletexOrganizationalUnitNames, - &ett_x411_UniversalOrganizationalUnitNames, - &ett_x411_UniversalOrBMPString, - &ett_x411_T_character_encoding, - &ett_x411_PhysicalDeliveryCountryName, - &ett_x411_PostalCode, - &ett_x411_UnformattedPostalAddress, - &ett_x411_T_printable_address, - &ett_x411_PDSParameter, - &ett_x411_ExtendedNetworkAddress, - &ett_x411_T_e163_4_address, - &ett_x411_TeletexDomainDefinedAttributes, - &ett_x411_TeletexDomainDefinedAttribute, - &ett_x411_UniversalDomainDefinedAttributes, - &ett_x411_UniversalDomainDefinedAttribute, - &ett_x411_EncodedInformationTypes_U, - &ett_x411_BuiltInEncodedInformationTypes, - &ett_x411_ExtendedEncodedInformationTypes, - &ett_x411_NonBasicParameters, - &ett_x411_G3FacsimileNonBasicParameters, - &ett_x411_TeletexNonBasicParameters, - &ett_x411_Token, - &ett_x411_AsymmetricTokenData, - &ett_x411_T_name, - &ett_x411_MTANameAndOptionalGDI, - &ett_x411_AsymmetricToken, - &ett_x411_TokenData, - &ett_x411_MessageTokenSignedData, - &ett_x411_MessageTokenEncryptedData, - &ett_x411_SecurityLabel, - &ett_x411_SecurityCategories, - &ett_x411_SecurityCategory, - &ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageTransferFields, - &ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeTransferFields, - &ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportTransferFields, - &ett_x411_T_attempted, - &ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientReportDeliveryFields, - &ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientMessageSubmissionFields, - &ett_x411_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields, - -/*--- End of included file: packet-x411-ettarr.c ---*/ -#line 260 "packet-x411-template.c" - }; - - module_t *x411_module; - - /* Register protocol */ - proto_x411 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("x411", dissect_x411, proto_x411); - - proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3"); - - /* Register fields and subtrees */ - proto_register_field_array(proto_x411, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - - x411_extension_dissector_table = register_dissector_table("x411.extension", "X411-EXTENSION", FT_UINT32, BASE_DEC); - x411_extension_attribute_dissector_table = register_dissector_table("x411.extension-attribute", "X411-EXTENSION-ATTRIBUTE", FT_UINT32, BASE_DEC); - x411_tokendata_dissector_table = register_dissector_table("x411.tokendata", "X411-TOKENDATA", FT_UINT32, BASE_DEC); - - /* Register our configuration options for X411, particularly our port */ - - x411_module = prefs_register_protocol_subtree("OSI/X.400", proto_x411, prefs_register_x411); - - prefs_register_uint_preference(x411_module, "tcp.port", "X.411 TCP Port", - "Set the port for P1 operations (if other" - " than the default of 102)", - 10, &global_x411_tcp_port); - - register_ber_syntax_dissector("X.411 Message", proto_x411, dissect_x411_mts_apdu); -} - - -/*--- proto_reg_handoff_x411 --- */ -void proto_reg_handoff_x411(void) { - dissector_handle_t x411_handle; - - -/*--- Included file: packet-x411-dis-tab.c ---*/ -#line 1 "packet-x411-dis-tab.c" - dissector_add_uint("x411.extension", 1, create_dissector_handle(dissect_RecipientReassignmentProhibited_PDU, proto_x411)); - dissector_add_uint("x411.extension", 2, create_dissector_handle(dissect_OriginatorRequestedAlternateRecipient_PDU, proto_x411)); - dissector_add_uint("x411.extension", 3, create_dissector_handle(dissect_DLExpansionProhibited_PDU, proto_x411)); - dissector_add_uint("x411.extension", 4, create_dissector_handle(dissect_ConversionWithLossProhibited_PDU, proto_x411)); - dissector_add_uint("x411.extension", 5, create_dissector_handle(dissect_LatestDeliveryTime_PDU, proto_x411)); - dissector_add_uint("x411.extension", 6, create_dissector_handle(dissect_RequestedDeliveryMethod_PDU, proto_x411)); - dissector_add_uint("x411.extension", 7, create_dissector_handle(dissect_PhysicalForwardingProhibited_PDU, proto_x411)); - dissector_add_uint("x411.extension", 8, create_dissector_handle(dissect_PhysicalForwardingAddressRequest_PDU, proto_x411)); - dissector_add_uint("x411.extension", 9, create_dissector_handle(dissect_PhysicalDeliveryModes_PDU, proto_x411)); - dissector_add_uint("x411.extension", 10, create_dissector_handle(dissect_RegisteredMailType_PDU, proto_x411)); - dissector_add_uint("x411.extension", 11, create_dissector_handle(dissect_RecipientNumberForAdvice_PDU, proto_x411)); - dissector_add_uint("x411.extension", 12, create_dissector_handle(dissect_PhysicalRenditionAttributes_PDU, proto_x411)); - dissector_add_uint("x411.extension", 13, create_dissector_handle(dissect_OriginatorReturnAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension", 14, create_dissector_handle(dissect_PhysicalDeliveryReportRequest_PDU, proto_x411)); - dissector_add_uint("x411.extension", 15, create_dissector_handle(dissect_OriginatorCertificate_PDU, proto_x411)); - dissector_add_uint("x411.extension", 16, create_dissector_handle(dissect_MessageToken_PDU, proto_x411)); - dissector_add_uint("x411.extension", 17, create_dissector_handle(dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_x411)); - dissector_add_uint("x411.extension", 18, create_dissector_handle(dissect_ContentIntegrityCheck_PDU, proto_x411)); - dissector_add_uint("x411.extension", 19, create_dissector_handle(dissect_MessageOriginAuthenticationCheck_PDU, proto_x411)); - dissector_add_uint("x411.extension", 20, create_dissector_handle(dissect_MessageSecurityLabel_PDU, proto_x411)); - dissector_add_uint("x411.extension", 21, create_dissector_handle(dissect_ProofOfSubmissionRequest_PDU, proto_x411)); - dissector_add_uint("x411.extension", 22, create_dissector_handle(dissect_ProofOfDeliveryRequest_PDU, proto_x411)); - dissector_add_uint("x411.extension", 23, create_dissector_handle(dissect_ContentCorrelator_PDU, proto_x411)); - dissector_add_uint("x411.extension", 24, create_dissector_handle(dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411)); - dissector_add_uint("x411.extension", 25, create_dissector_handle(dissect_RedirectionHistory_PDU, proto_x411)); - dissector_add_uint("x411.extension", 26, create_dissector_handle(dissect_DLExpansionHistory_PDU, proto_x411)); - dissector_add_uint("x411.extension", 27, create_dissector_handle(dissect_PhysicalForwardingAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension", 28, create_dissector_handle(dissect_RecipientCertificate_PDU, proto_x411)); - dissector_add_uint("x411.extension", 29, create_dissector_handle(dissect_ProofOfDelivery_PDU, proto_x411)); - dissector_add_uint("x411.extension", 30, create_dissector_handle(dissect_OriginatorAndDLExpansionHistory_PDU, proto_x411)); - dissector_add_uint("x411.extension", 31, create_dissector_handle(dissect_ReportingDLName_PDU, proto_x411)); - dissector_add_uint("x411.extension", 32, create_dissector_handle(dissect_ReportingMTACertificate_PDU, proto_x411)); - dissector_add_uint("x411.extension", 33, create_dissector_handle(dissect_ReportOriginAuthenticationCheck_PDU, proto_x411)); - dissector_add_uint("x411.extension", 35, create_dissector_handle(dissect_ProofOfSubmission_PDU, proto_x411)); - dissector_add_uint("x411.extension", 37, create_dissector_handle(dissect_TraceInformation_PDU, proto_x411)); - dissector_add_uint("x411.extension", 38, create_dissector_handle(dissect_InternalTraceInformation_PDU, proto_x411)); - dissector_add_uint("x411.extension", 39, create_dissector_handle(dissect_ReportingMTAName_PDU, proto_x411)); - dissector_add_uint("x411.extension", 40, create_dissector_handle(dissect_ExtendedCertificates_PDU, proto_x411)); - dissector_add_uint("x411.extension", 42, create_dissector_handle(dissect_DLExemptedRecipients_PDU, proto_x411)); - dissector_add_uint("x411.extension", 45, create_dissector_handle(dissect_CertificateSelectors_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 1, create_dissector_handle(dissect_CommonName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 2, create_dissector_handle(dissect_TeletexCommonName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 3, create_dissector_handle(dissect_TeletexOrganizationName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 4, create_dissector_handle(dissect_TeletexPersonalName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 5, create_dissector_handle(dissect_TeletexOrganizationalUnitNames_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 6, create_dissector_handle(dissect_TeletexDomainDefinedAttributes_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 7, create_dissector_handle(dissect_PDSName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 8, create_dissector_handle(dissect_PhysicalDeliveryCountryName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 9, create_dissector_handle(dissect_PostalCode_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 10, create_dissector_handle(dissect_PhysicalDeliveryOfficeName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 11, create_dissector_handle(dissect_PhysicalDeliveryOfficeNumber_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 12, create_dissector_handle(dissect_ExtensionORAddressComponents_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 13, create_dissector_handle(dissect_PhysicalDeliveryPersonalName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 14, create_dissector_handle(dissect_PhysicalDeliveryOrganizationName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 15, create_dissector_handle(dissect_ExtensionPhysicalDeliveryAddressComponents_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 16, create_dissector_handle(dissect_UnformattedPostalAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 17, create_dissector_handle(dissect_StreetAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 18, create_dissector_handle(dissect_PostOfficeBoxAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 19, create_dissector_handle(dissect_PosteRestanteAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 20, create_dissector_handle(dissect_UniquePostalName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 21, create_dissector_handle(dissect_LocalPostalAttributes_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 22, create_dissector_handle(dissect_ExtendedNetworkAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 23, create_dissector_handle(dissect_TerminalType_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 24, create_dissector_handle(dissect_UniversalCommonName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 25, create_dissector_handle(dissect_UniversalOrganizationName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 26, create_dissector_handle(dissect_UniversalPersonalName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 27, create_dissector_handle(dissect_UniversalOrganizationalUnitNames_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 28, create_dissector_handle(dissect_UniversalDomainDefinedAttributes_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 29, create_dissector_handle(dissect_UniversalPhysicalDeliveryOfficeName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 30, create_dissector_handle(dissect_UniversalPhysicalDeliveryOfficeNumber_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 31, create_dissector_handle(dissect_UniversalExtensionORAddressComponents_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 32, create_dissector_handle(dissect_UniversalPhysicalDeliveryPersonalName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 33, create_dissector_handle(dissect_UniversalPhysicalDeliveryOrganizationName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 34, create_dissector_handle(dissect_UniversalExtensionPhysicalDeliveryAddressComponents_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 35, create_dissector_handle(dissect_UniversalUnformattedPostalAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 36, create_dissector_handle(dissect_UniversalStreetAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 37, create_dissector_handle(dissect_UniversalPostOfficeBoxAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 38, create_dissector_handle(dissect_UniversalPosteRestanteAddress_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 39, create_dissector_handle(dissect_UniversalUniquePostalName_PDU, proto_x411)); - dissector_add_uint("x411.extension-attribute", 40, create_dissector_handle(dissect_UniversalLocalPostalAttributes_PDU, proto_x411)); - register_ber_oid_dissector("2.6.3.6.0", dissect_AsymmetricToken_PDU, proto_x411, "id-tok-asymmetricToken"); - register_ber_oid_dissector("2.6.5.6.0", dissect_MTANameAndOptionalGDI_PDU, proto_x411, "id-on-mtaName"); - dissector_add_uint("x411.tokendata", 1, create_dissector_handle(dissect_BindTokenSignedData_PDU, proto_x411)); - dissector_add_uint("x411.tokendata", 2, create_dissector_handle(dissect_MessageTokenSignedData_PDU, proto_x411)); - dissector_add_uint("x411.tokendata", 3, create_dissector_handle(dissect_MessageTokenEncryptedData_PDU, proto_x411)); - dissector_add_uint("x411.tokendata", 4, create_dissector_handle(dissect_BindTokenEncryptedData_PDU, proto_x411)); - register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_x411, "id-at-mhs-maximum-content-length"); - register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-deliverable-content-types"); - register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-exclusively-acceptable-eits"); - register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-members"); - register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_x411, "id-at-mhs-or-addresses"); - register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-supported-content-types"); - register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-archive-service"); - register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-subscription-service"); - register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-acceptable-eits"); - register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-unacceptable-eits"); - register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_x411, "id-at-aLExemptedAddressProcessor"); - register_ber_oid_dissector("2.16.840.1.101.2.2.1.134.1", dissect_ORAddress_PDU, proto_x411, "id-at-collective-mhs-or-addresses"); - register_ber_oid_dissector("2.6.4.3.80", dissect_CertificateSelectors_PDU, proto_x411, "id-att-certificate-selectors"); - register_ber_oid_dissector("2.6.4.3.1", dissect_Content_PDU, proto_x411, "id-att-content"); - register_ber_oid_dissector("2.6.4.3.3", dissect_ContentCorrelator_PDU, proto_x411, "id-att-content-correlator"); - register_ber_oid_dissector("2.6.4.3.4", dissect_ContentIdentifier_PDU, proto_x411, "id-att-content-identifier"); - register_ber_oid_dissector("2.6.4.3.5", dissect_ContentIntegrityCheck_PDU, proto_x411, "id-att-content-inetgrity-check"); - register_ber_oid_dissector("2.6.4.3.6", dissect_ContentLength_PDU, proto_x411, "id-att-content-length"); - register_ber_oid_dissector("2.6.4.3.8", dissect_ExtendedContentType_PDU, proto_x411, "id-att-content-type"); - register_ber_oid_dissector("2.6.4.3.9", dissect_ConversionWithLossProhibited_PDU, proto_x411, "id-att-conversion-with-loss-prohibited"); - register_ber_oid_dissector("2.6.4.3.51", dissect_DeferredDeliveryTime_PDU, proto_x411, "id-att-deferred-delivery-time"); - register_ber_oid_dissector("2.6.4.3.13", dissect_DeliveryFlags_PDU, proto_x411, "id-att-delivery-flags"); - register_ber_oid_dissector("2.6.4.3.78", dissect_ORName_PDU, proto_x411, "id-att-dl-exempted-recipients"); - register_ber_oid_dissector("2.6.4.3.14", dissect_DLExpansion_PDU, proto_x411, "id-att-dl-expansion-history"); - register_ber_oid_dissector("2.6.4.3.53", dissect_DLExpansionProhibited_PDU, proto_x411, "id-att-dl-expansion-prohibited"); - register_ber_oid_dissector("2.6.4.3.54", dissect_InternalTraceInformationElement_PDU, proto_x411, "id-att-internal-trace-information"); - register_ber_oid_dissector("2.6.4.3.55", dissect_LatestDeliveryTime_PDU, proto_x411, "id-att-latest-delivery-time"); - register_ber_oid_dissector("2.6.4.3.18", dissect_MessageDeliveryEnvelope_PDU, proto_x411, "id-att-message-delivery-envelope"); - register_ber_oid_dissector("2.6.4.3.20", dissect_MessageDeliveryTime_PDU, proto_x411, "id-att-message-delivery-time"); - register_ber_oid_dissector("2.6.4.3.19", dissect_MTSIdentifier_PDU, proto_x411, "id-att-message-identifier"); - register_ber_oid_dissector("2.6.4.3.21", dissect_MessageOriginAuthenticationCheck_PDU, proto_x411, "id-at-message-orgin-authentication-check"); - register_ber_oid_dissector("2.6.4.3.22", dissect_MessageSecurityLabel_PDU, proto_x411, "id-att-message-security-label"); - register_ber_oid_dissector("2.6.4.3.59", dissect_MessageSubmissionEnvelope_PDU, proto_x411, "id-att-message-submission-envelope"); - register_ber_oid_dissector("2.6.4.3.23", dissect_MessageSubmissionTime_PDU, proto_x411, "id-att-message-submission-time"); - register_ber_oid_dissector("2.6.4.3.24", dissect_MessageToken_PDU, proto_x411, "id-att-message-token"); - register_ber_oid_dissector("2.6.4.3.81", dissect_ExtendedCertificates_PDU, proto_x411, "id-att-multiple-originator-certificates"); - register_ber_oid_dissector("2.6.4.3.17", dissect_ORName_PDU, proto_x411, "id-att-originally-intended-recipient-name"); - register_ber_oid_dissector("2.6.4.3.62", dissect_OriginatingMTACertificate_PDU, proto_x411, "id-att-originating-MTA-certificate"); - register_ber_oid_dissector("2.6.4.3.26", dissect_OriginatorCertificate_PDU, proto_x411, "id-att-originator-certificate"); - register_ber_oid_dissector("2.6.4.3.27", dissect_ORName_PDU, proto_x411, "id-att-originator-name"); - register_ber_oid_dissector("2.6.4.3.63", dissect_OriginatorReportRequest_PDU, proto_x411, "id-att-originator-report-request"); - register_ber_oid_dissector("2.6.4.3.64", dissect_OriginatorReturnAddress_PDU, proto_x411, "id-att-originator-return-address"); - register_ber_oid_dissector("2.6.4.3.28", dissect_ORName_PDU, proto_x411, "id-att-other-recipient-names"); - register_ber_oid_dissector("2.6.4.3.65", dissect_PerMessageIndicators_PDU, proto_x411, "id-att-per-message-indicators"); - register_ber_oid_dissector("2.6.4.3.66", dissect_PerRecipientMessageSubmissionFields_PDU, proto_x411, "id-att-per-recipient-message-submission-fields"); - register_ber_oid_dissector("2.6.4.3.67", dissect_PerRecipientProbeSubmissionFields_PDU, proto_x411, "id-att-per-recipient-probe-submission-fields"); - register_ber_oid_dissector("2.6.4.3.30", dissect_PerRecipientReportDeliveryFields_PDU, proto_x411, "id-att-per-recipient-report-delivery-fields"); - register_ber_oid_dissector("2.6.4.3.31", dissect_Priority_PDU, proto_x411, "id-att-priority"); - register_ber_oid_dissector("2.6.4.3.68", dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411, "id-att-probe-origin-authentication-check"); - register_ber_oid_dissector("2.6.4.3.69", dissect_ProbeSubmissionEnvelope_PDU, proto_x411, "id-att-probe-submission-envelope"); - register_ber_oid_dissector("2.6.4.3.32", dissect_ProofOfDeliveryRequest_PDU, proto_x411, "id-att-proof-of-delivery-request"); - register_ber_oid_dissector("2.6.4.3.70", dissect_ProofOfSubmission_PDU, proto_x411, "id-att-proof-of-submission"); - register_ber_oid_dissector("2.6.4.3.82", dissect_ExtendedCertificates_PDU, proto_x411, "id-att-recipient-certificate"); - register_ber_oid_dissector("2.6.4.3.71", dissect_ORName_PDU, proto_x411, "id-att-recipient-names"); - register_ber_oid_dissector("2.6.4.3.72", dissect_RecipientReassignmentProhibited_PDU, proto_x411, "id-att-recipient-reassignment-prohibited"); - register_ber_oid_dissector("2.6.4.3.33", dissect_Redirection_PDU, proto_x411, "id-at-redirection-history"); - register_ber_oid_dissector("2.6.4.3.34", dissect_ReportDeliveryEnvelope_PDU, proto_x411, "id-att-report-delivery-envelope"); - register_ber_oid_dissector("2.6.4.3.35", dissect_ReportingDLName_PDU, proto_x411, "id-att-reporting-DL-name"); - register_ber_oid_dissector("2.6.4.3.36", dissect_ReportingMTACertificate_PDU, proto_x411, "id-att-reporting-MTA-certificate"); - register_ber_oid_dissector("2.6.4.3.37", dissect_ReportOriginAuthenticationCheck_PDU, proto_x411, "id-att-report-origin-authentication-check"); - register_ber_oid_dissector("2.6.4.3.38", dissect_SecurityClassification_PDU, proto_x411, "id-att-security-classification"); - register_ber_oid_dissector("2.6.4.3.40", dissect_SubjectSubmissionIdentifier_PDU, proto_x411, "id-att-subject-submission-identifier"); - register_ber_oid_dissector("2.6.4.3.41", dissect_ORName_PDU, proto_x411, "id-att-this-recipient-name"); - register_ber_oid_dissector("2.6.4.3.75", dissect_TraceInformationElement_PDU, proto_x411, "id-att-trace-information"); - register_ber_oid_dissector("2.6.1.7.36", dissect_MessageToken_PDU, proto_x411, "id-hat-forwarded-token"); - - -/*--- End of included file: packet-x411-dis-tab.c ---*/ -#line 296 "packet-x411-template.c" - - /* APPLICATION CONTEXT */ - - oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6"); - - /* ABSTRACT SYNTAXES */ - - x411_handle = find_dissector("x411"); - register_rtse_oid_dissector_handle("2.6.0.2.12", x411_handle, 0, "id-as-mta-rtse", TRUE); - register_rtse_oid_dissector_handle("2.6.0.2.7", x411_handle, 0, "id-as-mtse", FALSE); - - register_rtse_oid_dissector_handle("applicationProtocol.1", x411_handle, 0, "mts-transfer-protocol-1984", FALSE); - register_rtse_oid_dissector_handle("applicationProtocol.12", x411_handle, 0, "mta-transfer-protocol", FALSE); - - /* remember the tpkt handler for change in preferences */ - tpkt_handle = find_dissector("tpkt"); - - /* APPLICATION CONTEXT */ - - oid_add_from_string("id-ac-mts-access-88", id_ac_mts_access_88); - oid_add_from_string("id-ac-mts-forced-access-88", id_ac_mts_forced_access_88); - oid_add_from_string("id-ac-mts-access-94", id_ac_mts_access_94); - oid_add_from_string("id-ac-mts-forced-access-94", id_ac_mts_forced_access_94); - - - /* Register P3 with ROS */ - register_ros_protocol_info(id_as_msse, &p3_ros_info, 0, "id-as-msse", FALSE); - - register_ros_protocol_info(id_as_mdse_88, &p3_ros_info, 0, "id-as-mdse-88", FALSE); - register_ros_protocol_info(id_as_mdse_94, &p3_ros_info, 0, "id-as-mdse-94", FALSE); - - register_ros_protocol_info(id_as_mase_88, &p3_ros_info, 0, "id-as-mase-88", FALSE); - register_ros_protocol_info(id_as_mase_94, &p3_ros_info, 0, "id-as-mase-94", FALSE); - - register_ros_protocol_info(id_as_mts, &p3_ros_info, 0, "id-as-mts", FALSE); - -} - -static void -prefs_register_x411(void) -{ - static guint tcp_port = 0; - - /* de-register the old port */ - /* port 102 is registered by TPKT - don't undo this! */ - if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle) - dissector_delete_uint("tcp.port", tcp_port, tpkt_handle); - - /* Set our port number for future use */ - tcp_port = global_x411_tcp_port; - - if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle) - dissector_add_uint("tcp.port", tcp_port, tpkt_handle); - -} diff --git a/epan/dissectors/packet-x420.c b/epan/dissectors/packet-x420.c deleted file mode 100644 index f07189a128..0000000000 --- a/epan/dissectors/packet-x420.c +++ /dev/null @@ -1,6321 +0,0 @@ -/* Do not modify this file. */ -/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* packet-x420.c */ -/* ../../tools/asn2wrs.py -b -e -C -p x420 -c ./x420.cnf -s ./packet-x420-template -D . IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */ - -/* Input file: packet-x420-template.c */ - -#line 1 "packet-x420-template.c" -/* packet-x420.c - * Routines for X.420 (X.400 Message Transfer) packet dissection - * Graeme Lunt 2005 - * - * $Id$ - * - * 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 - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <glib.h> -#include <epan/packet.h> -#include <epan/oids.h> -#include <epan/asn1.h> - -#include "packet-ber.h" -#include "packet-acse.h" -#include "packet-ros.h" - -#include "packet-x509af.h" -#include "packet-x509ce.h" -#include "packet-ftam.h" -#include "packet-x411.h" -#include "packet-p7.h" - -#include "packet-x420.h" - -#define PNAME "X.420 Information Object" -#define PSNAME "X420" -#define PFNAME "x420" - -/* Initialize the protocol and registered fields */ -static int proto_x420 = -1; - -static const char *object_identifier_id; /* content type identifier */ - -static const value_string charsetreg_vals [] = { - { 1, "C0: (ISO/IEC 6429)"}, - { 6, "G0: ASCII (ISO/IEC 646)"}, - { 77, "C1: (ISO/IEC 6429)"}, - { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"}, - { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"}, - { 104, "C0: (ISO/IEC 4873)"}, - { 105, "C1: (ISO/IEC 4873)"}, - { 106, "C0: Teletex (CCITT T.61)"}, - { 107, "C1: Teletex (CCITT T.61)"}, - { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"}, - { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"}, - { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"}, - { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"}, - { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"}, - { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"}, - { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"}, - { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"}, - { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"}, - { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"}, - { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"}, - { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"}, - { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"}, - { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"}, - { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"}, - { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"}, - { 0, NULL} -}; - - -/*--- Included file: packet-x420-val.h ---*/ -#line 1 "packet-x420-val.h" -#define id_ipms "2.6.1" -#define id_mod id_ipms".0" -#define id_ot id_ipms".1" -#define id_pt id_ipms".2" -#define id_et id_ipms".4" -#define id_hex id_ipms".5" -#define id_sat id_ipms".6" -#define id_hat id_ipms".7" -#define id_bat id_ipms".8" -#define id_nat id_ipms".9" -#define id_mct id_ipms".10" -#define id_ep id_ipms".11" -#define id_eit id_ipms".12" -#define id_cat id_ipms".13" -#define id_mr id_ipms".14" -#define id_aa id_ipms".15" -#define id_aae id_ipms".16" -#define id_mst id_ipms".17" -#define id_sec id_ipms".18" -#define id_on id_ipms".19" -#define id_rex id_ipms".20" -#define id_mod_object_identifiers id_mod".0" -#define id_mod_functional_objects id_mod".1" -#define id_mod_information_objects id_mod".2" -#define id_mod_abstract_service id_mod".3" -#define id_mod_heading_extensions id_mod".6" -#define id_mod_extended_body_part_types id_mod".7" -#define id_mod_message_store_attributes id_mod".8" -#define id_mod_file_transfer_body_part_type id_mod".9" -#define id_mod_upper_bounds id_mod".10" -#define id_mod_extended_voice_body_part_type id_mod".11" -#define id_mod_forwarded_report_body_part_type id_mod".12" -#define id_mod_auto_actions id_mod".13" -#define id_mod_ipm_security_extensions id_mod".14" -#define id_mod_forwarded_content_body_part_type id_mod".15" -#define id_mod_pkcs7_body_part_type id_mod".16" -#define id_ot_ipms_user id_ot".1" -#define id_ot_ipms id_ot".2" -#define id_pt_origination id_pt".0" -#define id_pt_reception id_pt".1" -#define id_pt_management id_pt".2" -#define id_et_ia5_text id_et".0" -#define id_et_g3_facsimile id_et".2" -#define id_et_g4_class1 id_et".3" -#define id_et_teletex id_et".4" -#define id_et_videotex id_et".5" -#define id_et_encrypted id_et".6" -#define id_et_message id_et".7" -#define id_et_mixed_mode id_et".8" -#define id_et_bilaterally_defined id_et".9" -#define id_et_nationally_defined id_et".10" -#define id_et_general_text id_et".11" -#define id_et_file_transfer id_et".12" -#define id_et_report id_et".14" -#define id_et_notification id_et".15" -#define id_et_voice id_et".16" -#define id_et_content id_et".17" -#define id_et_pkcs7 id_et".18" -#define id_hex_incomplete_copy id_hex".0" -#define id_hex_languages id_hex".1" -#define id_hex_auto_submitted id_hex".2" -#define id_hex_body_part_signatures id_hex".3" -#define id_hex_ipm_security_label id_hex".4" -#define id_hex_authorization_time id_hex".5" -#define id_hex_circulation_list_recipients id_hex".6" -#define id_hex_distribution_codes id_hex".7" -#define id_hex_extended_subject id_hex".8" -#define id_hex_information_category id_hex".9" -#define id_hex_manual_handling_instructions id_hex".10" -#define id_hex_originators_reference id_hex".11" -#define id_hex_precedence_policy_id id_hex".12" -#define id_sat_ipm_entry_type id_sat".0" -#define id_sat_ipm_synopsis id_sat".1" -#define id_sat_body_parts_summary id_sat".2" -#define id_sat_ipm_auto_discarded id_sat".3" -#define id_hat_heading id_hat".0" -#define id_hat_this_ipm id_hat".1" -#define id_hat_originator id_hat".2" -#define id_hat_replied_to_IPM id_hat".3" -#define id_hat_subject id_hat".4" -#define id_hat_expiry_time id_hat".5" -#define id_hat_reply_time id_hat".6" -#define id_hat_importance id_hat".7" -#define id_hat_sensitivity id_hat".8" -#define id_hat_auto_forwarded id_hat".9" -#define id_hat_authorizing_users id_hat".10" -#define id_hat_primary_recipients id_hat".11" -#define id_hat_copy_recipients id_hat".12" -#define id_hat_blind_copy_recipients id_hat".13" -#define id_hat_obsoleted_IPMs id_hat".14" -#define id_hat_related_IPMs id_hat".15" -#define id_hat_reply_recipients id_hat".16" -#define id_hat_incomplete_copy id_hat".17" -#define id_hat_languages id_hat".18" -#define id_hat_rn_requestors id_hat".19" -#define id_hat_nrn_requestors id_hat".20" -#define id_hat_reply_requestors id_hat".21" -#define id_hat_auto_submitted id_hat".22" -#define id_hat_body_part_signatures id_hat".23" -#define id_hat_ipm_security_label id_hat".24" -#define id_hat_body_part_security_label id_hat".25" -#define id_hat_body_part_encryption_token id_hat".26" -#define id_hat_authorization_time id_hat".27" -#define id_hat_circulation_list_recipients id_hat".28" -#define id_hat_distribution_codes id_hat".29" -#define id_hat_extended_subject id_hat".30" -#define id_hat_information_category id_hat".31" -#define id_hat_manual_handling_instructions id_hat".32" -#define id_hat_originators_reference id_hat".33" -#define id_hat_precedence_policy_id id_hat".34" -#define id_hat_forwarded_content_token id_hat".35" -#define id_hat_forwarding_token id_hat".36" -#define id_hat_precedence id_hat".37" -#define id_hat_body_part_signature_verification_status id_hat".38" -#define id_bat_body id_bat".0" -#define id_bat_ia5_text_body_parts id_bat".1" -#define id_bat_g3_facsimile_body_parts id_bat".3" -#define id_bat_g4_class1_body_parts id_bat".4" -#define id_bat_teletex_body_parts id_bat".5" -#define id_bat_videotex_body_parts id_bat".6" -#define id_bat_encrypted_body_parts id_bat".7" -#define id_bat_message_body_parts id_bat".8" -#define id_bat_mixed_mode_body_parts id_bat".9" -#define id_bat_bilaterally_defined_body_parts id_bat".10" -#define id_bat_nationally_defined_body_parts id_bat".11" -#define id_bat_extended_body_part_types id_bat".12" -#define id_bat_ia5_text_parameters id_bat".13" -#define id_bat_g3_facsimile_parameters id_bat".15" -#define id_bat_teletex_parameters id_bat".16" -#define id_bat_videotex_parameters id_bat".17" -#define id_bat_encrypted_parameters id_bat".18" -#define id_bat_message_parameters id_bat".19" -#define id_bat_ia5_text_data id_bat".20" -#define id_bat_g3_facsimile_data id_bat".22" -#define id_bat_teletex_data id_bat".23" -#define id_bat_videotex_data id_bat".24" -#define id_bat_encrypted_data id_bat".25" -#define id_bat_message_data id_bat".26" -#define id_nat_subject_ipm id_nat".0" -#define id_nat_ipn_originator id_nat".1" -#define id_nat_ipm_intended_recipient id_nat".2" -#define id_nat_conversion_eits id_nat".3" -#define id_nat_non_receipt_reason id_nat".4" -#define id_nat_discard_reason id_nat".5" -#define id_nat_auto_forward_comment id_nat".6" -#define id_nat_returned_ipm id_nat".7" -#define id_nat_receipt_time id_nat".8" -#define id_nat_acknowledgment_mode id_nat".9" -#define id_nat_suppl_receipt_info id_nat".10" -#define id_nat_notification_extensions id_nat".11" -#define id_nat_nrn_extensions id_nat".12" -#define id_nat_rn_extensions id_nat".13" -#define id_nat_other_notification_type_fields id_nat".14" -#define id_cat_correlated_delivered_ipns id_cat".0" -#define id_cat_correlated_delivered_replies id_cat".1" -#define id_cat_delivered_ipn_summary id_cat".2" -#define id_cat_delivered_replies_summary id_cat".3" -#define id_cat_forwarded_ipms id_cat".4" -#define id_cat_forwarding_ipms id_cat".5" -#define id_cat_ipm_recipients id_cat".6" -#define id_cat_obsoleted_ipms id_cat".7" -#define id_cat_obsoleting_ipms id_cat".8" -#define id_cat_related_ipms id_cat".9" -#define id_cat_relating_ipms id_cat".10" -#define id_cat_replied_to_ipm id_cat".11" -#define id_cat_replying_ipms id_cat".12" -#define id_cat_revised_reply_time id_cat".13" -#define id_cat_submitted_ipn_status id_cat".14" -#define id_cat_submitted_ipns id_cat".15" -#define id_cat_submitted_reply_status id_cat".16" -#define id_cat_subject_ipm id_cat".17" -#define id_cat_recipient_category id_cat".18" -#define id_mct_p2_1984 id_mct".0" -#define id_mct_p2_1988 id_mct".1" -#define id_ep_ia5_text id_ep".0" -#define id_ep_g3_facsimile id_ep".2" -#define id_ep_teletex id_ep".4" -#define id_ep_videotex id_ep".5" -#define id_ep_encrypted id_ep".6" -#define id_ep_message id_ep".7" -#define id_ep_general_text id_ep".11" -#define id_ep_file_transfer id_ep".12" -#define id_ep_notification id_ep".15" -#define id_ep_voice id_ep".16" -#define id_ep_content id_ep".17" -#define id_eit_file_transfer id_eit".0" -#define id_eit_voice id_eit".1" -#define id_voice_11khz_sample id_eit_voice".0" -#define id_voice_22khz_sample id_eit_voice".1" -#define id_voice_cd_quality id_eit_voice".2" -#define id_voice_g711_mu_law id_eit_voice".3" -#define id_voice_g726_32k_adpcm id_eit_voice".4" -#define id_voice_g728_16k_ld_celp id_eit_voice".5" -#define id_mr_ipm_identifier id_mr".0" -#define id_mr_or_descriptor id_mr".1" -#define id_mr_or_descriptor_elements id_mr".2" -#define id_mr_or_descriptor_substring_elements id_mr".3" -#define id_mr_recipient_specifier id_mr".4" -#define id_mr_recipient_specifier_elements id_mr".5" -#define id_mr_recipient_specifier_substring_elements id_mr".6" -#define id_mr_ipm_location id_mr".7" -#define id_mr_or_descriptor_single_element id_mr".8" -#define id_mr_recipient_specifier_single_element id_mr".9" -#define id_mr_circulation_member id_mr".10" -#define id_mr_circulation_member_elements id_mr".11" -#define id_mr_circulation_member_substring_elements id_mr".12" -#define id_mr_circulation_member_single_element id_mr".13" -#define id_mr_circulation_member_checkmark id_mr".14" -#define id_mr_distribution_code id_mr".15" -#define id_mr_information_category id_mr".16" -#define id_aa_ipm_auto_acknowledgement id_aa".0" -#define id_aa_ipm_auto_correlate id_aa".1" -#define id_aa_ipm_auto_discard id_aa".2" -#define id_aa_ipm_auto_advise id_aa".3" -#define id_aae_auto_discard_error id_aae".0" -#define id_aae_auto_forwarding_loop id_aae".1" -#define id_aae_duplicate_ipn id_aae".2" -#define id_mst_invalid_assembly_instructions id_mst".0" -#define id_mst_invalid_ipn id_mst".1" -#define id_mst_assembly_instructions id_mst".2" -#define id_mst_suspend_auto_acknowledgement id_mst".3" -#define id_mst_prevent_nrn_generation id_mst".4" -#define id_mst_originator_body_part_encryption_token id_mst".5" -#define id_mst_originator_forwarded_content_token id_mst".6" -#define id_mst_assembly_capability id_mst".7" -#define id_sec_ipm_security_request id_sec".0" -#define id_sec_security_common_fields id_sec".1" -#define id_on_absence_advice id_on".0" -#define id_on_change_of_address_advice id_on".1" -#define id_rex_circulation_list_indicator id_rex".0" -#define id_rex_precedence id_rex".1" -#define ub_alpha_code_length 16 -#define ub_auto_forward_comment 256 -#define ub_circulation_list_members 256 -#define ub_distribution_codes 16 -#define ub_extended_subject_length 256 -#define ub_free_form_name 64 -#define ub_information_categories 16 -#define ub_information_category_length 64 -#define ub_ipm_identifier_suffix 2 -#define ub_local_ipm_identifier 64 -#define ub_manual_handling_instruction_length 128 -#define ub_manual_handling_instructions 16 -#define ub_originators_reference_length 64 -#define ub_precedence 127 -#define ub_subject_field 128 -#define ub_telephone_number 32 - -/*--- End of included file: packet-x420-val.h ---*/ -#line 86 "packet-x420-template.c" - - -/*--- Included file: packet-x420-hf.c ---*/ -#line 1 "packet-x420-hf.c" -static int hf_x420_InformationObject_PDU = -1; /* InformationObject */ -static int hf_x420_Heading_PDU = -1; /* Heading */ -static int hf_x420_ORDescriptor_PDU = -1; /* ORDescriptor */ -static int hf_x420_ThisIPMField_PDU = -1; /* ThisIPMField */ -static int hf_x420_OriginatorField_PDU = -1; /* OriginatorField */ -static int hf_x420_AuthorizingUsersSubfield_PDU = -1; /* AuthorizingUsersSubfield */ -static int hf_x420_PrimaryRecipientsSubfield_PDU = -1; /* PrimaryRecipientsSubfield */ -static int hf_x420_CopyRecipientsSubfield_PDU = -1; /* CopyRecipientsSubfield */ -static int hf_x420_BlindCopyRecipientsSubfield_PDU = -1; /* BlindCopyRecipientsSubfield */ -static int hf_x420_RepliedToIPMField_PDU = -1; /* RepliedToIPMField */ -static int hf_x420_ObsoletedIPMsSubfield_PDU = -1; /* ObsoletedIPMsSubfield */ -static int hf_x420_RelatedIPMsSubfield_PDU = -1; /* RelatedIPMsSubfield */ -static int hf_x420_SubjectField_PDU = -1; /* SubjectField */ -static int hf_x420_ExpiryTimeField_PDU = -1; /* ExpiryTimeField */ -static int hf_x420_ReplyTimeField_PDU = -1; /* ReplyTimeField */ -static int hf_x420_ReplyRecipientsSubfield_PDU = -1; /* ReplyRecipientsSubfield */ -static int hf_x420_ImportanceField_PDU = -1; /* ImportanceField */ -static int hf_x420_SensitivityField_PDU = -1; /* SensitivityField */ -static int hf_x420_AutoForwardedField_PDU = -1; /* AutoForwardedField */ -static int hf_x420_Body_PDU = -1; /* Body */ -static int hf_x420_IA5TextParameters_PDU = -1; /* IA5TextParameters */ -static int hf_x420_IA5TextData_PDU = -1; /* IA5TextData */ -static int hf_x420_G3FacsimileParameters_PDU = -1; /* G3FacsimileParameters */ -static int hf_x420_G3FacsimileData_PDU = -1; /* G3FacsimileData */ -static int hf_x420_G4Class1BodyPart_PDU = -1; /* G4Class1BodyPart */ -static int hf_x420_MixedModeBodyPart_PDU = -1; /* MixedModeBodyPart */ -static int hf_x420_TeletexParameters_PDU = -1; /* TeletexParameters */ -static int hf_x420_TeletexData_PDU = -1; /* TeletexData */ -static int hf_x420_VideotexParameters_PDU = -1; /* VideotexParameters */ -static int hf_x420_VideotexData_PDU = -1; /* VideotexData */ -static int hf_x420_EncryptedParameters_PDU = -1; /* EncryptedParameters */ -static int hf_x420_EncryptedData_PDU = -1; /* EncryptedData */ -static int hf_x420_MessageParameters_PDU = -1; /* MessageParameters */ -static int hf_x420_MessageData_PDU = -1; /* MessageData */ -static int hf_x420_BilaterallyDefinedBodyPart_PDU = -1; /* BilaterallyDefinedBodyPart */ -static int hf_x420_IPN_PDU = -1; /* IPN */ -static int hf_x420_AbsenceAdvice_PDU = -1; /* AbsenceAdvice */ -static int hf_x420_ChangeOfAddressAdvice_PDU = -1; /* ChangeOfAddressAdvice */ -static int hf_x420_IPMAssemblyInstructions_PDU = -1; /* IPMAssemblyInstructions */ -static int hf_x420_IncompleteCopy_PDU = -1; /* IncompleteCopy */ -static int hf_x420_Languages_PDU = -1; /* Languages */ -static int hf_x420_Language_PDU = -1; /* Language */ -static int hf_x420_AutoSubmitted_PDU = -1; /* AutoSubmitted */ -static int hf_x420_BodyPartSignatures_PDU = -1; /* BodyPartSignatures */ -static int hf_x420_IPMSecurityLabel_PDU = -1; /* IPMSecurityLabel */ -static int hf_x420_BodyPartSecurityLabel_PDU = -1; /* BodyPartSecurityLabel */ -static int hf_x420_AuthorizationTime_PDU = -1; /* AuthorizationTime */ -static int hf_x420_CirculationList_PDU = -1; /* CirculationList */ -static int hf_x420_CirculationMember_PDU = -1; /* CirculationMember */ -static int hf_x420_CirculationListIndicator_PDU = -1; /* CirculationListIndicator */ -static int hf_x420_DistributionCodes_PDU = -1; /* DistributionCodes */ -static int hf_x420_DistributionCode_PDU = -1; /* DistributionCode */ -static int hf_x420_ExtendedSubject_PDU = -1; /* ExtendedSubject */ -static int hf_x420_InformationCategories_PDU = -1; /* InformationCategories */ -static int hf_x420_InformationCategory_PDU = -1; /* InformationCategory */ -static int hf_x420_ManualHandlingInstructions_PDU = -1; /* ManualHandlingInstructions */ -static int hf_x420_ManualHandlingInstruction_PDU = -1; /* ManualHandlingInstruction */ -static int hf_x420_OriginatorsReference_PDU = -1; /* OriginatorsReference */ -static int hf_x420_PrecedencePolicyIdentifier_PDU = -1; /* PrecedencePolicyIdentifier */ -static int hf_x420_Precedence_PDU = -1; /* Precedence */ -static int hf_x420_GeneralTextParameters_PDU = -1; /* GeneralTextParameters */ -static int hf_x420_GeneralTextData_PDU = -1; /* GeneralTextData */ -static int hf_x420_FileTransferParameters_PDU = -1; /* FileTransferParameters */ -static int hf_x420_FileTransferData_PDU = -1; /* FileTransferData */ -static int hf_x420_VoiceParameters_PDU = -1; /* VoiceParameters */ -static int hf_x420_VoiceData_PDU = -1; /* VoiceData */ -static int hf_x420_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */ -static int hf_x420_IPMEntryType_PDU = -1; /* IPMEntryType */ -static int hf_x420_IPMSynopsis_PDU = -1; /* IPMSynopsis */ -static int hf_x420_BodyPartDescriptor_PDU = -1; /* BodyPartDescriptor */ -static int hf_x420_BodyPartSignatureVerification_PDU = -1; /* BodyPartSignatureVerification */ -static int hf_x420_IPMLocation_PDU = -1; /* IPMLocation */ -static int hf_x420_DeliveredReplyStatus_PDU = -1; /* DeliveredReplyStatus */ -static int hf_x420_CorrelatedDeliveredReplies_PDU = -1; /* CorrelatedDeliveredReplies */ -static int hf_x420_DeliveredIPNStatus_PDU = -1; /* DeliveredIPNStatus */ -static int hf_x420_CorrelatedDeliveredIPNs_PDU = -1; /* CorrelatedDeliveredIPNs */ -static int hf_x420_SubmittedReplyStatus_PDU = -1; /* SubmittedReplyStatus */ -static int hf_x420_SubmittedIPNStatus_PDU = -1; /* SubmittedIPNStatus */ -static int hf_x420_RecipientCategory_PDU = -1; /* RecipientCategory */ -static int hf_x420_RecipientSecurityRequest_PDU = -1; /* RecipientSecurityRequest */ -static int hf_x420_IpnSecurityResponse_PDU = -1; /* IpnSecurityResponse */ -static int hf_x420_BodyPartTokens_PDU = -1; /* BodyPartTokens */ -static int hf_x420_ForwardedContentToken_PDU = -1; /* ForwardedContentToken */ -static int hf_x420_ipm = -1; /* IPM */ -static int hf_x420_ipn = -1; /* IPN */ -static int hf_x420_heading = -1; /* Heading */ -static int hf_x420_body = -1; /* Body */ -static int hf_x420_type = -1; /* T_type */ -static int hf_x420_value = -1; /* T_value */ -static int hf_x420_this_IPM = -1; /* ThisIPMField */ -static int hf_x420_originator = -1; /* OriginatorField */ -static int hf_x420_authorizing_users = -1; /* AuthorizingUsersField */ -static int hf_x420_primary_recipients = -1; /* PrimaryRecipientsField */ -static int hf_x420_copy_recipients = -1; /* CopyRecipientsField */ -static int hf_x420_blind_copy_recipients = -1; /* BlindCopyRecipientsField */ -static int hf_x420_replied_to_IPM = -1; /* RepliedToIPMField */ -static int hf_x420_obsoleted_IPMs = -1; /* ObsoletedIPMsField */ -static int hf_x420_related_IPMs = -1; /* RelatedIPMsField */ -static int hf_x420_subject = -1; /* SubjectField */ -static int hf_x420_expiry_time = -1; /* ExpiryTimeField */ -static int hf_x420_reply_time = -1; /* ReplyTimeField */ -static int hf_x420_reply_recipients = -1; /* ReplyRecipientsField */ -static int hf_x420_importance = -1; /* ImportanceField */ -static int hf_x420_sensitivity = -1; /* SensitivityField */ -static int hf_x420_auto_forwarded = -1; /* AutoForwardedField */ -static int hf_x420_extensions = -1; /* ExtensionsField */ -static int hf_x420_user = -1; /* ORName */ -static int hf_x420_user_relative_identifier = -1; /* LocalIPMIdentifier */ -static int hf_x420_recipient = -1; /* ORDescriptor */ -static int hf_x420_notification_requests = -1; /* NotificationRequests */ -static int hf_x420_reply_requested = -1; /* BOOLEAN */ -static int hf_x420_recipient_extensions = -1; /* RecipientExtensionsField */ -static int hf_x420_formal_name = -1; /* ORName */ -static int hf_x420_free_form_name = -1; /* FreeFormName */ -static int hf_x420_telephone_number = -1; /* TelephoneNumber */ -static int hf_x420_RecipientExtensionsField_item = -1; /* IPMSExtension */ -static int hf_x420_AuthorizingUsersField_item = -1; /* AuthorizingUsersSubfield */ -static int hf_x420_PrimaryRecipientsField_item = -1; /* PrimaryRecipientsSubfield */ -static int hf_x420_CopyRecipientsField_item = -1; /* CopyRecipientsSubfield */ -static int hf_x420_BlindCopyRecipientsField_item = -1; /* BlindCopyRecipientsSubfield */ -static int hf_x420_ObsoletedIPMsField_item = -1; /* ObsoletedIPMsSubfield */ -static int hf_x420_RelatedIPMsField_item = -1; /* RelatedIPMsSubfield */ -static int hf_x420_ReplyRecipientsField_item = -1; /* ReplyRecipientsSubfield */ -static int hf_x420_ExtensionsField_item = -1; /* IPMSExtension */ -static int hf_x420_Body_item = -1; /* BodyPart */ -static int hf_x420_basic = -1; /* T_basic */ -static int hf_x420_ia5_text = -1; /* IA5TextBodyPart */ -static int hf_x420_g3_facsimile = -1; /* G3FacsimileBodyPart */ -static int hf_x420_g4_class1 = -1; /* G4Class1BodyPart */ -static int hf_x420_teletex = -1; /* TeletexBodyPart */ -static int hf_x420_videotex = -1; /* VideotexBodyPart */ -static int hf_x420_encrypted_bp = -1; /* EncryptedBodyPart */ -static int hf_x420_message = -1; /* MessageBodyPart */ -static int hf_x420_mixed_mode = -1; /* MixedModeBodyPart */ -static int hf_x420_bilaterally_defined = -1; /* BilaterallyDefinedBodyPart */ -static int hf_x420_nationally_defined = -1; /* NationallyDefinedBodyPart */ -static int hf_x420_extended = -1; /* ExtendedBodyPart */ -static int hf_x420_extended_parameters = -1; /* INSTANCE_OF */ -static int hf_x420_extended_data = -1; /* INSTANCE_OF */ -static int hf_x420_ia5text_parameters = -1; /* IA5TextParameters */ -static int hf_x420_ia5text_data = -1; /* IA5TextData */ -static int hf_x420_repertoire = -1; /* Repertoire */ -static int hf_x420_g3facsimile_parameters = -1; /* G3FacsimileParameters */ -static int hf_x420_g3facsimile_data = -1; /* G3FacsimileData */ -static int hf_x420_number_of_pages = -1; /* INTEGER */ -static int hf_x420_g3facsimile_non_basic_parameters = -1; /* G3FacsimileNonBasicParameters */ -static int hf_x420_G3FacsimileData_item = -1; /* BIT_STRING */ -static int hf_x420_G4Class1BodyPart_item = -1; /* Interchange_Data_Element */ -static int hf_x420_MixedModeBodyPart_item = -1; /* Interchange_Data_Element */ -static int hf_x420_teletex_parameters = -1; /* TeletexParameters */ -static int hf_x420_teletex_data = -1; /* TeletexData */ -static int hf_x420_telex_compatible = -1; /* BOOLEAN */ -static int hf_x420_teletex_non_basic_parameters = -1; /* TeletexNonBasicParameters */ -static int hf_x420_TeletexData_item = -1; /* TeletexString */ -static int hf_x420_videotex_parameters = -1; /* VideotexParameters */ -static int hf_x420_videotex_data = -1; /* VideotexData */ -static int hf_x420_syntax = -1; /* VideotexSyntax */ -static int hf_x420_encrypted_parameters = -1; /* EncryptedParameters */ -static int hf_x420_encrypted_data = -1; /* EncryptedData */ -static int hf_x420_algorithm_identifier = -1; /* AlgorithmIdentifier */ -static int hf_x420_originator_certificates = -1; /* ExtendedCertificates */ -static int hf_x420_message_parameters = -1; /* MessageParameters */ -static int hf_x420_message_data = -1; /* MessageData */ -static int hf_x420_delivery_time = -1; /* MessageDeliveryTime */ -static int hf_x420_delivery_envelope = -1; /* OtherMessageDeliveryFields */ -static int hf_x420_subject_ipm = -1; /* SubjectIPMField */ -static int hf_x420_ipn_originator = -1; /* IPNOriginatorField */ -static int hf_x420_ipm_intended_recipient = -1; /* IPMIntendedRecipientField */ -static int hf_x420_conversion_eits = -1; /* ConversionEITsField */ -static int hf_x420_notification_extensions = -1; /* NotificationExtensionsField */ -static int hf_x420_non_receipt_reason = -1; /* NonReceiptReasonField */ -static int hf_x420_discard_reason = -1; /* DiscardReasonField */ -static int hf_x420_auto_forward_comment = -1; /* AutoForwardCommentField */ -static int hf_x420_returned_ipm = -1; /* ReturnedIPMField */ -static int hf_x420_nrn_extensions = -1; /* NRNExtensionsField */ -static int hf_x420_receipt_time = -1; /* ReceiptTimeField */ -static int hf_x420_acknowledgment_mode = -1; /* AcknowledgmentModeField */ -static int hf_x420_suppl_receipt_info = -1; /* SupplReceiptInfoField */ -static int hf_x420_rn_extensions = -1; /* RNExtensionsField */ -static int hf_x420_NotificationExtensionsField_item = -1; /* IPMSExtension */ -static int hf_x420_NRNExtensionsField_item = -1; /* IPMSExtension */ -static int hf_x420_RNExtensionsField_item = -1; /* IPMSExtension */ -static int hf_x420_OtherNotificationTypeFields_item = -1; /* IPMSExtension */ -static int hf_x420_advice = -1; /* BodyPart */ -static int hf_x420_next_available = -1; /* Time */ -static int hf_x420_new_address = -1; /* ORDescriptor */ -static int hf_x420_effective_from = -1; /* Time */ -static int hf_x420_assembly_instructions = -1; /* BodyPartReferences */ -static int hf_x420_BodyPartReferences_item = -1; /* BodyPartReference */ -static int hf_x420_stored_entry = -1; /* SequenceNumber */ -static int hf_x420_stored_content = -1; /* SequenceNumber */ -static int hf_x420_submitted_body_part = -1; /* INTEGER_1_MAX */ -static int hf_x420_stored_body_part = -1; /* T_stored_body_part */ -static int hf_x420_message_entry = -1; /* SequenceNumber */ -static int hf_x420_body_part_number = -1; /* BodyPartNumber */ -static int hf_x420_Languages_item = -1; /* Language */ -static int hf_x420_BodyPartSignatures_item = -1; /* BodyPartSignatures_item */ -static int hf_x420_body_part_signature = -1; /* BodyPartSignature */ -static int hf_x420_originator_certificate_selector = -1; /* CertificateAssertion */ -static int hf_x420_algorithmIdentifier = -1; /* AlgorithmIdentifier */ -static int hf_x420_encrypted = -1; /* BIT_STRING */ -static int hf_x420_content_security_label = -1; /* SecurityLabel */ -static int hf_x420_heading_security_label = -1; /* SecurityLabel */ -static int hf_x420_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */ -static int hf_x420_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */ -static int hf_x420_body_part_unlabelled = -1; /* NULL */ -static int hf_x420_body_part_security_label = -1; /* SecurityLabel */ -static int hf_x420_CirculationList_item = -1; /* CirculationMember */ -static int hf_x420_circulation_recipient = -1; /* RecipientSpecifier */ -static int hf_x420_checked = -1; /* Checkmark */ -static int hf_x420_simple = -1; /* NULL */ -static int hf_x420_timestamped = -1; /* CirculationTime */ -static int hf_x420_signed = -1; /* CirculationSignature */ -static int hf_x420_circulation_signature_algorithm_identifier = -1; /* CirculationSignatureAlgorithmIdentifier */ -static int hf_x420_timestamp = -1; /* CirculationTime */ -static int hf_x420_circulation_signature_data = -1; /* CirculationSignatureData */ -static int hf_x420_DistributionCodes_item = -1; /* DistributionCode */ -static int hf_x420_oid_code = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_alphanumeric_code = -1; /* AlphaCode */ -static int hf_x420_or_descriptor = -1; /* ORDescriptor */ -static int hf_x420_InformationCategories_item = -1; /* InformationCategory */ -static int hf_x420_reference = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_description = -1; /* DescriptionString */ -static int hf_x420_ManualHandlingInstructions_item = -1; /* ManualHandlingInstruction */ -static int hf_x420_GeneralTextParameters_item = -1; /* CharacterSetRegistration */ -static int hf_x420_related_stored_file = -1; /* RelatedStoredFile */ -static int hf_x420_contents_type = -1; /* ContentsTypeParameter */ -static int hf_x420_environment = -1; /* EnvironmentParameter */ -static int hf_x420_compression = -1; /* CompressionParameter */ -static int hf_x420_file_attributes = -1; /* FileAttributes */ -static int hf_x420_FileTransferData_item = -1; /* EXTERNAL */ -static int hf_x420_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */ -static int hf_x420_file_identifier = -1; /* FileIdentifier */ -static int hf_x420_relationship = -1; /* Relationship */ -static int hf_x420_pathname_and_version = -1; /* PathnameandVersion */ -static int hf_x420_cross_reference = -1; /* CrossReference */ -static int hf_x420_pathname = -1; /* Pathname_Attribute */ -static int hf_x420_file_version = -1; /* GraphicString */ -static int hf_x420_application_cross_reference = -1; /* OCTET_STRING */ -static int hf_x420_message_reference = -1; /* MessageReference */ -static int hf_x420_body_part_reference = -1; /* INTEGER */ -static int hf_x420_user_relative_identifier_ref = -1; /* PrintableString */ -static int hf_x420_explicit_relationship = -1; /* ExplicitRelationship */ -static int hf_x420_descriptive_relationship = -1; /* GraphicString */ -static int hf_x420_document_type = -1; /* T_document_type */ -static int hf_x420_document_type_name = -1; /* Document_Type_Name */ -static int hf_x420_parameter = -1; /* T_parameter */ -static int hf_x420_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */ -static int hf_x420_constraint_set_name = -1; /* Constraint_Set_Name */ -static int hf_x420_abstract_syntax_name = -1; /* Abstract_Syntax_Name */ -static int hf_x420_application_reference = -1; /* GeneralIdentifier */ -static int hf_x420_machine = -1; /* GeneralIdentifier */ -static int hf_x420_operating_system = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_user_visible_string = -1; /* T_user_visible_string */ -static int hf_x420_user_visible_string_item = -1; /* GraphicString */ -static int hf_x420_registered_identifier = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_descriptive_identifier = -1; /* T_descriptive_identifier */ -static int hf_x420_descriptive_identifier_item = -1; /* GraphicString */ -static int hf_x420_compression_algorithm_id = -1; /* T_compression_algorithm_id */ -static int hf_x420_compression_algorithm_param = -1; /* T_compression_algorithm_param */ -static int hf_x420_permitted_actions = -1; /* Permitted_Actions_Attribute */ -static int hf_x420_storage_account = -1; /* Account_Attribute */ -static int hf_x420_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */ -static int hf_x420_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */ -static int hf_x420_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */ -static int hf_x420_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */ -static int hf_x420_identity_of_creator = -1; /* User_Identity_Attribute */ -static int hf_x420_identity_of_last_modifier = -1; /* User_Identity_Attribute */ -static int hf_x420_identity_of_last_reader = -1; /* User_Identity_Attribute */ -static int hf_x420_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */ -static int hf_x420_object_availability = -1; /* Object_Availability_Attribute */ -static int hf_x420_object_size = -1; /* Object_Size_Attribute */ -static int hf_x420_future_object_size = -1; /* Object_Size_Attribute */ -static int hf_x420_access_control = -1; /* Access_Control_Attribute */ -static int hf_x420_legal_qualifications = -1; /* Legal_Qualification_Attribute */ -static int hf_x420_private_use = -1; /* Private_Use_Attribute */ -static int hf_x420_attribute_extensions = -1; /* Attribute_Extensions */ -static int hf_x420_incomplete_pathname = -1; /* Pathname */ -static int hf_x420_complete_pathname = -1; /* Pathname */ -static int hf_x420_no_value_available = -1; /* NULL */ -static int hf_x420_account_actual_values = -1; /* Account */ -static int hf_x420_identity_actual_values = -1; /* User_Identity */ -static int hf_x420_actual_values = -1; /* SET_OF_Access_Control_Element */ -static int hf_x420_actual_values_item = -1; /* Access_Control_Element */ -static int hf_x420_action_list = -1; /* Access_Request */ -static int hf_x420_concurrency_access = -1; /* Concurrency_Access */ -static int hf_x420_identity = -1; /* User_Identity */ -static int hf_x420_passwords = -1; /* Access_Passwords */ -static int hf_x420_location = -1; /* Application_Entity_Title */ -static int hf_x420_read_password = -1; /* Password */ -static int hf_x420_insert_password = -1; /* Password */ -static int hf_x420_replace_password = -1; /* Password */ -static int hf_x420_extend_password = -1; /* Password */ -static int hf_x420_erase_password = -1; /* Password */ -static int hf_x420_read_attribute_password = -1; /* Password */ -static int hf_x420_change_attribute_password = -1; /* Password */ -static int hf_x420_delete_password = -1; /* Password */ -static int hf_x420_pass_passwords = -1; /* Pass_Passwords */ -static int hf_x420_link_password = -1; /* Password */ -static int hf_x420_graphic_string = -1; /* GraphicString */ -static int hf_x420_octet_string = -1; /* OCTET_STRING */ -static int hf_x420_Pass_Passwords_item = -1; /* Password */ -static int hf_x420_ap_title = -1; /* AP_title */ -static int hf_x420_ae_qualifier = -1; /* AE_qualifier */ -static int hf_x420_voice_message_duration = -1; /* INTEGER */ -static int hf_x420_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_supplementary_information = -1; /* IA5String */ -static int hf_x420_mts_identifier = -1; /* MessageDeliveryIdentifier */ -static int hf_x420_submission_proof = -1; /* SubmissionProof */ -static int hf_x420_proof_of_submission = -1; /* ProofOfSubmission */ -static int hf_x420_originating_MTA_certificate = -1; /* OriginatingMTACertificate */ -static int hf_x420_message_submission_envelope = -1; /* MessageSubmissionEnvelope */ -static int hf_x420_IPMSynopsis_item = -1; /* BodyPartSynopsis */ -static int hf_x420_message_synopsis = -1; /* MessageBodyPartSynopsis */ -static int hf_x420_non_message = -1; /* NonMessageBodyPartSynopsis */ -static int hf_x420_number = -1; /* SequenceNumber */ -static int hf_x420_synopsis = -1; /* IPMSynopsis */ -static int hf_x420_bp_type = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_bp_parameters = -1; /* INSTANCE_OF */ -static int hf_x420_size = -1; /* INTEGER */ -static int hf_x420_processed = -1; /* BOOLEAN */ -static int hf_x420_data = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_parameters = -1; /* OBJECT_IDENTIFIER */ -static int hf_x420_this_child_entry = -1; /* SequenceNumber */ -static int hf_x420_position = -1; /* INTEGER */ -static int hf_x420_BodyPartSignatureVerification_item = -1; /* BodyPartSignatureVerification_item */ -static int hf_x420_body_part_sequence_number = -1; /* BodyPartNumber */ -static int hf_x420_body_part_signature_status = -1; /* SignatureStatus */ -static int hf_x420_stored = -1; /* SET_OF_SequenceNumber */ -static int hf_x420_stored_item = -1; /* SequenceNumber */ -static int hf_x420_absent = -1; /* NULL */ -static int hf_x420_no_reply_received = -1; /* NULL */ -static int hf_x420_received_replies = -1; /* SEQUENCE_OF_SequenceNumber */ -static int hf_x420_received_replies_item = -1; /* SequenceNumber */ -static int hf_x420_no_ipn_received = -1; /* NULL */ -static int hf_x420_ipns_received = -1; /* SEQUENCE_OF_SequenceNumber */ -static int hf_x420_ipns_received_item = -1; /* SequenceNumber */ -static int hf_x420_content_or_arguments = -1; /* T_content_or_arguments */ -static int hf_x420_original_content = -1; /* OriginalContent */ -static int hf_x420_original_security_arguments = -1; /* T_original_security_arguments */ -static int hf_x420_original_content_integrity_check = -1; /* OriginalContentIntegrityCheck */ -static int hf_x420_original_message_origin_authentication_check = -1; /* OriginalMessageOriginAuthenticationCheck */ -static int hf_x420_original_message_token = -1; /* OriginalMessageToken */ -static int hf_x420_security_diagnostic_code = -1; /* SecurityDiagnosticCode */ -static int hf_x420_BodyPartTokens_item = -1; /* BodyPartTokens_item */ -static int hf_x420_body_part_choice = -1; /* T_body_part_choice */ -static int hf_x420_encryption_token = -1; /* EncryptionToken */ -static int hf_x420_message_or_content_body_part = -1; /* BodyPartTokens */ -static int hf_x420_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */ -static int hf_x420_encrypted_key = -1; /* BIT_STRING */ -static int hf_x420_recipient_certificate_selector = -1; /* CertificateAssertion */ -static int hf_x420_recipient_certificate = -1; /* Certificates */ -static int hf_x420_ForwardedContentToken_item = -1; /* ForwardedContentToken_item */ -static int hf_x420_body_part_token_choice = -1; /* T_body_part_token_choice */ -static int hf_x420_forwarding_token = -1; /* MessageToken */ -static int hf_x420_forwarded_content_token = -1; /* ForwardedContentToken */ -static int hf_x420_choice = -1; /* T_choice */ -static int hf_x420_non_receipt_fields = -1; /* NonReceiptFields */ -static int hf_x420_receipt_fields = -1; /* ReceiptFields */ -static int hf_x420_other_notification_type_fields = -1; /* OtherNotificationTypeFields */ -/* named bits */ -static int hf_x420_NotificationRequests_rn = -1; -static int hf_x420_NotificationRequests_nrn = -1; -static int hf_x420_NotificationRequests_ipm_return = -1; -static int hf_x420_NotificationRequests_an_supported = -1; -static int hf_x420_NotificationRequests_suppress_an = -1; -static int hf_x420_Access_Request_read = -1; -static int hf_x420_Access_Request_insert = -1; -static int hf_x420_Access_Request_replace = -1; -static int hf_x420_Access_Request_extend = -1; -static int hf_x420_Access_Request_erase = -1; -static int hf_x420_Access_Request_read_attribute = -1; -static int hf_x420_Access_Request_change_attribute = -1; -static int hf_x420_Access_Request_delete_object = -1; -static int hf_x420_RecipientSecurityRequest_content_non_repudiation = -1; -static int hf_x420_RecipientSecurityRequest_content_proof = -1; -static int hf_x420_RecipientSecurityRequest_ipn_non_repudiation = -1; -static int hf_x420_RecipientSecurityRequest_ipn_proof = -1; - -/*--- End of included file: packet-x420-hf.c ---*/ -#line 88 "packet-x420-template.c" - -/* Initialize the subtree pointers */ -static gint ett_x420 = -1; - -/*--- Included file: packet-x420-ett.c ---*/ -#line 1 "packet-x420-ett.c" -static gint ett_x420_InformationObject = -1; -static gint ett_x420_IPM = -1; -static gint ett_x420_IPMSExtension = -1; -static gint ett_x420_Heading = -1; -static gint ett_x420_IPMIdentifier_U = -1; -static gint ett_x420_RecipientSpecifier = -1; -static gint ett_x420_ORDescriptor = -1; -static gint ett_x420_NotificationRequests = -1; -static gint ett_x420_RecipientExtensionsField = -1; -static gint ett_x420_AuthorizingUsersField = -1; -static gint ett_x420_PrimaryRecipientsField = -1; -static gint ett_x420_CopyRecipientsField = -1; -static gint ett_x420_BlindCopyRecipientsField = -1; -static gint ett_x420_ObsoletedIPMsField = -1; -static gint ett_x420_RelatedIPMsField = -1; -static gint ett_x420_ReplyRecipientsField = -1; -static gint ett_x420_ExtensionsField = -1; -static gint ett_x420_Body = -1; -static gint ett_x420_BodyPart = -1; -static gint ett_x420_T_basic = -1; -static gint ett_x420_ExtendedBodyPart = -1; -static gint ett_x420_IA5TextBodyPart = -1; -static gint ett_x420_IA5TextParameters = -1; -static gint ett_x420_G3FacsimileBodyPart = -1; -static gint ett_x420_G3FacsimileParameters = -1; -static gint ett_x420_G3FacsimileData = -1; -static gint ett_x420_G4Class1BodyPart = -1; -static gint ett_x420_MixedModeBodyPart = -1; -static gint ett_x420_TeletexBodyPart = -1; -static gint ett_x420_TeletexParameters = -1; -static gint ett_x420_TeletexData = -1; -static gint ett_x420_VideotexBodyPart = -1; -static gint ett_x420_VideotexParameters = -1; -static gint ett_x420_EncryptedBodyPart = -1; -static gint ett_x420_EncryptedParameters = -1; -static gint ett_x420_MessageBodyPart = -1; -static gint ett_x420_MessageParameters = -1; -static gint ett_x420_IPN = -1; -static gint ett_x420_CommonFields = -1; -static gint ett_x420_NonReceiptFields = -1; -static gint ett_x420_ReceiptFields = -1; -static gint ett_x420_NotificationExtensionsField = -1; -static gint ett_x420_NRNExtensionsField = -1; -static gint ett_x420_RNExtensionsField = -1; -static gint ett_x420_OtherNotificationTypeFields = -1; -static gint ett_x420_AbsenceAdvice = -1; -static gint ett_x420_ChangeOfAddressAdvice = -1; -static gint ett_x420_IPMAssemblyInstructions = -1; -static gint ett_x420_BodyPartReferences = -1; -static gint ett_x420_BodyPartReference = -1; -static gint ett_x420_T_stored_body_part = -1; -static gint ett_x420_Languages = -1; -static gint ett_x420_BodyPartSignatures = -1; -static gint ett_x420_BodyPartSignatures_item = -1; -static gint ett_x420_Signature = -1; -static gint ett_x420_IPMSecurityLabel = -1; -static gint ett_x420_SEQUENCE_OF_BodyPartSecurityLabel = -1; -static gint ett_x420_BodyPartSecurityLabel = -1; -static gint ett_x420_CirculationList = -1; -static gint ett_x420_CirculationMember = -1; -static gint ett_x420_Checkmark = -1; -static gint ett_x420_CirculationSignatureData = -1; -static gint ett_x420_CirculationSignature = -1; -static gint ett_x420_DistributionCodes = -1; -static gint ett_x420_DistributionCode = -1; -static gint ett_x420_InformationCategories = -1; -static gint ett_x420_InformationCategory = -1; -static gint ett_x420_ManualHandlingInstructions = -1; -static gint ett_x420_GeneralTextParameters = -1; -static gint ett_x420_FileTransferParameters = -1; -static gint ett_x420_FileTransferData = -1; -static gint ett_x420_RelatedStoredFile = -1; -static gint ett_x420_RelatedStoredFile_item = -1; -static gint ett_x420_FileIdentifier = -1; -static gint ett_x420_PathnameandVersion = -1; -static gint ett_x420_CrossReference = -1; -static gint ett_x420_MessageReference = -1; -static gint ett_x420_Relationship = -1; -static gint ett_x420_Contents_Type_Attribute = -1; -static gint ett_x420_T_document_type = -1; -static gint ett_x420_T_constraint_set_and_abstract_syntax = -1; -static gint ett_x420_EnvironmentParameter = -1; -static gint ett_x420_T_user_visible_string = -1; -static gint ett_x420_GeneralIdentifier = -1; -static gint ett_x420_T_descriptive_identifier = -1; -static gint ett_x420_CompressionParameter = -1; -static gint ett_x420_FileAttributes = -1; -static gint ett_x420_Pathname_Attribute = -1; -static gint ett_x420_Account_Attribute = -1; -static gint ett_x420_User_Identity_Attribute = -1; -static gint ett_x420_Access_Control_Attribute = -1; -static gint ett_x420_SET_OF_Access_Control_Element = -1; -static gint ett_x420_Access_Control_Element = -1; -static gint ett_x420_Access_Request = -1; -static gint ett_x420_Access_Passwords = -1; -static gint ett_x420_Password = -1; -static gint ett_x420_Pass_Passwords = -1; -static gint ett_x420_Application_Entity_Title = -1; -static gint ett_x420_VoiceParameters = -1; -static gint ett_x420_ForwardedContentParameters = -1; -static gint ett_x420_SubmissionProof = -1; -static gint ett_x420_IPMSynopsis = -1; -static gint ett_x420_BodyPartSynopsis = -1; -static gint ett_x420_MessageBodyPartSynopsis = -1; -static gint ett_x420_NonMessageBodyPartSynopsis = -1; -static gint ett_x420_BodyPartDescriptor = -1; -static gint ett_x420_BodyPartSignatureVerification = -1; -static gint ett_x420_BodyPartSignatureVerification_item = -1; -static gint ett_x420_IPMLocation = -1; -static gint ett_x420_SET_OF_SequenceNumber = -1; -static gint ett_x420_CorrelatedDeliveredReplies = -1; -static gint ett_x420_SEQUENCE_OF_SequenceNumber = -1; -static gint ett_x420_CorrelatedDeliveredIPNs = -1; -static gint ett_x420_RecipientSecurityRequest = -1; -static gint ett_x420_IpnSecurityResponse = -1; -static gint ett_x420_T_content_or_arguments = -1; -static gint ett_x420_T_original_security_arguments = -1; -static gint ett_x420_BodyPartTokens = -1; -static gint ett_x420_BodyPartTokens_item = -1; -static gint ett_x420_T_body_part_choice = -1; -static gint ett_x420_EncryptionToken = -1; -static gint ett_x420_ForwardedContentToken = -1; -static gint ett_x420_ForwardedContentToken_item = -1; -static gint ett_x420_T_body_part_token_choice = -1; -static gint ett_x420_T_choice = -1; - -/*--- End of included file: packet-x420-ett.c ---*/ -#line 92 "packet-x420-template.c" - - -/*--- Included file: packet-x420-fn.c ---*/ -#line 1 "packet-x420-fn.c" -/*--- Cyclic dependencies ---*/ - -/* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */ -int dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); - -/* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */ -static int dissect_x420_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); - -/* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */ -static int dissect_x420_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); - -/* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */ -static int dissect_x420_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); - - - - -static int -dissect_x420_Time(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_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x420_LocalIPMIdentifier(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 0, ub_local_ipm_identifier, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t IPMIdentifier_U_set[] = { - { &hf_x420_user , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ORName }, - { &hf_x420_user_relative_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x420_LocalIPMIdentifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IPMIdentifier_U(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, - IPMIdentifier_U_set, hf_index, ett_x420_IPMIdentifier_U); - - return offset; -} - - - -static int -dissect_x420_IPMIdentifier(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_tagged_type(implicit_tag, actx, tree, tvb, offset, - hf_index, BER_CLASS_APP, 11, TRUE, dissect_x420_IPMIdentifier_U); - - return offset; -} - - - -static int -dissect_x420_ThisIPMField(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_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_FreeFormName(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 0, ub_free_form_name, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_TelephoneNumber(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 0, ub_telephone_number, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t ORDescriptor_set[] = { - { &hf_x420_formal_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ORName }, - { &hf_x420_free_form_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_FreeFormName }, - { &hf_x420_telephone_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_TelephoneNumber }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x420_ORDescriptor(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, - ORDescriptor_set, hf_index, ett_x420_ORDescriptor); - - return offset; -} - - - -static int -dissect_x420_OriginatorField(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_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_AuthorizingUsersSubfield(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_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t AuthorizingUsersField_sequence_of[1] = { - { &hf_x420_AuthorizingUsersField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_AuthorizingUsersSubfield }, -}; - -static int -dissect_x420_AuthorizingUsersField(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, - AuthorizingUsersField_sequence_of, hf_index, ett_x420_AuthorizingUsersField); - - return offset; -} - - -static const asn_namedbit NotificationRequests_bits[] = { - { 0, &hf_x420_NotificationRequests_rn, -1, -1, "rn", NULL }, - { 1, &hf_x420_NotificationRequests_nrn, -1, -1, "nrn", NULL }, - { 2, &hf_x420_NotificationRequests_ipm_return, -1, -1, "ipm-return", NULL }, - { 3, &hf_x420_NotificationRequests_an_supported, -1, -1, "an-supported", NULL }, - { 4, &hf_x420_NotificationRequests_suppress_an, -1, -1, "suppress-an", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x420_NotificationRequests(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, tree, tvb, offset, - NotificationRequests_bits, hf_index, ett_x420_NotificationRequests, - NULL); - - return offset; -} - - - -static int -dissect_x420_BOOLEAN(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_T_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 221 "x420.cnf" - const char *name = NULL; - - offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); - - - name = oid_resolved_from_string(object_identifier_id); - proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id); - - - - return offset; -} - - - -static int -dissect_x420_T_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_) { -#line 229 "x420.cnf" - - offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); - - - - return offset; -} - - -static const ber_sequence_t IPMSExtension_sequence[] = { - { &hf_x420_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_T_type }, - { &hf_x420_value , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_T_value }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IPMSExtension(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, - IPMSExtension_sequence, hf_index, ett_x420_IPMSExtension); - - return offset; -} - - -static const ber_sequence_t RecipientExtensionsField_set_of[1] = { - { &hf_x420_RecipientExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension }, -}; - -static int -dissect_x420_RecipientExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, - RecipientExtensionsField_set_of, hf_index, ett_x420_RecipientExtensionsField); - - return offset; -} - - -static const ber_sequence_t RecipientSpecifier_set[] = { - { &hf_x420_recipient , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor }, - { &hf_x420_notification_requests, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationRequests }, - { &hf_x420_reply_requested, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN }, - { &hf_x420_recipient_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RecipientExtensionsField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_RecipientSpecifier(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, - RecipientSpecifier_set, hf_index, ett_x420_RecipientSpecifier); - - return offset; -} - - - -static int -dissect_x420_PrimaryRecipientsSubfield(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_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t PrimaryRecipientsField_sequence_of[1] = { - { &hf_x420_PrimaryRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_PrimaryRecipientsSubfield }, -}; - -static int -dissect_x420_PrimaryRecipientsField(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, - PrimaryRecipientsField_sequence_of, hf_index, ett_x420_PrimaryRecipientsField); - - return offset; -} - - - -static int -dissect_x420_CopyRecipientsSubfield(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_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t CopyRecipientsField_sequence_of[1] = { - { &hf_x420_CopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_CopyRecipientsSubfield }, -}; - -static int -dissect_x420_CopyRecipientsField(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, - CopyRecipientsField_sequence_of, hf_index, ett_x420_CopyRecipientsField); - - return offset; -} - - - -static int -dissect_x420_BlindCopyRecipientsSubfield(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_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t BlindCopyRecipientsField_sequence_of[1] = { - { &hf_x420_BlindCopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BlindCopyRecipientsSubfield }, -}; - -static int -dissect_x420_BlindCopyRecipientsField(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, - BlindCopyRecipientsField_sequence_of, hf_index, ett_x420_BlindCopyRecipientsField); - - return offset; -} - - - -static int -dissect_x420_RepliedToIPMField(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_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_ObsoletedIPMsSubfield(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_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t ObsoletedIPMsField_sequence_of[1] = { - { &hf_x420_ObsoletedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ObsoletedIPMsSubfield }, -}; - -static int -dissect_x420_ObsoletedIPMsField(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, - ObsoletedIPMsField_sequence_of, hf_index, ett_x420_ObsoletedIPMsField); - - return offset; -} - - - -static int -dissect_x420_RelatedIPMsSubfield(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_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t RelatedIPMsField_sequence_of[1] = { - { &hf_x420_RelatedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_RelatedIPMsSubfield }, -}; - -static int -dissect_x420_RelatedIPMsField(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, - RelatedIPMsField_sequence_of, hf_index, ett_x420_RelatedIPMsField); - - return offset; -} - - - -static int -dissect_x420_SubjectField(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 249 "x420.cnf" - tvbuff_t *subject=NULL; - - offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, - 0, ub_subject_field, hf_index, &subject); - - - if(subject && check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", tvb_format_text(subject, 0, tvb_length(subject))); - - - - return offset; -} - - - -static int -dissect_x420_ExpiryTimeField(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_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_ReplyTimeField(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_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_ReplyRecipientsSubfield(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_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t ReplyRecipientsField_sequence_of[1] = { - { &hf_x420_ReplyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ReplyRecipientsSubfield }, -}; - -static int -dissect_x420_ReplyRecipientsField(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, - ReplyRecipientsField_sequence_of, hf_index, ett_x420_ReplyRecipientsField); - - return offset; -} - - -static const value_string x420_ImportanceField_vals[] = { - { 0, "low" }, - { 1, "normal" }, - { 2, "high" }, - { 0, NULL } -}; - - -static int -dissect_x420_ImportanceField(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_SensitivityField_vals[] = { - { 1, "personal" }, - { 2, "private" }, - { 3, "company-confidential" }, - { 0, NULL } -}; - - -static int -dissect_x420_SensitivityField(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x420_AutoForwardedField(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_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t ExtensionsField_set_of[1] = { - { &hf_x420_ExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension }, -}; - -int -dissect_x420_ExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, - ExtensionsField_set_of, hf_index, ett_x420_ExtensionsField); - - return offset; -} - - -static const ber_sequence_t Heading_set[] = { - { &hf_x420_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ThisIPMField }, - { &hf_x420_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginatorField }, - { &hf_x420_authorizing_users, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AuthorizingUsersField }, - { &hf_x420_primary_recipients, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_PrimaryRecipientsField }, - { &hf_x420_copy_recipients, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_CopyRecipientsField }, - { &hf_x420_blind_copy_recipients, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BlindCopyRecipientsField }, - { &hf_x420_replied_to_IPM , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RepliedToIPMField }, - { &hf_x420_obsoleted_IPMs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ObsoletedIPMsField }, - { &hf_x420_related_IPMs , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RelatedIPMsField }, - { &hf_x420_subject , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_x420_SubjectField }, - { &hf_x420_expiry_time , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExpiryTimeField }, - { &hf_x420_reply_time , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReplyTimeField }, - { &hf_x420_reply_recipients, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReplyRecipientsField }, - { &hf_x420_importance , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ImportanceField }, - { &hf_x420_sensitivity , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SensitivityField }, - { &hf_x420_auto_forwarded , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AutoForwardedField }, - { &hf_x420_extensions , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Heading(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, - Heading_set, hf_index, ett_x420_Heading); - - return offset; -} - - -static const value_string x420_Repertoire_vals[] = { - { 2, "ita2" }, - { 5, "ia5" }, - { 0, NULL } -}; - - -static int -dissect_x420_Repertoire(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t IA5TextParameters_set[] = { - { &hf_x420_repertoire , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Repertoire }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IA5TextParameters(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, - IA5TextParameters_set, hf_index, ett_x420_IA5TextParameters); - - return offset; -} - - - -static int -dissect_x420_IA5TextData(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t IA5TextBodyPart_sequence[] = { - { &hf_x420_ia5text_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_IA5TextParameters }, - { &hf_x420_ia5text_data , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x420_IA5TextData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IA5TextBodyPart(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, - IA5TextBodyPart_sequence, hf_index, ett_x420_IA5TextBodyPart); - - return offset; -} - - - -static int -dissect_x420_INTEGER(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t G3FacsimileParameters_set[] = { - { &hf_x420_number_of_pages, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { &hf_x420_g3facsimile_non_basic_parameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_G3FacsimileNonBasicParameters }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_G3FacsimileParameters(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, - G3FacsimileParameters_set, hf_index, ett_x420_G3FacsimileParameters); - - return offset; -} - - - -static int -dissect_x420_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, tree, tvb, offset, - NULL, hf_index, -1, - NULL); - - return offset; -} - - -static const ber_sequence_t G3FacsimileData_sequence_of[1] = { - { &hf_x420_G3FacsimileData_item, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING }, -}; - -static int -dissect_x420_G3FacsimileData(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, - G3FacsimileData_sequence_of, hf_index, ett_x420_G3FacsimileData); - - return offset; -} - - -static const ber_sequence_t G3FacsimileBodyPart_sequence[] = { - { &hf_x420_g3facsimile_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_G3FacsimileParameters }, - { &hf_x420_g3facsimile_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_G3FacsimileData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_G3FacsimileBodyPart(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, - G3FacsimileBodyPart_sequence, hf_index, ett_x420_G3FacsimileBodyPart); - - return offset; -} - - - -static int -dissect_x420_Interchange_Data_Element(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 267 "x420.cnf" -/* XXX Not implemented yet */ - - - - return offset; -} - - -static const ber_sequence_t G4Class1BodyPart_sequence_of[1] = { - { &hf_x420_G4Class1BodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element }, -}; - -static int -dissect_x420_G4Class1BodyPart(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, - G4Class1BodyPart_sequence_of, hf_index, ett_x420_G4Class1BodyPart); - - return offset; -} - - -static const ber_sequence_t TeletexParameters_set[] = { - { &hf_x420_number_of_pages, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { &hf_x420_telex_compatible, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN }, - { &hf_x420_teletex_non_basic_parameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexNonBasicParameters }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_TeletexParameters(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, - TeletexParameters_set, hf_index, ett_x420_TeletexParameters); - - return offset; -} - - - -static int -dissect_x420_TeletexString(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_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t TeletexData_sequence_of[1] = { - { &hf_x420_TeletexData_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexString }, -}; - -static int -dissect_x420_TeletexData(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, - TeletexData_sequence_of, hf_index, ett_x420_TeletexData); - - return offset; -} - - -static const ber_sequence_t TeletexBodyPart_sequence[] = { - { &hf_x420_teletex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexParameters }, - { &hf_x420_teletex_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_TeletexBodyPart(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, - TeletexBodyPart_sequence, hf_index, ett_x420_TeletexBodyPart); - - return offset; -} - - -static const value_string x420_VideotexSyntax_vals[] = { - { 0, "ids" }, - { 1, "data-syntax1" }, - { 2, "data-syntax2" }, - { 3, "data-syntax3" }, - { 0, NULL } -}; - - -static int -dissect_x420_VideotexSyntax(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t VideotexParameters_set[] = { - { &hf_x420_syntax , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_VideotexSyntax }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_VideotexParameters(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, - VideotexParameters_set, hf_index, ett_x420_VideotexParameters); - - return offset; -} - - - -static int -dissect_x420_VideotexData(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_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t VideotexBodyPart_sequence[] = { - { &hf_x420_videotex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_VideotexParameters }, - { &hf_x420_videotex_data , BER_CLASS_UNI, BER_UNI_TAG_VideotexString, BER_FLAGS_NOOWNTAG, dissect_x420_VideotexData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_VideotexBodyPart(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, - VideotexBodyPart_sequence, hf_index, ett_x420_VideotexBodyPart); - - return offset; -} - - -static const ber_sequence_t EncryptedParameters_set[] = { - { &hf_x420_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x420_originator_certificates, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedCertificates }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_EncryptedParameters(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, - EncryptedParameters_set, hf_index, ett_x420_EncryptedParameters); - - return offset; -} - - - -static int -dissect_x420_EncryptedData(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, tree, tvb, offset, - NULL, hf_index, -1, - NULL); - - return offset; -} - - -static const ber_sequence_t EncryptedBodyPart_sequence[] = { - { &hf_x420_encrypted_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptedParameters }, - { &hf_x420_encrypted_data , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptedData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_EncryptedBodyPart(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, - EncryptedBodyPart_sequence, hf_index, ett_x420_EncryptedBodyPart); - - return offset; -} - - -static const ber_sequence_t MessageParameters_set[] = { - { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime }, - { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x420_MessageParameters(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, - MessageParameters_set, hf_index, ett_x420_MessageParameters); - - return offset; -} - - - -static int -dissect_x420_MessageData(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_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t MessageBodyPart_sequence[] = { - { &hf_x420_message_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_MessageParameters }, - { &hf_x420_message_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_MessageData }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_MessageBodyPart(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, - MessageBodyPart_sequence, hf_index, ett_x420_MessageBodyPart); - - return offset; -} - - -static const ber_sequence_t MixedModeBodyPart_sequence_of[1] = { - { &hf_x420_MixedModeBodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element }, -}; - -static int -dissect_x420_MixedModeBodyPart(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, - MixedModeBodyPart_sequence_of, hf_index, ett_x420_MixedModeBodyPart); - - return offset; -} - - - -static int -dissect_x420_BilaterallyDefinedBodyPart(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x420_NationallyDefinedBodyPart(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 270 "x420.cnf" -/* XXX Not implemented yet */ - - - - return offset; -} - - -static const value_string x420_T_basic_vals[] = { - { 0, "ia5-text" }, - { 3, "g3-facsimile" }, - { 4, "g4-class1" }, - { 5, "teletex" }, - { 6, "videotex" }, - { 8, "encrypted" }, - { 9, "message" }, - { 11, "mixed-mode" }, - { 14, "bilaterally-defined" }, - { 7, "nationally-defined" }, - { 0, NULL } -}; - -static const ber_choice_t T_basic_choice[] = { - { 0, &hf_x420_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IA5TextBodyPart }, - { 3, &hf_x420_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_G3FacsimileBodyPart }, - { 4, &hf_x420_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_G4Class1BodyPart }, - { 5, &hf_x420_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x420_TeletexBodyPart }, - { 6, &hf_x420_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x420_VideotexBodyPart }, - { 8, &hf_x420_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_EncryptedBodyPart }, - { 9, &hf_x420_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPart }, - { 11, &hf_x420_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_x420_MixedModeBodyPart }, - { 14, &hf_x420_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_x420_BilaterallyDefinedBodyPart }, - { 7, &hf_x420_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x420_NationallyDefinedBodyPart }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_basic(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_basic_choice, hf_index, ett_x420_T_basic, - NULL); - - return offset; -} - - - -static int -dissect_x420_INSTANCE_OF(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t ExtendedBodyPart_sequence[] = { - { &hf_x420_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF }, - { &hf_x420_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_INSTANCE_OF }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_ExtendedBodyPart(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, - ExtendedBodyPart_sequence, hf_index, ett_x420_ExtendedBodyPart); - - return offset; -} - - -static const value_string x420_BodyPart_vals[] = { - { 0, "basic" }, - { 1, "extended" }, - { 0, NULL } -}; - -static const ber_choice_t BodyPart_choice[] = { - { 0, &hf_x420_basic , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x420_T_basic }, - { 1, &hf_x420_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_x420_ExtendedBodyPart }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPart(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, - BodyPart_choice, hf_index, ett_x420_BodyPart, - NULL); - - return offset; -} - - -static const ber_sequence_t Body_sequence_of[1] = { - { &hf_x420_Body_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart }, -}; - -static int -dissect_x420_Body(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, - Body_sequence_of, hf_index, ett_x420_Body); - - return offset; -} - - -static const ber_sequence_t IPM_sequence[] = { - { &hf_x420_heading , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_Heading }, - { &hf_x420_body , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_Body }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x420_IPM(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 233 "x420.cnf" - - col_append_str(actx->pinfo->cinfo, COL_INFO, " Message"); - - offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - IPM_sequence, hf_index, ett_x420_IPM); - - - - - - return offset; -} - - - -static int -dissect_x420_SubjectIPMField(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_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_IPNOriginatorField(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_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_IPMIntendedRecipientField(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_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_ConversionEITsField(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_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t NotificationExtensionsField_set_of[1] = { - { &hf_x420_NotificationExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension }, -}; - -static int -dissect_x420_NotificationExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, - NotificationExtensionsField_set_of, hf_index, ett_x420_NotificationExtensionsField); - - return offset; -} - - -const value_string x420_NonReceiptReasonField_vals[] = { - { 0, "ipm-discarded" }, - { 1, "ipm-auto-forwarded" }, - { 0, NULL } -}; - - -int -dissect_x420_NonReceiptReasonField(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -const value_string x420_DiscardReasonField_vals[] = { - { 0, "ipm-expired" }, - { 1, "ipm-obsoleted" }, - { 2, "user-subscription-terminated" }, - { 3, "not-used" }, - { 0, NULL } -}; - - -int -dissect_x420_DiscardReasonField(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x420_AutoForwardComment(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 0, ub_auto_forward_comment, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_AutoForwardCommentField(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_x420_AutoForwardComment(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_ReturnedIPMField(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_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t NRNExtensionsField_set_of[1] = { - { &hf_x420_NRNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension }, -}; - -static int -dissect_x420_NRNExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, - NRNExtensionsField_set_of, hf_index, ett_x420_NRNExtensionsField); - - return offset; -} - - -static const ber_sequence_t NonReceiptFields_set[] = { - { &hf_x420_non_receipt_reason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NonReceiptReasonField }, - { &hf_x420_discard_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_DiscardReasonField }, - { &hf_x420_auto_forward_comment, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AutoForwardCommentField }, - { &hf_x420_returned_ipm , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReturnedIPMField }, - { &hf_x420_nrn_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NRNExtensionsField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_NonReceiptFields(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, - NonReceiptFields_set, hf_index, ett_x420_NonReceiptFields); - - return offset; -} - - - -int -dissect_x420_ReceiptTimeField(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_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string x420_AcknowledgmentModeField_vals[] = { - { 0, "manual" }, - { 1, "automatic" }, - { 0, NULL } -}; - - -static int -dissect_x420_AcknowledgmentModeField(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x420_SupplReceiptInfoField(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_x411_SupplementaryInformation(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t RNExtensionsField_set_of[1] = { - { &hf_x420_RNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension }, -}; - -static int -dissect_x420_RNExtensionsField(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_of(implicit_tag, actx, tree, tvb, offset, - RNExtensionsField_set_of, hf_index, ett_x420_RNExtensionsField); - - return offset; -} - - -static const ber_sequence_t ReceiptFields_set[] = { - { &hf_x420_receipt_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptTimeField }, - { &hf_x420_acknowledgment_mode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AcknowledgmentModeField }, - { &hf_x420_suppl_receipt_info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SupplReceiptInfoField }, - { &hf_x420_rn_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RNExtensionsField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_ReceiptFields(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, - ReceiptFields_set, hf_index, ett_x420_ReceiptFields); - - return offset; -} - - -static const ber_sequence_t OtherNotificationTypeFields_set_of[1] = { - { &hf_x420_OtherNotificationTypeFields_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension }, -}; - -static int -dissect_x420_OtherNotificationTypeFields(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_of(implicit_tag, actx, tree, tvb, offset, - OtherNotificationTypeFields_set_of, hf_index, ett_x420_OtherNotificationTypeFields); - - return offset; -} - - -static const value_string x420_T_choice_vals[] = { - { 0, "non-receipt-fields" }, - { 1, "receipt-fields" }, - { 2, "other-notification-type-fields" }, - { 0, NULL } -}; - -static const ber_choice_t T_choice_choice[] = { - { 0, &hf_x420_non_receipt_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NonReceiptFields }, - { 1, &hf_x420_receipt_fields , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptFields }, - { 2, &hf_x420_other_notification_type_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_OtherNotificationTypeFields }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_choice(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_choice_choice, hf_index, ett_x420_T_choice, - NULL); - - return offset; -} - - -static const ber_sequence_t IPN_set[] = { - { &hf_x420_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_SubjectIPMField }, - { &hf_x420_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPNOriginatorField }, - { &hf_x420_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPMIntendedRecipientField }, - { &hf_x420_conversion_eits, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_ConversionEITsField }, - { &hf_x420_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationExtensionsField }, - { &hf_x420_choice , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_choice }, - { NULL, 0, 0, 0, NULL } -}; - -int -dissect_x420_IPN(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 240 "x420.cnf" - - col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification"); - - offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, - IPN_set, hf_index, ett_x420_IPN); - - - - - return offset; -} - - -const value_string x420_InformationObject_vals[] = { - { 0, "ipm" }, - { 1, "ipn" }, - { 0, NULL } -}; - -static const ber_choice_t InformationObject_choice[] = { - { 0, &hf_x420_ipm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IPM }, - { 1, &hf_x420_ipn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPN }, - { 0, NULL, 0, 0, 0, NULL } -}; - -int -dissect_x420_InformationObject(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, - InformationObject_choice, hf_index, ett_x420_InformationObject, - NULL); - - return offset; -} - - - -static const ber_sequence_t AbsenceAdvice_sequence[] = { - { &hf_x420_advice , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart }, - { &hf_x420_next_available , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_Time }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_AbsenceAdvice(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, - AbsenceAdvice_sequence, hf_index, ett_x420_AbsenceAdvice); - - return offset; -} - - -static const ber_sequence_t ChangeOfAddressAdvice_sequence[] = { - { &hf_x420_new_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor }, - { &hf_x420_effective_from , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Time }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_ChangeOfAddressAdvice(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, - ChangeOfAddressAdvice_sequence, hf_index, ett_x420_ChangeOfAddressAdvice); - - return offset; -} - - - -static int -dissect_x420_INTEGER_1_MAX(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 1U, NO_BOUND, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_BodyPartNumber(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 1U, NO_BOUND, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t T_stored_body_part_sequence[] = { - { &hf_x420_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber }, - { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_stored_body_part(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_stored_body_part_sequence, hf_index, ett_x420_T_stored_body_part); - - return offset; -} - - -static const value_string x420_BodyPartReference_vals[] = { - { 0, "stored-entry" }, - { 1, "stored-content" }, - { 2, "submitted-body-part" }, - { 3, "stored-body-part" }, - { 0, NULL } -}; - -static const ber_choice_t BodyPartReference_choice[] = { - { 0, &hf_x420_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, - { 1, &hf_x420_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, - { 2, &hf_x420_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER_1_MAX }, - { 3, &hf_x420_stored_body_part, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_T_stored_body_part }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartReference(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, - BodyPartReference_choice, hf_index, ett_x420_BodyPartReference, - NULL); - - return offset; -} - - -static const ber_sequence_t BodyPartReferences_sequence_of[1] = { - { &hf_x420_BodyPartReferences_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartReference }, -}; - -static int -dissect_x420_BodyPartReferences(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, - BodyPartReferences_sequence_of, hf_index, ett_x420_BodyPartReferences); - - return offset; -} - - -static const ber_sequence_t IPMAssemblyInstructions_set[] = { - { &hf_x420_assembly_instructions, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartReferences }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IPMAssemblyInstructions(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, - IPMAssemblyInstructions_set, hf_index, ett_x420_IPMAssemblyInstructions); - - return offset; -} - - - -static int -dissect_x420_IncompleteCopy(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x420_Language(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_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, - 2, 5, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t Languages_set_of[1] = { - { &hf_x420_Languages_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x420_Language }, -}; - -static int -dissect_x420_Languages(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_of(implicit_tag, actx, tree, tvb, offset, - Languages_set_of, hf_index, ett_x420_Languages); - - return offset; -} - - -static const value_string x420_AutoSubmitted_vals[] = { - { 0, "not-auto-submitted" }, - { 1, "auto-generated" }, - { 2, "auto-replied" }, - { 0, NULL } -}; - - -static int -dissect_x420_AutoSubmitted(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t Signature_sequence[] = { - { &hf_x420_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x420_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Signature(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, - Signature_sequence, hf_index, ett_x420_Signature); - - return offset; -} - - - -static int -dissect_x420_BodyPartSignature(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_x420_Signature(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t BodyPartSignatures_item_set[] = { - { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber }, - { &hf_x420_body_part_signature, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignature }, - { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x420_originator_certificates, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartSignatures_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_set(implicit_tag, actx, tree, tvb, offset, - BodyPartSignatures_item_set, hf_index, ett_x420_BodyPartSignatures_item); - - return offset; -} - - -static const ber_sequence_t BodyPartSignatures_set_of[1] = { - { &hf_x420_BodyPartSignatures_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatures_item }, -}; - -static int -dissect_x420_BodyPartSignatures(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_of(implicit_tag, actx, tree, tvb, offset, - BodyPartSignatures_set_of, hf_index, ett_x420_BodyPartSignatures); - - return offset; -} - - - -static int -dissect_x420_NULL(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - -static const value_string x420_BodyPartSecurityLabel_vals[] = { - { 0, "body-part-unlabelled" }, - { 1, "body-part-security-label" }, - { 0, NULL } -}; - -static const ber_choice_t BodyPartSecurityLabel_choice[] = { - { 0, &hf_x420_body_part_unlabelled, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL }, - { 1, &hf_x420_body_part_security_label, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartSecurityLabel(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, - BodyPartSecurityLabel_choice, hf_index, ett_x420_BodyPartSecurityLabel, - NULL); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = { - { &hf_x420_body_part_security_labels_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSecurityLabel }, -}; - -static int -dissect_x420_SEQUENCE_OF_BodyPartSecurityLabel(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_BodyPartSecurityLabel_sequence_of, hf_index, ett_x420_SEQUENCE_OF_BodyPartSecurityLabel); - - return offset; -} - - -static const ber_sequence_t IPMSecurityLabel_sequence[] = { - { &hf_x420_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { &hf_x420_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel }, - { &hf_x420_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_BodyPartSecurityLabel }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IPMSecurityLabel(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, - IPMSecurityLabel_sequence, hf_index, ett_x420_IPMSecurityLabel); - - return offset; -} - - - -static int -dissect_x420_AuthorizationTime(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_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x420_CirculationTime(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_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x420_CirculationSignatureAlgorithmIdentifier(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_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t CirculationSignatureData_sequence[] = { - { &hf_x420_circulation_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignatureAlgorithmIdentifier }, - { &hf_x420_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ThisIPMField }, - { &hf_x420_timestamp , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationTime }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CirculationSignatureData(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, - CirculationSignatureData_sequence, hf_index, ett_x420_CirculationSignatureData); - - return offset; -} - - -static const ber_sequence_t CirculationSignature_sequence[] = { - { &hf_x420_circulation_signature_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignatureData }, - { &hf_x420_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x420_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CirculationSignature(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, - CirculationSignature_sequence, hf_index, ett_x420_CirculationSignature); - - return offset; -} - - -static const value_string x420_Checkmark_vals[] = { - { 0, "simple" }, - { 1, "timestamped" }, - { 2, "signed" }, - { 0, NULL } -}; - -static const ber_choice_t Checkmark_choice[] = { - { 0, &hf_x420_simple , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL }, - { 1, &hf_x420_timestamped , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationTime }, - { 2, &hf_x420_signed , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignature }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Checkmark(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, - Checkmark_choice, hf_index, ett_x420_Checkmark, - NULL); - - return offset; -} - - -static const ber_sequence_t CirculationMember_set[] = { - { &hf_x420_circulation_recipient, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_RecipientSpecifier }, - { &hf_x420_checked , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Checkmark }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CirculationMember(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, - CirculationMember_set, hf_index, ett_x420_CirculationMember); - - return offset; -} - - -static const ber_sequence_t CirculationList_sequence_of[1] = { - { &hf_x420_CirculationList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationMember }, -}; - -static int -dissect_x420_CirculationList(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 2, ub_circulation_list_members, CirculationList_sequence_of, hf_index, ett_x420_CirculationList); - - return offset; -} - - - -static int -dissect_x420_CirculationListIndicator(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_null(implicit_tag, actx, tree, tvb, offset, hf_index); - - return offset; -} - - - -static int -dissect_x420_OBJECT_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_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_AlphaCode(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t DistributionCode_sequence[] = { - { &hf_x420_oid_code , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_alphanumeric_code, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_AlphaCode }, - { &hf_x420_or_descriptor , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_DistributionCode(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, - DistributionCode_sequence, hf_index, ett_x420_DistributionCode); - - return offset; -} - - -static const ber_sequence_t DistributionCodes_sequence_of[1] = { - { &hf_x420_DistributionCodes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_DistributionCode }, -}; - -static int -dissect_x420_DistributionCodes(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_distribution_codes, DistributionCodes_sequence_of, hf_index, ett_x420_DistributionCodes); - - return offset; -} - - - -static int -dissect_x420_ExtendedSubject(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_DescriptionString(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t InformationCategory_sequence[] = { - { &hf_x420_reference , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_description , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_DescriptionString }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_InformationCategory(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, - InformationCategory_sequence, hf_index, ett_x420_InformationCategory); - - return offset; -} - - -static const ber_sequence_t InformationCategories_sequence_of[1] = { - { &hf_x420_InformationCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_InformationCategory }, -}; - -static int -dissect_x420_InformationCategories(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_information_categories, InformationCategories_sequence_of, hf_index, ett_x420_InformationCategories); - - return offset; -} - - - -static int -dissect_x420_ManualHandlingInstruction(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t ManualHandlingInstructions_sequence_of[1] = { - { &hf_x420_ManualHandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ManualHandlingInstruction }, -}; - -static int -dissect_x420_ManualHandlingInstructions(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_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset, - 1, ub_manual_handling_instructions, ManualHandlingInstructions_sequence_of, hf_index, ett_x420_ManualHandlingInstructions); - - return offset; -} - - - -static int -dissect_x420_OriginatorsReference(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_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_PrecedencePolicyIdentifier(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, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_Precedence(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_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 0U, ub_precedence, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_CharacterSetRegistration(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 260 "x420.cnf" - guint32 crs; - offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset, - 1U, 32767U, hf_index, &crs); - - - if(actx->created_item) - proto_item_append_text(actx->created_item, " (%s)", val_to_str(crs, charsetreg_vals, "unknown")); - - - - return offset; -} - - -static const ber_sequence_t GeneralTextParameters_set_of[1] = { - { &hf_x420_GeneralTextParameters_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_CharacterSetRegistration }, -}; - -static int -dissect_x420_GeneralTextParameters(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_of(implicit_tag, actx, tree, tvb, offset, - GeneralTextParameters_set_of, hf_index, ett_x420_GeneralTextParameters); - - return offset; -} - - - -static int -dissect_x420_GeneralTextData(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_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_Pathname_Attribute_vals[] = { - { 0, "incomplete-pathname" }, - { 23, "complete-pathname" }, - { 0, NULL } -}; - -static const ber_choice_t Pathname_Attribute_choice[] = { - { 0, &hf_x420_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname }, - { 23, &hf_x420_complete_pathname, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Pathname_Attribute(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, - Pathname_Attribute_choice, hf_index, ett_x420_Pathname_Attribute, - NULL); - - return offset; -} - - - -static int -dissect_x420_GraphicString(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_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t PathnameandVersion_sequence[] = { - { &hf_x420_pathname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Pathname_Attribute }, - { &hf_x420_file_version , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_GraphicString }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_PathnameandVersion(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, - PathnameandVersion_sequence, hf_index, ett_x420_PathnameandVersion); - - return offset; -} - - - -static int -dissect_x420_OCTET_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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - - -static int -dissect_x420_PrintableString(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_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t MessageReference_set[] = { - { &hf_x420_user , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ORName }, - { &hf_x420_user_relative_identifier_ref, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_PrintableString }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_MessageReference(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, - MessageReference_set, hf_index, ett_x420_MessageReference); - - return offset; -} - - -static const ber_sequence_t CrossReference_sequence[] = { - { &hf_x420_application_cross_reference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OCTET_STRING }, - { &hf_x420_message_reference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_MessageReference }, - { &hf_x420_body_part_reference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CrossReference(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, - CrossReference_sequence, hf_index, ett_x420_CrossReference); - - return offset; -} - - -static const value_string x420_FileIdentifier_vals[] = { - { 0, "pathname-and-version" }, - { 1, "cross-reference" }, - { 0, NULL } -}; - -static const ber_choice_t FileIdentifier_choice[] = { - { 0, &hf_x420_pathname_and_version, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_PathnameandVersion }, - { 1, &hf_x420_cross_reference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_CrossReference }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_FileIdentifier(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, - FileIdentifier_choice, hf_index, ett_x420_FileIdentifier, - NULL); - - return offset; -} - - -static const value_string x420_ExplicitRelationship_vals[] = { - { 0, "unspecified" }, - { 1, "new-file" }, - { 2, "replacement" }, - { 3, "extension" }, - { 0, NULL } -}; - - -static int -dissect_x420_ExplicitRelationship(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_Relationship_vals[] = { - { 0, "explicit-relationship" }, - { 1, "descriptive-relationship" }, - { 0, NULL } -}; - -static const ber_choice_t Relationship_choice[] = { - { 0, &hf_x420_explicit_relationship, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ExplicitRelationship }, - { 1, &hf_x420_descriptive_relationship, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_GraphicString }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Relationship(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, - Relationship_choice, hf_index, ett_x420_Relationship, - NULL); - - return offset; -} - - -static const ber_sequence_t RelatedStoredFile_item_sequence[] = { - { &hf_x420_file_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_FileIdentifier }, - { &hf_x420_relationship , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Relationship }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_RelatedStoredFile_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, - RelatedStoredFile_item_sequence, hf_index, ett_x420_RelatedStoredFile_item); - - return offset; -} - - -static const ber_sequence_t RelatedStoredFile_set_of[1] = { - { &hf_x420_RelatedStoredFile_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_RelatedStoredFile_item }, -}; - -static int -dissect_x420_RelatedStoredFile(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_of(implicit_tag, actx, tree, tvb, offset, - RelatedStoredFile_set_of, hf_index, ett_x420_RelatedStoredFile); - - return offset; -} - - - -static int -dissect_x420_Document_Type_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, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_T_parameter(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 273 "x420.cnf" -/* XXX: Not implemented yet */ - - - - return offset; -} - - -static const ber_sequence_t T_document_type_sequence[] = { - { &hf_x420_document_type_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Document_Type_Name }, - { &hf_x420_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_T_parameter }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_document_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_sequence(implicit_tag, actx, tree, tvb, offset, - T_document_type_sequence, hf_index, ett_x420_T_document_type); - - return offset; -} - - - -static int -dissect_x420_Constraint_Set_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, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - - -static int -dissect_x420_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(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = { - { &hf_x420_constraint_set_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Constraint_Set_Name }, - { &hf_x420_abstract_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Abstract_Syntax_Name }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_constraint_set_and_abstract_syntax(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_constraint_set_and_abstract_syntax_sequence, hf_index, ett_x420_T_constraint_set_and_abstract_syntax); - - return offset; -} - - -static const value_string x420_Contents_Type_Attribute_vals[] = { - { 0, "document-type" }, - { 1, "constraint-set-and-abstract-syntax" }, - { 0, NULL } -}; - -static const ber_choice_t Contents_Type_Attribute_choice[] = { - { 0, &hf_x420_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_document_type }, - { 1, &hf_x420_constraint_set_and_abstract_syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_constraint_set_and_abstract_syntax }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Contents_Type_Attribute(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, - Contents_Type_Attribute_choice, hf_index, ett_x420_Contents_Type_Attribute, - NULL); - - return offset; -} - - - -static int -dissect_x420_ContentsTypeParameter(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_x420_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t T_descriptive_identifier_sequence_of[1] = { - { &hf_x420_descriptive_identifier_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString }, -}; - -static int -dissect_x420_T_descriptive_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_sequence_of(implicit_tag, actx, tree, tvb, offset, - T_descriptive_identifier_sequence_of, hf_index, ett_x420_T_descriptive_identifier); - - return offset; -} - - -static const value_string x420_GeneralIdentifier_vals[] = { - { 0, "registered-identifier" }, - { 1, "descriptive-identifier" }, - { 0, NULL } -}; - -static const ber_choice_t GeneralIdentifier_choice[] = { - { 0, &hf_x420_registered_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { 1, &hf_x420_descriptive_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_descriptive_identifier }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_GeneralIdentifier(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, - GeneralIdentifier_choice, hf_index, ett_x420_GeneralIdentifier, - NULL); - - return offset; -} - - -static const ber_sequence_t T_user_visible_string_sequence_of[1] = { - { &hf_x420_user_visible_string_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString }, -}; - -static int -dissect_x420_T_user_visible_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_sequence_of(implicit_tag, actx, tree, tvb, offset, - T_user_visible_string_sequence_of, hf_index, ett_x420_T_user_visible_string); - - return offset; -} - - -static const ber_sequence_t EnvironmentParameter_sequence[] = { - { &hf_x420_application_reference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_GeneralIdentifier }, - { &hf_x420_machine , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_GeneralIdentifier }, - { &hf_x420_operating_system, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_user_visible_string, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_T_user_visible_string }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_EnvironmentParameter(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, - EnvironmentParameter_sequence, hf_index, ett_x420_EnvironmentParameter); - - return offset; -} - - - -static int -dissect_x420_T_compression_algorithm_id(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 276 "x420.cnf" - offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); - - - - return offset; -} - - - -static int -dissect_x420_T_compression_algorithm_param(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 279 "x420.cnf" -/* XXX: Not implemented yet */ - - - - return offset; -} - - -static const ber_sequence_t CompressionParameter_sequence[] = { - { &hf_x420_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_id }, - { &hf_x420_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_param }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CompressionParameter(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, - CompressionParameter_sequence, hf_index, ett_x420_CompressionParameter); - - return offset; -} - - - -static int -dissect_x420_Account(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_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_Account_Attribute_vals[] = { - { 0, "no-value-available" }, - { 1, "actual-values" }, - { 0, NULL } -}; - -static const ber_choice_t Account_Attribute_choice[] = { - { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL }, - { 1, &hf_x420_account_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_Account }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Account_Attribute(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, - Account_Attribute_choice, hf_index, ett_x420_Account_Attribute, - NULL); - - return offset; -} - - - -static int -dissect_x420_User_Identity(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_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_User_Identity_Attribute_vals[] = { - { 0, "no-value-available" }, - { 1, "actual-values" }, - { 0, NULL } -}; - -static const ber_choice_t User_Identity_Attribute_choice[] = { - { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL }, - { 1, &hf_x420_identity_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_User_Identity }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_User_Identity_Attribute(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_Identity_Attribute_choice, hf_index, ett_x420_User_Identity_Attribute, - NULL); - - return offset; -} - - -static const asn_namedbit Access_Request_bits[] = { - { 0, &hf_x420_Access_Request_read, -1, -1, "read", NULL }, - { 1, &hf_x420_Access_Request_insert, -1, -1, "insert", NULL }, - { 2, &hf_x420_Access_Request_replace, -1, -1, "replace", NULL }, - { 3, &hf_x420_Access_Request_extend, -1, -1, "extend", NULL }, - { 4, &hf_x420_Access_Request_erase, -1, -1, "erase", NULL }, - { 5, &hf_x420_Access_Request_read_attribute, -1, -1, "read-attribute", NULL }, - { 6, &hf_x420_Access_Request_change_attribute, -1, -1, "change-attribute", NULL }, - { 7, &hf_x420_Access_Request_delete_object, -1, -1, "delete-object", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x420_Access_Request(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, tree, tvb, offset, - Access_Request_bits, hf_index, ett_x420_Access_Request, - NULL); - - return offset; -} - - -static const value_string x420_Password_vals[] = { - { 0, "graphic-string" }, - { 1, "octet-string" }, - { 0, NULL } -}; - -static const ber_choice_t Password_choice[] = { - { 0, &hf_x420_graphic_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString }, - { 1, &hf_x420_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OCTET_STRING }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Password(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, - Password_choice, hf_index, ett_x420_Password, - NULL); - - return offset; -} - - -static const ber_sequence_t Pass_Passwords_sequence_of[1] = { - { &hf_x420_Pass_Passwords_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, -}; - -static int -dissect_x420_Pass_Passwords(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, - Pass_Passwords_sequence_of, hf_index, ett_x420_Pass_Passwords); - - return offset; -} - - -static const ber_sequence_t Access_Passwords_sequence[] = { - { &hf_x420_read_password , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_insert_password, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_replace_password, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_extend_password, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_erase_password , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_read_attribute_password, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_change_attribute_password, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_delete_password, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { &hf_x420_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_Pass_Passwords }, - { &hf_x420_link_password , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Access_Passwords(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, - Access_Passwords_sequence, hf_index, ett_x420_Access_Passwords); - - return offset; -} - - -static const ber_sequence_t Application_Entity_Title_sequence[] = { - { &hf_x420_ap_title , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title }, - { &hf_x420_ae_qualifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_qualifier }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Application_Entity_Title(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, - Application_Entity_Title_sequence, hf_index, ett_x420_Application_Entity_Title); - - return offset; -} - - -static const ber_sequence_t Access_Control_Element_sequence[] = { - { &hf_x420_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_Access_Request }, - { &hf_x420_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access }, - { &hf_x420_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_User_Identity }, - { &hf_x420_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Access_Passwords }, - { &hf_x420_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Application_Entity_Title }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Access_Control_Element(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, - Access_Control_Element_sequence, hf_index, ett_x420_Access_Control_Element); - - return offset; -} - - -static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = { - { &hf_x420_actual_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_Access_Control_Element }, -}; - -static int -dissect_x420_SET_OF_Access_Control_Element(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_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_Access_Control_Element_set_of, hf_index, ett_x420_SET_OF_Access_Control_Element); - - return offset; -} - - -static const value_string x420_Access_Control_Attribute_vals[] = { - { 0, "no-value-available" }, - { 1, "actual-values" }, - { 0, NULL } -}; - -static const ber_choice_t Access_Control_Attribute_choice[] = { - { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL }, - { 1, &hf_x420_actual_values , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SET_OF_Access_Control_Element }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_Access_Control_Attribute(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, - Access_Control_Attribute_choice, hf_index, ett_x420_Access_Control_Attribute, - NULL); - - return offset; -} - - -static const ber_sequence_t FileAttributes_sequence[] = { - { &hf_x420_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Pathname_Attribute }, - { &hf_x420_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute }, - { &hf_x420_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Account_Attribute }, - { &hf_x420_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, - { &hf_x420_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, - { &hf_x420_date_and_time_of_last_read_access, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, - { &hf_x420_date_and_time_of_last_attribute_modification, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute }, - { &hf_x420_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute }, - { &hf_x420_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute }, - { &hf_x420_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute }, - { &hf_x420_identity_of_last_attribute_modifier, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute }, - { &hf_x420_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Availability_Attribute }, - { &hf_x420_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute }, - { &hf_x420_future_object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute }, - { &hf_x420_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Access_Control_Attribute }, - { &hf_x420_legal_qualifications, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Legal_Qualification_Attribute }, - { &hf_x420_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Private_Use_Attribute }, - { &hf_x420_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_FileAttributes(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, - FileAttributes_sequence, hf_index, ett_x420_FileAttributes); - - return offset; -} - - -static const ber_sequence_t FileTransferParameters_sequence[] = { - { &hf_x420_related_stored_file, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RelatedStoredFile }, - { &hf_x420_contents_type , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_ContentsTypeParameter }, - { &hf_x420_environment , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_EnvironmentParameter }, - { &hf_x420_compression , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_CompressionParameter }, - { &hf_x420_file_attributes, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_FileAttributes }, - { &hf_x420_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_FileTransferParameters(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, - FileTransferParameters_sequence, hf_index, ett_x420_FileTransferParameters); - - return offset; -} - - - -static int -dissect_x420_EXTERNAL(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); - - return offset; -} - - -static const ber_sequence_t FileTransferData_sequence_of[1] = { - { &hf_x420_FileTransferData_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_EXTERNAL }, -}; - -static int -dissect_x420_FileTransferData(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, - FileTransferData_sequence_of, hf_index, ett_x420_FileTransferData); - - return offset; -} - - - -static int -dissect_x420_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, - actx, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t VoiceParameters_sequence[] = { - { &hf_x420_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { &hf_x420_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IA5String }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_VoiceParameters(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, - VoiceParameters_sequence, hf_index, ett_x420_VoiceParameters); - - return offset; -} - - - -static int -dissect_x420_VoiceData(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t SubmissionProof_set[] = { - { &hf_x420_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProofOfSubmission }, - { &hf_x420_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginatingMTACertificate }, - { &hf_x420_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_SubmissionProof(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, - SubmissionProof_set, hf_index, ett_x420_SubmissionProof); - - return offset; -} - - -static const ber_sequence_t ForwardedContentParameters_set[] = { - { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime }, - { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields }, - { &hf_x420_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryIdentifier }, - { &hf_x420_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SubmissionProof }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_ForwardedContentParameters(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, - ForwardedContentParameters_set, hf_index, ett_x420_ForwardedContentParameters); - - return offset; -} - - -static const value_string x420_IPMEntryType_vals[] = { - { 0, "ipm" }, - { 1, "rn" }, - { 2, "nrn" }, - { 3, "on" }, - { 0, NULL } -}; - - -static int -dissect_x420_IPMEntryType(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t MessageBodyPartSynopsis_sequence[] = { - { &hf_x420_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, - { &hf_x420_synopsis , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPMSynopsis }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_MessageBodyPartSynopsis(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, - MessageBodyPartSynopsis_sequence, hf_index, ett_x420_MessageBodyPartSynopsis); - - return offset; -} - - -static const ber_sequence_t NonMessageBodyPartSynopsis_sequence[] = { - { &hf_x420_bp_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_bp_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF }, - { &hf_x420_size , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { &hf_x420_processed , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_NonMessageBodyPartSynopsis(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, - NonMessageBodyPartSynopsis_sequence, hf_index, ett_x420_NonMessageBodyPartSynopsis); - - return offset; -} - - -static const value_string x420_BodyPartSynopsis_vals[] = { - { 0, "message" }, - { 1, "non-message" }, - { 0, NULL } -}; - -static const ber_choice_t BodyPartSynopsis_choice[] = { - { 0, &hf_x420_message_synopsis, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPartSynopsis }, - { 1, &hf_x420_non_message , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_NonMessageBodyPartSynopsis }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartSynopsis(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, - BodyPartSynopsis_choice, hf_index, ett_x420_BodyPartSynopsis, - NULL); - - return offset; -} - - -static const ber_sequence_t IPMSynopsis_sequence_of[1] = { - { &hf_x420_IPMSynopsis_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSynopsis }, -}; - -static int -dissect_x420_IPMSynopsis(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, - IPMSynopsis_sequence_of, hf_index, ett_x420_IPMSynopsis); - - return offset; -} - - -static const ber_sequence_t BodyPartDescriptor_sequence[] = { - { &hf_x420_data , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER }, - { &hf_x420_this_child_entry, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber }, - { &hf_x420_position , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { &hf_x420_size , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER }, - { &hf_x420_processed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartDescriptor(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, - BodyPartDescriptor_sequence, hf_index, ett_x420_BodyPartDescriptor); - - return offset; -} - - -static const ber_sequence_t BodyPartSignatureVerification_item_set[] = { - { &hf_x420_body_part_sequence_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartNumber }, - { &hf_x420_body_part_signature_status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SignatureStatus }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartSignatureVerification_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_set(implicit_tag, actx, tree, tvb, offset, - BodyPartSignatureVerification_item_set, hf_index, ett_x420_BodyPartSignatureVerification_item); - - return offset; -} - - -static const ber_sequence_t BodyPartSignatureVerification_set_of[1] = { - { &hf_x420_BodyPartSignatureVerification_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatureVerification_item }, -}; - -static int -dissect_x420_BodyPartSignatureVerification(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_of(implicit_tag, actx, tree, tvb, offset, - BodyPartSignatureVerification_set_of, hf_index, ett_x420_BodyPartSignatureVerification); - - return offset; -} - - -static const ber_sequence_t SET_OF_SequenceNumber_set_of[1] = { - { &hf_x420_stored_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber }, -}; - -static int -dissect_x420_SET_OF_SequenceNumber(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_of(implicit_tag, actx, tree, tvb, offset, - SET_OF_SequenceNumber_set_of, hf_index, ett_x420_SET_OF_SequenceNumber); - - return offset; -} - - -static const value_string x420_IPMLocation_vals[] = { - { 0, "stored" }, - { 1, "absent" }, - { 0, NULL } -}; - -static const ber_choice_t IPMLocation_choice[] = { - { 0, &hf_x420_stored , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_SET_OF_SequenceNumber }, - { 1, &hf_x420_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IPMLocation(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, - IPMLocation_choice, hf_index, ett_x420_IPMLocation, - NULL); - - return offset; -} - - -static const value_string x420_DeliveredReplyStatus_vals[] = { - { 0, "no-reply-requested" }, - { 1, "reply-outstanding" }, - { 2, "reply-received" }, - { 0, NULL } -}; - - -static int -dissect_x420_DeliveredReplyStatus(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of[1] = { - { &hf_x420_received_replies_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber }, -}; - -static int -dissect_x420_SEQUENCE_OF_SequenceNumber(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_SequenceNumber_sequence_of, hf_index, ett_x420_SEQUENCE_OF_SequenceNumber); - - return offset; -} - - -static const value_string x420_CorrelatedDeliveredReplies_vals[] = { - { 0, "no-reply-received" }, - { 1, "received-replies" }, - { 0, NULL } -}; - -static const ber_choice_t CorrelatedDeliveredReplies_choice[] = { - { 0, &hf_x420_no_reply_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL }, - { 1, &hf_x420_received_replies, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CorrelatedDeliveredReplies(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, - CorrelatedDeliveredReplies_choice, hf_index, ett_x420_CorrelatedDeliveredReplies, - NULL); - - return offset; -} - - -static const value_string x420_DeliveredIPNStatus_vals[] = { - { 0, "no-ipn-requested" }, - { 3, "an-requested" }, - { 5, "nrn-requested" }, - { 10, "rn-requested" }, - { 13, "an-received" }, - { 15, "ipm-auto-forwarded" }, - { 20, "ipm-discarded" }, - { 25, "rn-received" }, - { 0, NULL } -}; - - -static int -dissect_x420_DeliveredIPNStatus(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_CorrelatedDeliveredIPNs_vals[] = { - { 0, "no-ipn-received" }, - { 1, "ipns-received" }, - { 0, NULL } -}; - -static const ber_choice_t CorrelatedDeliveredIPNs_choice[] = { - { 0, &hf_x420_no_ipn_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL }, - { 1, &hf_x420_ipns_received , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_CorrelatedDeliveredIPNs(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, - CorrelatedDeliveredIPNs_choice, hf_index, ett_x420_CorrelatedDeliveredIPNs, - NULL); - - return offset; -} - - -static const value_string x420_SubmittedReplyStatus_vals[] = { - { 0, "no-reply-requested" }, - { 1, "no-reply-intended" }, - { 2, "reply-pending" }, - { 3, "reply-sent" }, - { 0, NULL } -}; - - -static int -dissect_x420_SubmittedReplyStatus(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_SubmittedIPNStatus_vals[] = { - { 0, "no-ipn-requested" }, - { 5, "nrn-requested" }, - { 10, "nrn-with-ipm-return-requested" }, - { 15, "rn-requested" }, - { 20, "rn-with-ipm-return-requested" }, - { 25, "ipm-auto-forwarded" }, - { 30, "ipm-discarded" }, - { 35, "rn-sent" }, - { 0, NULL } -}; - - -static int -dissect_x420_SubmittedIPNStatus(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const value_string x420_RecipientCategory_vals[] = { - { 0, "primary-recipient" }, - { 1, "copy-recipient" }, - { 2, "blind-copy-recipient" }, - { 3, "category-unknown" }, - { 4, "circulation-list" }, - { 0, NULL } -}; - - -static int -dissect_x420_RecipientCategory(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const asn_namedbit RecipientSecurityRequest_bits[] = { - { 0, &hf_x420_RecipientSecurityRequest_content_non_repudiation, -1, -1, "content-non-repudiation", NULL }, - { 1, &hf_x420_RecipientSecurityRequest_content_proof, -1, -1, "content-proof", NULL }, - { 2, &hf_x420_RecipientSecurityRequest_ipn_non_repudiation, -1, -1, "ipn-non-repudiation", NULL }, - { 3, &hf_x420_RecipientSecurityRequest_ipn_proof, -1, -1, "ipn-proof", NULL }, - { 0, NULL, 0, 0, NULL, NULL } -}; - -static int -dissect_x420_RecipientSecurityRequest(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, tree, tvb, offset, - RecipientSecurityRequest_bits, hf_index, ett_x420_RecipientSecurityRequest, - NULL); - - return offset; -} - - - -static int -dissect_x420_OriginalContent(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_x411_Content(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_OriginalContentIntegrityCheck(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_x411_ContentIntegrityCheck(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_OriginalMessageOriginAuthenticationCheck(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_x411_MessageOriginAuthenticationCheck(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_x420_OriginalMessageToken(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_x411_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const ber_sequence_t T_original_security_arguments_set[] = { - { &hf_x420_original_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalContentIntegrityCheck }, - { &hf_x420_original_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageOriginAuthenticationCheck }, - { &hf_x420_original_message_token, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageToken }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_original_security_arguments(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, - T_original_security_arguments_set, hf_index, ett_x420_T_original_security_arguments); - - return offset; -} - - -static const value_string x420_T_content_or_arguments_vals[] = { - { 0, "original-content" }, - { 1, "original-security-arguments" }, - { 0, NULL } -}; - -static const ber_choice_t T_content_or_arguments_choice[] = { - { 0, &hf_x420_original_content, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OriginalContent }, - { 1, &hf_x420_original_security_arguments, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_T_original_security_arguments }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_content_or_arguments(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_content_or_arguments_choice, hf_index, ett_x420_T_content_or_arguments, - NULL); - - return offset; -} - - -static const value_string x420_SecurityDiagnosticCode_vals[] = { - { 0, "integrity-failure-on-subject-message" }, - { 1, "integrity-failure-on-forwarded-message" }, - { 2, "moac-failure-on-subject-message" }, - { 3, "unsupported-security-policy" }, - { 4, "unsupported-algorithm-identifier" }, - { 5, "decryption-failed" }, - { 6, "token-error" }, - { 7, "unable-to-sign-notification" }, - { 8, "unable-to-sign-message-receipt" }, - { 9, "authentication-failure-on-subject-message" }, - { 10, "security-context-failure-message" }, - { 11, "message-sequence-failure" }, - { 12, "message-security-labelling-failure" }, - { 13, "repudiation-failure-of-message" }, - { 14, "failure-of-proof-of-message" }, - { 15, "signature-key-unobtainable" }, - { 16, "decryption-key-unobtainable" }, - { 17, "key-failure" }, - { 18, "unsupported-request-for-security-service" }, - { 19, "inconsistent-request-for-security-service" }, - { 20, "ipn-non-repudiation-provided-instead-of-content-proof" }, - { 21, "token-decryption-failed" }, - { 22, "double-enveloping-message-restoring-failure" }, - { 23, "unauthorised-dl-member" }, - { 24, "reception-security-failure" }, - { 25, "unsuitable-alternate-recipient" }, - { 26, "security-services-refusal" }, - { 27, "unauthorised-recipient" }, - { 28, "unknown-certification-authority-name" }, - { 29, "unknown-dl-name" }, - { 30, "unknown-originator-name" }, - { 31, "unknown-recipient-name" }, - { 32, "security-policy-violation" }, - { 0, NULL } -}; - - -static int -dissect_x420_SecurityDiagnosticCode(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, tree, tvb, offset, hf_index, - NULL); - - return offset; -} - - -static const ber_sequence_t IpnSecurityResponse_set[] = { - { &hf_x420_content_or_arguments, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_content_or_arguments }, - { &hf_x420_security_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_SecurityDiagnosticCode }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_IpnSecurityResponse(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, - IpnSecurityResponse_set, hf_index, ett_x420_IpnSecurityResponse); - - return offset; -} - - -static const ber_sequence_t EncryptionToken_set[] = { - { &hf_x420_encryption_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier }, - { &hf_x420_encrypted_key , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING }, - { &hf_x420_recipient_certificate_selector, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x420_recipient_certificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates }, - { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion }, - { &hf_x420_originator_certificates, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_EncryptionToken(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, - EncryptionToken_set, hf_index, ett_x420_EncryptionToken); - - return offset; -} - - -static const value_string x420_T_body_part_choice_vals[] = { - { 0, "encryption-token" }, - { 1, "message-or-content-body-part" }, - { 0, NULL } -}; - -static const ber_choice_t T_body_part_choice_choice[] = { - { 0, &hf_x420_encryption_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptionToken }, - { 1, &hf_x420_message_or_content_body_part, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartTokens }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_body_part_choice(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_body_part_choice_choice, hf_index, ett_x420_T_body_part_choice, - NULL); - - return offset; -} - - -static const ber_sequence_t BodyPartTokens_item_set[] = { - { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber }, - { &hf_x420_body_part_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_choice }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_BodyPartTokens_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_set(implicit_tag, actx, tree, tvb, offset, - BodyPartTokens_item_set, hf_index, ett_x420_BodyPartTokens_item); - - return offset; -} - - -static const ber_sequence_t BodyPartTokens_set_of[1] = { - { &hf_x420_BodyPartTokens_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartTokens_item }, -}; - -static int -dissect_x420_BodyPartTokens(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_of(implicit_tag, actx, tree, tvb, offset, - BodyPartTokens_set_of, hf_index, ett_x420_BodyPartTokens); - - return offset; -} - - -static const value_string x420_T_body_part_token_choice_vals[] = { - { 0, "forwarding-token" }, - { 1, "message-or-content-body-part" }, - { 0, NULL } -}; - -static const ber_choice_t T_body_part_token_choice_choice[] = { - { 0, &hf_x420_forwarding_token, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_MessageToken }, - { 1, &hf_x420_forwarded_content_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken }, - { 0, NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_T_body_part_token_choice(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_body_part_token_choice_choice, hf_index, ett_x420_T_body_part_token_choice, - NULL); - - return offset; -} - - -static const ber_sequence_t ForwardedContentToken_item_set[] = { - { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber }, - { &hf_x420_body_part_token_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_token_choice }, - { NULL, 0, 0, 0, NULL } -}; - -static int -dissect_x420_ForwardedContentToken_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_set(implicit_tag, actx, tree, tvb, offset, - ForwardedContentToken_item_set, hf_index, ett_x420_ForwardedContentToken_item); - - return offset; -} - - -static const ber_sequence_t ForwardedContentToken_set_of[1] = { - { &hf_x420_ForwardedContentToken_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken_item }, -}; - -static int -dissect_x420_ForwardedContentToken(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_of(implicit_tag, actx, tree, tvb, offset, - ForwardedContentToken_set_of, hf_index, ett_x420_ForwardedContentToken); - - return offset; -} - -/*--- PDUs ---*/ - -static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationObject_PDU); -} -static void dissect_Heading_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_Heading(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Heading_PDU); -} -static void dissect_ORDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ORDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ORDescriptor_PDU); -} -static void dissect_ThisIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ThisIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ThisIPMField_PDU); -} -static void dissect_OriginatorField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_OriginatorField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorField_PDU); -} -static void dissect_AuthorizingUsersSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_AuthorizingUsersSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizingUsersSubfield_PDU); -} -static void dissect_PrimaryRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_PrimaryRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrimaryRecipientsSubfield_PDU); -} -static void dissect_CopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_CopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CopyRecipientsSubfield_PDU); -} -static void dissect_BlindCopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BlindCopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BlindCopyRecipientsSubfield_PDU); -} -static void dissect_RepliedToIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_RepliedToIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RepliedToIPMField_PDU); -} -static void dissect_ObsoletedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ObsoletedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ObsoletedIPMsSubfield_PDU); -} -static void dissect_RelatedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_RelatedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RelatedIPMsSubfield_PDU); -} -static void dissect_SubjectField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_SubjectField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubjectField_PDU); -} -static void dissect_ExpiryTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ExpiryTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExpiryTimeField_PDU); -} -static void dissect_ReplyTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ReplyTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyTimeField_PDU); -} -static void dissect_ReplyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ReplyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyRecipientsSubfield_PDU); -} -static void dissect_ImportanceField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ImportanceField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ImportanceField_PDU); -} -static void dissect_SensitivityField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_SensitivityField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SensitivityField_PDU); -} -static void dissect_AutoForwardedField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_AutoForwardedField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoForwardedField_PDU); -} -static void dissect_Body_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_Body(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Body_PDU); -} -static void dissect_IA5TextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IA5TextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IA5TextParameters_PDU); -} -static void dissect_IA5TextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IA5TextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IA5TextData_PDU); -} -static void dissect_G3FacsimileParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_G3FacsimileParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileParameters_PDU); -} -static void dissect_G3FacsimileData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_G3FacsimileData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileData_PDU); -} -static void dissect_G4Class1BodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_G4Class1BodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G4Class1BodyPart_PDU); -} -static void dissect_MixedModeBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_MixedModeBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MixedModeBodyPart_PDU); -} -static void dissect_TeletexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_TeletexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_TeletexParameters_PDU); -} -static void dissect_TeletexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_TeletexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_TeletexData_PDU); -} -static void dissect_VideotexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_VideotexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VideotexParameters_PDU); -} -static void dissect_VideotexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_VideotexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VideotexData_PDU); -} -static void dissect_EncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_EncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_EncryptedParameters_PDU); -} -static void dissect_EncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_EncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_EncryptedData_PDU); -} -static void dissect_MessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_MessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MessageParameters_PDU); -} -static void dissect_MessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_MessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MessageData_PDU); -} -static void dissect_BilaterallyDefinedBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BilaterallyDefinedBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BilaterallyDefinedBodyPart_PDU); -} -static void dissect_IPN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IPN(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPN_PDU); -} -static void dissect_AbsenceAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_AbsenceAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AbsenceAdvice_PDU); -} -static void dissect_ChangeOfAddressAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ChangeOfAddressAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ChangeOfAddressAdvice_PDU); -} -static void dissect_IPMAssemblyInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IPMAssemblyInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMAssemblyInstructions_PDU); -} -static void dissect_IncompleteCopy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IncompleteCopy(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IncompleteCopy_PDU); -} -static void dissect_Languages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_Languages(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Languages_PDU); -} -static void dissect_Language_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_Language(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Language_PDU); -} -static void dissect_AutoSubmitted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_AutoSubmitted(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoSubmitted_PDU); -} -static void dissect_BodyPartSignatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BodyPartSignatures(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatures_PDU); -} -static void dissect_IPMSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IPMSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSecurityLabel_PDU); -} -static void dissect_BodyPartSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BodyPartSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSecurityLabel_PDU); -} -static void dissect_AuthorizationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_AuthorizationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizationTime_PDU); -} -static void dissect_CirculationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_CirculationList(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationList_PDU); -} -static void dissect_CirculationMember_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_CirculationMember(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationMember_PDU); -} -static void dissect_CirculationListIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_CirculationListIndicator(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationListIndicator_PDU); -} -static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCodes_PDU); -} -static void dissect_DistributionCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCode_PDU); -} -static void dissect_ExtendedSubject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ExtendedSubject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExtendedSubject_PDU); -} -static void dissect_InformationCategories_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_InformationCategories(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategories_PDU); -} -static void dissect_InformationCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_InformationCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategory_PDU); -} -static void dissect_ManualHandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ManualHandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstructions_PDU); -} -static void dissect_ManualHandlingInstruction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ManualHandlingInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstruction_PDU); -} -static void dissect_OriginatorsReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_OriginatorsReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorsReference_PDU); -} -static void dissect_PrecedencePolicyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_PrecedencePolicyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrecedencePolicyIdentifier_PDU); -} -static void dissect_Precedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_Precedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Precedence_PDU); -} -static void dissect_GeneralTextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_GeneralTextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextParameters_PDU); -} -static void dissect_GeneralTextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_GeneralTextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextData_PDU); -} -static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferParameters_PDU); -} -static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferData_PDU); -} -static void dissect_VoiceParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_VoiceParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VoiceParameters_PDU); -} -static void dissect_VoiceData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_VoiceData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VoiceData_PDU); -} -static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentParameters_PDU); -} -static void dissect_IPMEntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IPMEntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMEntryType_PDU); -} -static void dissect_IPMSynopsis_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IPMSynopsis(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSynopsis_PDU); -} -static void dissect_BodyPartDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BodyPartDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartDescriptor_PDU); -} -static void dissect_BodyPartSignatureVerification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BodyPartSignatureVerification(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatureVerification_PDU); -} -static void dissect_IPMLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IPMLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMLocation_PDU); -} -static void dissect_DeliveredReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_DeliveredReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DeliveredReplyStatus_PDU); -} -static void dissect_CorrelatedDeliveredReplies_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_CorrelatedDeliveredReplies(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CorrelatedDeliveredReplies_PDU); -} -static void dissect_DeliveredIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_DeliveredIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DeliveredIPNStatus_PDU); -} -static void dissect_CorrelatedDeliveredIPNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_CorrelatedDeliveredIPNs(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CorrelatedDeliveredIPNs_PDU); -} -static void dissect_SubmittedReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_SubmittedReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubmittedReplyStatus_PDU); -} -static void dissect_SubmittedIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_SubmittedIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubmittedIPNStatus_PDU); -} -static void dissect_RecipientCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_RecipientCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RecipientCategory_PDU); -} -static void dissect_RecipientSecurityRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_RecipientSecurityRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RecipientSecurityRequest_PDU); -} -static void dissect_IpnSecurityResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_IpnSecurityResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IpnSecurityResponse_PDU); -} -static void dissect_BodyPartTokens_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_BodyPartTokens(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartTokens_PDU); -} -static void dissect_ForwardedContentToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - dissect_x420_ForwardedContentToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentToken_PDU); -} - - -/*--- End of included file: packet-x420-fn.c ---*/ -#line 94 "packet-x420-template.c" - -/* -* Dissect X420 PDUs inside a PPDU. -*/ -static void -dissect_x420(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) -{ - int offset = 0; - proto_item *item=NULL; - proto_tree *tree=NULL; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); - - if(parent_tree){ - item = proto_tree_add_item(parent_tree, proto_x420, tvb, 0, -1, FALSE); - tree = proto_item_add_subtree(item, ett_x420); - } - - col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22"); - col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal"); - - dissect_x420_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1); -} - - -/*--- proto_register_x420 -------------------------------------------*/ -void proto_register_x420(void) { - - /* List of fields */ - static hf_register_info hf[] = - { - -/*--- Included file: packet-x420-hfarr.c ---*/ -#line 1 "packet-x420-hfarr.c" - { &hf_x420_InformationObject_PDU, - { "InformationObject", "x420.InformationObject", - FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0, - NULL, HFILL }}, - { &hf_x420_Heading_PDU, - { "Heading", "x420.Heading", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ORDescriptor_PDU, - { "ORDescriptor", "x420.ORDescriptor", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ThisIPMField_PDU, - { "ThisIPMField", "x420.ThisIPMField", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_OriginatorField_PDU, - { "OriginatorField", "x420.OriginatorField", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_AuthorizingUsersSubfield_PDU, - { "AuthorizingUsersSubfield", "x420.AuthorizingUsersSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_PrimaryRecipientsSubfield_PDU, - { "PrimaryRecipientsSubfield", "x420.PrimaryRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_CopyRecipientsSubfield_PDU, - { "CopyRecipientsSubfield", "x420.CopyRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BlindCopyRecipientsSubfield_PDU, - { "BlindCopyRecipientsSubfield", "x420.BlindCopyRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_RepliedToIPMField_PDU, - { "RepliedToIPMField", "x420.RepliedToIPMField", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ObsoletedIPMsSubfield_PDU, - { "ObsoletedIPMsSubfield", "x420.ObsoletedIPMsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_RelatedIPMsSubfield_PDU, - { "RelatedIPMsSubfield", "x420.RelatedIPMsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_SubjectField_PDU, - { "SubjectField", "x420.SubjectField", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ExpiryTimeField_PDU, - { "ExpiryTimeField", "x420.ExpiryTimeField", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ReplyTimeField_PDU, - { "ReplyTimeField", "x420.ReplyTimeField", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ReplyRecipientsSubfield_PDU, - { "ReplyRecipientsSubfield", "x420.ReplyRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ImportanceField_PDU, - { "ImportanceField", "x420.ImportanceField", - FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0, - NULL, HFILL }}, - { &hf_x420_SensitivityField_PDU, - { "SensitivityField", "x420.SensitivityField", - FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0, - NULL, HFILL }}, - { &hf_x420_AutoForwardedField_PDU, - { "AutoForwardedField", "x420.AutoForwardedField", - FT_BOOLEAN, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_Body_PDU, - { "Body", "x420.Body", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IA5TextParameters_PDU, - { "IA5TextParameters", "x420.IA5TextParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IA5TextData_PDU, - { "IA5TextData", "x420.IA5TextData", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_G3FacsimileParameters_PDU, - { "G3FacsimileParameters", "x420.G3FacsimileParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_G3FacsimileData_PDU, - { "G3FacsimileData", "x420.G3FacsimileData", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_G4Class1BodyPart_PDU, - { "G4Class1BodyPart", "x420.G4Class1BodyPart", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_MixedModeBodyPart_PDU, - { "MixedModeBodyPart", "x420.MixedModeBodyPart", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_TeletexParameters_PDU, - { "TeletexParameters", "x420.TeletexParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_TeletexData_PDU, - { "TeletexData", "x420.TeletexData", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_VideotexParameters_PDU, - { "VideotexParameters", "x420.VideotexParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_VideotexData_PDU, - { "VideotexData", "x420.VideotexData", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_EncryptedParameters_PDU, - { "EncryptedParameters", "x420.EncryptedParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_EncryptedData_PDU, - { "EncryptedData", "x420.EncryptedData", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_MessageParameters_PDU, - { "MessageParameters", "x420.MessageParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_MessageData_PDU, - { "MessageData", "x420.MessageData", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BilaterallyDefinedBodyPart_PDU, - { "BilaterallyDefinedBodyPart", "x420.BilaterallyDefinedBodyPart", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IPN_PDU, - { "IPN", "x420.IPN", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_AbsenceAdvice_PDU, - { "AbsenceAdvice", "x420.AbsenceAdvice", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ChangeOfAddressAdvice_PDU, - { "ChangeOfAddressAdvice", "x420.ChangeOfAddressAdvice", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IPMAssemblyInstructions_PDU, - { "IPMAssemblyInstructions", "x420.IPMAssemblyInstructions", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IncompleteCopy_PDU, - { "IncompleteCopy", "x420.IncompleteCopy", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_Languages_PDU, - { "Languages", "x420.Languages", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_Language_PDU, - { "Language", "x420.Language", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_AutoSubmitted_PDU, - { "AutoSubmitted", "x420.AutoSubmitted", - FT_UINT32, BASE_DEC, VALS(x420_AutoSubmitted_vals), 0, - NULL, HFILL }}, - { &hf_x420_BodyPartSignatures_PDU, - { "BodyPartSignatures", "x420.BodyPartSignatures", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IPMSecurityLabel_PDU, - { "IPMSecurityLabel", "x420.IPMSecurityLabel", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BodyPartSecurityLabel_PDU, - { "BodyPartSecurityLabel", "x420.BodyPartSecurityLabel", - FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0, - NULL, HFILL }}, - { &hf_x420_AuthorizationTime_PDU, - { "AuthorizationTime", "x420.AuthorizationTime", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_CirculationList_PDU, - { "CirculationList", "x420.CirculationList", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_CirculationMember_PDU, - { "CirculationMember", "x420.CirculationMember", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_CirculationListIndicator_PDU, - { "CirculationListIndicator", "x420.CirculationListIndicator", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_DistributionCodes_PDU, - { "DistributionCodes", "x420.DistributionCodes", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_DistributionCode_PDU, - { "DistributionCode", "x420.DistributionCode", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ExtendedSubject_PDU, - { "ExtendedSubject", "x420.ExtendedSubject", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_InformationCategories_PDU, - { "InformationCategories", "x420.InformationCategories", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_InformationCategory_PDU, - { "InformationCategory", "x420.InformationCategory", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ManualHandlingInstructions_PDU, - { "ManualHandlingInstructions", "x420.ManualHandlingInstructions", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ManualHandlingInstruction_PDU, - { "ManualHandlingInstruction", "x420.ManualHandlingInstruction", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_OriginatorsReference_PDU, - { "OriginatorsReference", "x420.OriginatorsReference", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_PrecedencePolicyIdentifier_PDU, - { "PrecedencePolicyIdentifier", "x420.PrecedencePolicyIdentifier", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_Precedence_PDU, - { "Precedence", "x420.Precedence", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_GeneralTextParameters_PDU, - { "GeneralTextParameters", "x420.GeneralTextParameters", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_GeneralTextData_PDU, - { "GeneralTextData", "x420.GeneralTextData", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_FileTransferParameters_PDU, - { "FileTransferParameters", "x420.FileTransferParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_FileTransferData_PDU, - { "FileTransferData", "x420.FileTransferData", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_VoiceParameters_PDU, - { "VoiceParameters", "x420.VoiceParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_VoiceData_PDU, - { "VoiceData", "x420.VoiceData", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ForwardedContentParameters_PDU, - { "ForwardedContentParameters", "x420.ForwardedContentParameters", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IPMEntryType_PDU, - { "IPMEntryType", "x420.IPMEntryType", - FT_UINT32, BASE_DEC, VALS(x420_IPMEntryType_vals), 0, - NULL, HFILL }}, - { &hf_x420_IPMSynopsis_PDU, - { "IPMSynopsis", "x420.IPMSynopsis", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BodyPartDescriptor_PDU, - { "BodyPartDescriptor", "x420.BodyPartDescriptor", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BodyPartSignatureVerification_PDU, - { "BodyPartSignatureVerification", "x420.BodyPartSignatureVerification", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IPMLocation_PDU, - { "IPMLocation", "x420.IPMLocation", - FT_UINT32, BASE_DEC, VALS(x420_IPMLocation_vals), 0, - NULL, HFILL }}, - { &hf_x420_DeliveredReplyStatus_PDU, - { "DeliveredReplyStatus", "x420.DeliveredReplyStatus", - FT_INT32, BASE_DEC, VALS(x420_DeliveredReplyStatus_vals), 0, - NULL, HFILL }}, - { &hf_x420_CorrelatedDeliveredReplies_PDU, - { "CorrelatedDeliveredReplies", "x420.CorrelatedDeliveredReplies", - FT_UINT32, BASE_DEC, VALS(x420_CorrelatedDeliveredReplies_vals), 0, - NULL, HFILL }}, - { &hf_x420_DeliveredIPNStatus_PDU, - { "DeliveredIPNStatus", "x420.DeliveredIPNStatus", - FT_INT32, BASE_DEC, VALS(x420_DeliveredIPNStatus_vals), 0, - NULL, HFILL }}, - { &hf_x420_CorrelatedDeliveredIPNs_PDU, - { "CorrelatedDeliveredIPNs", "x420.CorrelatedDeliveredIPNs", - FT_UINT32, BASE_DEC, VALS(x420_CorrelatedDeliveredIPNs_vals), 0, - NULL, HFILL }}, - { &hf_x420_SubmittedReplyStatus_PDU, - { "SubmittedReplyStatus", "x420.SubmittedReplyStatus", - FT_INT32, BASE_DEC, VALS(x420_SubmittedReplyStatus_vals), 0, - NULL, HFILL }}, - { &hf_x420_SubmittedIPNStatus_PDU, - { "SubmittedIPNStatus", "x420.SubmittedIPNStatus", - FT_INT32, BASE_DEC, VALS(x420_SubmittedIPNStatus_vals), 0, - NULL, HFILL }}, - { &hf_x420_RecipientCategory_PDU, - { "RecipientCategory", "x420.RecipientCategory", - FT_INT32, BASE_DEC, VALS(x420_RecipientCategory_vals), 0, - NULL, HFILL }}, - { &hf_x420_RecipientSecurityRequest_PDU, - { "RecipientSecurityRequest", "x420.RecipientSecurityRequest", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_IpnSecurityResponse_PDU, - { "IpnSecurityResponse", "x420.IpnSecurityResponse", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BodyPartTokens_PDU, - { "BodyPartTokens", "x420.BodyPartTokens", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ForwardedContentToken_PDU, - { "ForwardedContentToken", "x420.ForwardedContentToken", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ipm, - { "ipm", "x420.ipm", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ipn, - { "ipn", "x420.ipn", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_heading, - { "heading", "x420.heading", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_body, - { "body", "x420.body", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_type, - { "type", "x420.type", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_value, - { "value", "x420.value", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_this_IPM, - { "this-IPM", "x420.this_IPM", - FT_NONE, BASE_NONE, NULL, 0, - "ThisIPMField", HFILL }}, - { &hf_x420_originator, - { "originator", "x420.originator", - FT_NONE, BASE_NONE, NULL, 0, - "OriginatorField", HFILL }}, - { &hf_x420_authorizing_users, - { "authorizing-users", "x420.authorizing_users", - FT_UINT32, BASE_DEC, NULL, 0, - "AuthorizingUsersField", HFILL }}, - { &hf_x420_primary_recipients, - { "primary-recipients", "x420.primary_recipients", - FT_UINT32, BASE_DEC, NULL, 0, - "PrimaryRecipientsField", HFILL }}, - { &hf_x420_copy_recipients, - { "copy-recipients", "x420.copy_recipients", - FT_UINT32, BASE_DEC, NULL, 0, - "CopyRecipientsField", HFILL }}, - { &hf_x420_blind_copy_recipients, - { "blind-copy-recipients", "x420.blind_copy_recipients", - FT_UINT32, BASE_DEC, NULL, 0, - "BlindCopyRecipientsField", HFILL }}, - { &hf_x420_replied_to_IPM, - { "replied-to-IPM", "x420.replied_to_IPM", - FT_NONE, BASE_NONE, NULL, 0, - "RepliedToIPMField", HFILL }}, - { &hf_x420_obsoleted_IPMs, - { "obsoleted-IPMs", "x420.obsoleted_IPMs", - FT_UINT32, BASE_DEC, NULL, 0, - "ObsoletedIPMsField", HFILL }}, - { &hf_x420_related_IPMs, - { "related-IPMs", "x420.related_IPMs", - FT_UINT32, BASE_DEC, NULL, 0, - "RelatedIPMsField", HFILL }}, - { &hf_x420_subject, - { "subject", "x420.subject", - FT_STRING, BASE_NONE, NULL, 0, - "SubjectField", HFILL }}, - { &hf_x420_expiry_time, - { "expiry-time", "x420.expiry_time", - FT_STRING, BASE_NONE, NULL, 0, - "ExpiryTimeField", HFILL }}, - { &hf_x420_reply_time, - { "reply-time", "x420.reply_time", - FT_STRING, BASE_NONE, NULL, 0, - "ReplyTimeField", HFILL }}, - { &hf_x420_reply_recipients, - { "reply-recipients", "x420.reply_recipients", - FT_UINT32, BASE_DEC, NULL, 0, - "ReplyRecipientsField", HFILL }}, - { &hf_x420_importance, - { "importance", "x420.importance", - FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0, - "ImportanceField", HFILL }}, - { &hf_x420_sensitivity, - { "sensitivity", "x420.sensitivity", - FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0, - "SensitivityField", HFILL }}, - { &hf_x420_auto_forwarded, - { "auto-forwarded", "x420.auto_forwarded", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "AutoForwardedField", HFILL }}, - { &hf_x420_extensions, - { "extensions", "x420.extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtensionsField", HFILL }}, - { &hf_x420_user, - { "user", "x420.user", - FT_NONE, BASE_NONE, NULL, 0, - "ORName", HFILL }}, - { &hf_x420_user_relative_identifier, - { "user-relative-identifier", "x420.user_relative_identifier", - FT_STRING, BASE_NONE, NULL, 0, - "LocalIPMIdentifier", HFILL }}, - { &hf_x420_recipient, - { "recipient", "x420.recipient", - FT_NONE, BASE_NONE, NULL, 0, - "ORDescriptor", HFILL }}, - { &hf_x420_notification_requests, - { "notification-requests", "x420.notification_requests", - FT_BYTES, BASE_NONE, NULL, 0, - "NotificationRequests", HFILL }}, - { &hf_x420_reply_requested, - { "reply-requested", "x420.reply_requested", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, - { &hf_x420_recipient_extensions, - { "recipient-extensions", "x420.recipient_extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "RecipientExtensionsField", HFILL }}, - { &hf_x420_formal_name, - { "formal-name", "x420.formal_name", - FT_NONE, BASE_NONE, NULL, 0, - "ORName", HFILL }}, - { &hf_x420_free_form_name, - { "free-form-name", "x420.free_form_name", - FT_STRING, BASE_NONE, NULL, 0, - "FreeFormName", HFILL }}, - { &hf_x420_telephone_number, - { "telephone-number", "x420.telephone_number", - FT_STRING, BASE_NONE, NULL, 0, - "TelephoneNumber", HFILL }}, - { &hf_x420_RecipientExtensionsField_item, - { "IPMSExtension", "x420.IPMSExtension", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_AuthorizingUsersField_item, - { "AuthorizingUsersSubfield", "x420.AuthorizingUsersSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_PrimaryRecipientsField_item, - { "PrimaryRecipientsSubfield", "x420.PrimaryRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_CopyRecipientsField_item, - { "CopyRecipientsSubfield", "x420.CopyRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BlindCopyRecipientsField_item, - { "BlindCopyRecipientsSubfield", "x420.BlindCopyRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ObsoletedIPMsField_item, - { "ObsoletedIPMsSubfield", "x420.ObsoletedIPMsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_RelatedIPMsField_item, - { "RelatedIPMsSubfield", "x420.RelatedIPMsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ReplyRecipientsField_item, - { "ReplyRecipientsSubfield", "x420.ReplyRecipientsSubfield", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ExtensionsField_item, - { "IPMSExtension", "x420.IPMSExtension", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_Body_item, - { "BodyPart", "x420.BodyPart", - FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0, - NULL, HFILL }}, - { &hf_x420_basic, - { "basic", "x420.basic", - FT_UINT32, BASE_DEC, VALS(x420_T_basic_vals), 0, - NULL, HFILL }}, - { &hf_x420_ia5_text, - { "ia5-text", "x420.ia5_text", - FT_NONE, BASE_NONE, NULL, 0, - "IA5TextBodyPart", HFILL }}, - { &hf_x420_g3_facsimile, - { "g3-facsimile", "x420.g3_facsimile", - FT_NONE, BASE_NONE, NULL, 0, - "G3FacsimileBodyPart", HFILL }}, - { &hf_x420_g4_class1, - { "g4-class1", "x420.g4_class1", - FT_UINT32, BASE_DEC, NULL, 0, - "G4Class1BodyPart", HFILL }}, - { &hf_x420_teletex, - { "teletex", "x420.teletex", - FT_NONE, BASE_NONE, NULL, 0, - "TeletexBodyPart", HFILL }}, - { &hf_x420_videotex, - { "videotex", "x420.videotex", - FT_NONE, BASE_NONE, NULL, 0, - "VideotexBodyPart", HFILL }}, - { &hf_x420_encrypted_bp, - { "encrypted", "x420.encrypted", - FT_NONE, BASE_NONE, NULL, 0, - "EncryptedBodyPart", HFILL }}, - { &hf_x420_message, - { "message", "x420.message", - FT_NONE, BASE_NONE, NULL, 0, - "MessageBodyPart", HFILL }}, - { &hf_x420_mixed_mode, - { "mixed-mode", "x420.mixed_mode", - FT_UINT32, BASE_DEC, NULL, 0, - "MixedModeBodyPart", HFILL }}, - { &hf_x420_bilaterally_defined, - { "bilaterally-defined", "x420.bilaterally_defined", - FT_BYTES, BASE_NONE, NULL, 0, - "BilaterallyDefinedBodyPart", HFILL }}, - { &hf_x420_nationally_defined, - { "nationally-defined", "x420.nationally_defined", - FT_NONE, BASE_NONE, NULL, 0, - "NationallyDefinedBodyPart", HFILL }}, - { &hf_x420_extended, - { "extended", "x420.extended", - FT_NONE, BASE_NONE, NULL, 0, - "ExtendedBodyPart", HFILL }}, - { &hf_x420_extended_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "INSTANCE_OF", HFILL }}, - { &hf_x420_extended_data, - { "data", "x420.data", - FT_NONE, BASE_NONE, NULL, 0, - "INSTANCE_OF", HFILL }}, - { &hf_x420_ia5text_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "IA5TextParameters", HFILL }}, - { &hf_x420_ia5text_data, - { "data", "x420.data", - FT_STRING, BASE_NONE, NULL, 0, - "IA5TextData", HFILL }}, - { &hf_x420_repertoire, - { "repertoire", "x420.repertoire", - FT_UINT32, BASE_DEC, VALS(x420_Repertoire_vals), 0, - NULL, HFILL }}, - { &hf_x420_g3facsimile_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "G3FacsimileParameters", HFILL }}, - { &hf_x420_g3facsimile_data, - { "data", "x420.data", - FT_UINT32, BASE_DEC, NULL, 0, - "G3FacsimileData", HFILL }}, - { &hf_x420_number_of_pages, - { "number-of-pages", "x420.number_of_pages", - FT_INT32, BASE_DEC, NULL, 0, - "INTEGER", HFILL }}, - { &hf_x420_g3facsimile_non_basic_parameters, - { "non-basic-parameters", "x420.non_basic_parameters", - FT_BYTES, BASE_NONE, NULL, 0, - "G3FacsimileNonBasicParameters", HFILL }}, - { &hf_x420_G3FacsimileData_item, - { "G3FacsimileData item", "x420.G3FacsimileData_item", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x420_G4Class1BodyPart_item, - { "Interchange-Data-Element", "x420.Interchange_Data_Element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_MixedModeBodyPart_item, - { "Interchange-Data-Element", "x420.Interchange_Data_Element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_teletex_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "TeletexParameters", HFILL }}, - { &hf_x420_teletex_data, - { "data", "x420.data", - FT_UINT32, BASE_DEC, NULL, 0, - "TeletexData", HFILL }}, - { &hf_x420_telex_compatible, - { "telex-compatible", "x420.telex_compatible", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, - { &hf_x420_teletex_non_basic_parameters, - { "non-basic-parameters", "x420.non_basic_parameters", - FT_NONE, BASE_NONE, NULL, 0, - "TeletexNonBasicParameters", HFILL }}, - { &hf_x420_TeletexData_item, - { "TeletexData item", "x420.TeletexData_item", - FT_STRING, BASE_NONE, NULL, 0, - "TeletexString", HFILL }}, - { &hf_x420_videotex_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "VideotexParameters", HFILL }}, - { &hf_x420_videotex_data, - { "data", "x420.data", - FT_STRING, BASE_NONE, NULL, 0, - "VideotexData", HFILL }}, - { &hf_x420_syntax, - { "syntax", "x420.syntax", - FT_INT32, BASE_DEC, VALS(x420_VideotexSyntax_vals), 0, - "VideotexSyntax", HFILL }}, - { &hf_x420_encrypted_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "EncryptedParameters", HFILL }}, - { &hf_x420_encrypted_data, - { "data", "x420.data", - FT_BYTES, BASE_NONE, NULL, 0, - "EncryptedData", HFILL }}, - { &hf_x420_algorithm_identifier, - { "algorithm-identifier", "x420.algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "AlgorithmIdentifier", HFILL }}, - { &hf_x420_originator_certificates, - { "originator-certificates", "x420.originator_certificates", - FT_UINT32, BASE_DEC, NULL, 0, - "ExtendedCertificates", HFILL }}, - { &hf_x420_message_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "MessageParameters", HFILL }}, - { &hf_x420_message_data, - { "data", "x420.data", - FT_NONE, BASE_NONE, NULL, 0, - "MessageData", HFILL }}, - { &hf_x420_delivery_time, - { "delivery-time", "x420.delivery_time", - FT_STRING, BASE_NONE, NULL, 0, - "MessageDeliveryTime", HFILL }}, - { &hf_x420_delivery_envelope, - { "delivery-envelope", "x420.delivery_envelope", - FT_NONE, BASE_NONE, NULL, 0, - "OtherMessageDeliveryFields", HFILL }}, - { &hf_x420_subject_ipm, - { "subject-ipm", "x420.subject_ipm", - FT_NONE, BASE_NONE, NULL, 0, - "SubjectIPMField", HFILL }}, - { &hf_x420_ipn_originator, - { "ipn-originator", "x420.ipn_originator", - FT_NONE, BASE_NONE, NULL, 0, - "IPNOriginatorField", HFILL }}, - { &hf_x420_ipm_intended_recipient, - { "ipm-intended-recipient", "x420.ipm_intended_recipient", - FT_NONE, BASE_NONE, NULL, 0, - "IPMIntendedRecipientField", HFILL }}, - { &hf_x420_conversion_eits, - { "conversion-eits", "x420.conversion_eits", - FT_NONE, BASE_NONE, NULL, 0, - "ConversionEITsField", HFILL }}, - { &hf_x420_notification_extensions, - { "notification-extensions", "x420.notification_extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "NotificationExtensionsField", HFILL }}, - { &hf_x420_non_receipt_reason, - { "non-receipt-reason", "x420.non_receipt_reason", - FT_UINT32, BASE_DEC, VALS(x420_NonReceiptReasonField_vals), 0, - "NonReceiptReasonField", HFILL }}, - { &hf_x420_discard_reason, - { "discard-reason", "x420.discard_reason", - FT_UINT32, BASE_DEC, VALS(x420_DiscardReasonField_vals), 0, - "DiscardReasonField", HFILL }}, - { &hf_x420_auto_forward_comment, - { "auto-forward-comment", "x420.auto_forward_comment", - FT_STRING, BASE_NONE, NULL, 0, - "AutoForwardCommentField", HFILL }}, - { &hf_x420_returned_ipm, - { "returned-ipm", "x420.returned_ipm", - FT_NONE, BASE_NONE, NULL, 0, - "ReturnedIPMField", HFILL }}, - { &hf_x420_nrn_extensions, - { "nrn-extensions", "x420.nrn_extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "NRNExtensionsField", HFILL }}, - { &hf_x420_receipt_time, - { "receipt-time", "x420.receipt_time", - FT_STRING, BASE_NONE, NULL, 0, - "ReceiptTimeField", HFILL }}, - { &hf_x420_acknowledgment_mode, - { "acknowledgment-mode", "x420.acknowledgment_mode", - FT_UINT32, BASE_DEC, VALS(x420_AcknowledgmentModeField_vals), 0, - "AcknowledgmentModeField", HFILL }}, - { &hf_x420_suppl_receipt_info, - { "suppl-receipt-info", "x420.suppl_receipt_info", - FT_STRING, BASE_NONE, NULL, 0, - "SupplReceiptInfoField", HFILL }}, - { &hf_x420_rn_extensions, - { "rn-extensions", "x420.rn_extensions", - FT_UINT32, BASE_DEC, NULL, 0, - "RNExtensionsField", HFILL }}, - { &hf_x420_NotificationExtensionsField_item, - { "IPMSExtension", "x420.IPMSExtension", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_NRNExtensionsField_item, - { "IPMSExtension", "x420.IPMSExtension", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_RNExtensionsField_item, - { "IPMSExtension", "x420.IPMSExtension", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_OtherNotificationTypeFields_item, - { "IPMSExtension", "x420.IPMSExtension", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_advice, - { "advice", "x420.advice", - FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0, - "BodyPart", HFILL }}, - { &hf_x420_next_available, - { "next-available", "x420.next_available", - FT_STRING, BASE_NONE, NULL, 0, - "Time", HFILL }}, - { &hf_x420_new_address, - { "new-address", "x420.new_address", - FT_NONE, BASE_NONE, NULL, 0, - "ORDescriptor", HFILL }}, - { &hf_x420_effective_from, - { "effective-from", "x420.effective_from", - FT_STRING, BASE_NONE, NULL, 0, - "Time", HFILL }}, - { &hf_x420_assembly_instructions, - { "assembly-instructions", "x420.assembly_instructions", - FT_UINT32, BASE_DEC, NULL, 0, - "BodyPartReferences", HFILL }}, - { &hf_x420_BodyPartReferences_item, - { "BodyPartReference", "x420.BodyPartReference", - FT_UINT32, BASE_DEC, VALS(x420_BodyPartReference_vals), 0, - NULL, HFILL }}, - { &hf_x420_stored_entry, - { "stored-entry", "x420.stored_entry", - FT_UINT32, BASE_DEC, NULL, 0, - "SequenceNumber", HFILL }}, - { &hf_x420_stored_content, - { "stored-content", "x420.stored_content", - FT_UINT32, BASE_DEC, NULL, 0, - "SequenceNumber", HFILL }}, - { &hf_x420_submitted_body_part, - { "submitted-body-part", "x420.submitted_body_part", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_1_MAX", HFILL }}, - { &hf_x420_stored_body_part, - { "stored-body-part", "x420.stored_body_part", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_message_entry, - { "message-entry", "x420.message_entry", - FT_UINT32, BASE_DEC, NULL, 0, - "SequenceNumber", HFILL }}, - { &hf_x420_body_part_number, - { "body-part-number", "x420.body_part_number", - FT_UINT32, BASE_DEC, NULL, 0, - "BodyPartNumber", HFILL }}, - { &hf_x420_Languages_item, - { "Language", "x420.Language", - FT_STRING, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_BodyPartSignatures_item, - { "BodyPartSignatures item", "x420.BodyPartSignatures_item", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_body_part_signature, - { "body-part-signature", "x420.body_part_signature", - FT_NONE, BASE_NONE, NULL, 0, - "BodyPartSignature", HFILL }}, - { &hf_x420_originator_certificate_selector, - { "originator-certificate-selector", "x420.originator_certificate_selector", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x420_algorithmIdentifier, - { "algorithmIdentifier", "x420.algorithmIdentifier", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_encrypted, - { "encrypted", "x420.encrypted", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x420_content_security_label, - { "content-security-label", "x420.content_security_label", - FT_NONE, BASE_NONE, NULL, 0, - "SecurityLabel", HFILL }}, - { &hf_x420_heading_security_label, - { "heading-security-label", "x420.heading_security_label", - FT_NONE, BASE_NONE, NULL, 0, - "SecurityLabel", HFILL }}, - { &hf_x420_body_part_security_labels, - { "body-part-security-labels", "x420.body_part_security_labels", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_OF_BodyPartSecurityLabel", HFILL }}, - { &hf_x420_body_part_security_labels_item, - { "BodyPartSecurityLabel", "x420.BodyPartSecurityLabel", - FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0, - NULL, HFILL }}, - { &hf_x420_body_part_unlabelled, - { "body-part-unlabelled", "x420.body_part_unlabelled", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_body_part_security_label, - { "body-part-security-label", "x420.body_part_security_label", - FT_NONE, BASE_NONE, NULL, 0, - "SecurityLabel", HFILL }}, - { &hf_x420_CirculationList_item, - { "CirculationMember", "x420.CirculationMember", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_circulation_recipient, - { "circulation-recipient", "x420.circulation_recipient", - FT_NONE, BASE_NONE, NULL, 0, - "RecipientSpecifier", HFILL }}, - { &hf_x420_checked, - { "checked", "x420.checked", - FT_UINT32, BASE_DEC, VALS(x420_Checkmark_vals), 0, - "Checkmark", HFILL }}, - { &hf_x420_simple, - { "simple", "x420.simple", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_timestamped, - { "timestamped", "x420.timestamped", - FT_STRING, BASE_NONE, NULL, 0, - "CirculationTime", HFILL }}, - { &hf_x420_signed, - { "signed", "x420.signed", - FT_NONE, BASE_NONE, NULL, 0, - "CirculationSignature", HFILL }}, - { &hf_x420_circulation_signature_algorithm_identifier, - { "algorithm-identifier", "x420.algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "CirculationSignatureAlgorithmIdentifier", HFILL }}, - { &hf_x420_timestamp, - { "timestamp", "x420.timestamp", - FT_STRING, BASE_NONE, NULL, 0, - "CirculationTime", HFILL }}, - { &hf_x420_circulation_signature_data, - { "circulation-signature-data", "x420.circulation_signature_data", - FT_NONE, BASE_NONE, NULL, 0, - "CirculationSignatureData", HFILL }}, - { &hf_x420_DistributionCodes_item, - { "DistributionCode", "x420.DistributionCode", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_oid_code, - { "oid-code", "x420.oid_code", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_alphanumeric_code, - { "alphanumeric-code", "x420.alphanumeric_code", - FT_NONE, BASE_NONE, NULL, 0, - "AlphaCode", HFILL }}, - { &hf_x420_or_descriptor, - { "or-descriptor", "x420.or_descriptor", - FT_NONE, BASE_NONE, NULL, 0, - "ORDescriptor", HFILL }}, - { &hf_x420_InformationCategories_item, - { "InformationCategory", "x420.InformationCategory", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_reference, - { "reference", "x420.reference", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_description, - { "description", "x420.description", - FT_NONE, BASE_NONE, NULL, 0, - "DescriptionString", HFILL }}, - { &hf_x420_ManualHandlingInstructions_item, - { "ManualHandlingInstruction", "x420.ManualHandlingInstruction", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_GeneralTextParameters_item, - { "CharacterSetRegistration", "x420.CharacterSetRegistration", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_related_stored_file, - { "related-stored-file", "x420.related_stored_file", - FT_UINT32, BASE_DEC, NULL, 0, - "RelatedStoredFile", HFILL }}, - { &hf_x420_contents_type, - { "contents-type", "x420.contents_type", - FT_UINT32, BASE_DEC, VALS(x420_Contents_Type_Attribute_vals), 0, - "ContentsTypeParameter", HFILL }}, - { &hf_x420_environment, - { "environment", "x420.environment", - FT_NONE, BASE_NONE, NULL, 0, - "EnvironmentParameter", HFILL }}, - { &hf_x420_compression, - { "compression", "x420.compression", - FT_NONE, BASE_NONE, NULL, 0, - "CompressionParameter", HFILL }}, - { &hf_x420_file_attributes, - { "file-attributes", "x420.file_attributes", - FT_NONE, BASE_NONE, NULL, 0, - "FileAttributes", HFILL }}, - { &hf_x420_FileTransferData_item, - { "FileTransferData item", "x420.FileTransferData_item", - FT_NONE, BASE_NONE, NULL, 0, - "EXTERNAL", HFILL }}, - { &hf_x420_RelatedStoredFile_item, - { "RelatedStoredFile item", "x420.RelatedStoredFile_item", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_file_identifier, - { "file-identifier", "x420.file_identifier", - FT_UINT32, BASE_DEC, VALS(x420_FileIdentifier_vals), 0, - "FileIdentifier", HFILL }}, - { &hf_x420_relationship, - { "relationship", "x420.relationship", - FT_UINT32, BASE_DEC, VALS(x420_Relationship_vals), 0, - NULL, HFILL }}, - { &hf_x420_pathname_and_version, - { "pathname-and-version", "x420.pathname_and_version", - FT_NONE, BASE_NONE, NULL, 0, - "PathnameandVersion", HFILL }}, - { &hf_x420_cross_reference, - { "cross-reference", "x420.cross_reference", - FT_NONE, BASE_NONE, NULL, 0, - "CrossReference", HFILL }}, - { &hf_x420_pathname, - { "pathname", "x420.pathname", - FT_UINT32, BASE_DEC, VALS(x420_Pathname_Attribute_vals), 0, - "Pathname_Attribute", HFILL }}, - { &hf_x420_file_version, - { "file-version", "x420.file_version", - FT_STRING, BASE_NONE, NULL, 0, - "GraphicString", HFILL }}, - { &hf_x420_application_cross_reference, - { "application-cross-reference", "x420.application_cross_reference", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, - { &hf_x420_message_reference, - { "message-reference", "x420.message_reference", - FT_NONE, BASE_NONE, NULL, 0, - "MessageReference", HFILL }}, - { &hf_x420_body_part_reference, - { "body-part-reference", "x420.body_part_reference", - FT_INT32, BASE_DEC, NULL, 0, - "INTEGER", HFILL }}, - { &hf_x420_user_relative_identifier_ref, - { "user-relative-identifier", "x420.user_relative_identifier", - FT_STRING, BASE_NONE, NULL, 0, - "PrintableString", HFILL }}, - { &hf_x420_explicit_relationship, - { "explicit-relationship", "x420.explicit_relationship", - FT_INT32, BASE_DEC, VALS(x420_ExplicitRelationship_vals), 0, - "ExplicitRelationship", HFILL }}, - { &hf_x420_descriptive_relationship, - { "descriptive-relationship", "x420.descriptive_relationship", - FT_STRING, BASE_NONE, NULL, 0, - "GraphicString", HFILL }}, - { &hf_x420_document_type, - { "document-type", "x420.document_type", - FT_NONE, BASE_NONE, NULL, 0, - "T_document_type", HFILL }}, - { &hf_x420_document_type_name, - { "document-type-name", "x420.document_type_name", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_parameter, - { "parameter", "x420.parameter", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_constraint_set_and_abstract_syntax, - { "constraint-set-and-abstract-syntax", "x420.constraint_set_and_abstract_syntax", - FT_NONE, BASE_NONE, NULL, 0, - "T_constraint_set_and_abstract_syntax", HFILL }}, - { &hf_x420_constraint_set_name, - { "constraint-set-name", "x420.constraint_set_name", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_abstract_syntax_name, - { "abstract-syntax-name", "x420.abstract_syntax_name", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_application_reference, - { "application-reference", "x420.application_reference", - FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0, - "GeneralIdentifier", HFILL }}, - { &hf_x420_machine, - { "machine", "x420.machine", - FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0, - "GeneralIdentifier", HFILL }}, - { &hf_x420_operating_system, - { "operating-system", "x420.operating_system", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_user_visible_string, - { "user-visible-string", "x420.user_visible_string", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_user_visible_string_item, - { "user-visible-string item", "x420.user_visible_string_item", - FT_STRING, BASE_NONE, NULL, 0, - "GraphicString", HFILL }}, - { &hf_x420_registered_identifier, - { "registered-identifier", "x420.registered_identifier", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_descriptive_identifier, - { "descriptive-identifier", "x420.descriptive_identifier", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_descriptive_identifier_item, - { "descriptive-identifier item", "x420.descriptive_identifier_item", - FT_STRING, BASE_NONE, NULL, 0, - "GraphicString", HFILL }}, - { &hf_x420_compression_algorithm_id, - { "compression-algorithm-id", "x420.compression_algorithm_id", - FT_OID, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_compression_algorithm_param, - { "compression-algorithm-param", "x420.compression_algorithm_param", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_permitted_actions, - { "permitted-actions", "x420.permitted_actions", - FT_BYTES, BASE_NONE, NULL, 0, - "Permitted_Actions_Attribute", HFILL }}, - { &hf_x420_storage_account, - { "storage-account", "x420.storage_account", - FT_UINT32, BASE_DEC, VALS(x420_Account_Attribute_vals), 0, - "Account_Attribute", HFILL }}, - { &hf_x420_date_and_time_of_creation, - { "date-and-time-of-creation", "x420.date_and_time_of_creation", - FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, - "Date_and_Time_Attribute", HFILL }}, - { &hf_x420_date_and_time_of_last_modification, - { "date-and-time-of-last-modification", "x420.date_and_time_of_last_modification", - FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, - "Date_and_Time_Attribute", HFILL }}, - { &hf_x420_date_and_time_of_last_read_access, - { "date-and-time-of-last-read-access", "x420.date_and_time_of_last_read_access", - FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, - "Date_and_Time_Attribute", HFILL }}, - { &hf_x420_date_and_time_of_last_attribute_modification, - { "date-and-time-of-last-attribute-modification", "x420.date_and_time_of_last_attribute_modification", - FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0, - "Date_and_Time_Attribute", HFILL }}, - { &hf_x420_identity_of_creator, - { "identity-of-creator", "x420.identity_of_creator", - FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0, - "User_Identity_Attribute", HFILL }}, - { &hf_x420_identity_of_last_modifier, - { "identity-of-last-modifier", "x420.identity_of_last_modifier", - FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0, - "User_Identity_Attribute", HFILL }}, - { &hf_x420_identity_of_last_reader, - { "identity-of-last-reader", "x420.identity_of_last_reader", - FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0, - "User_Identity_Attribute", HFILL }}, - { &hf_x420_identity_of_last_attribute_modifier, - { "identity-of-last-attribute-modifier", "x420.identity_of_last_attribute_modifier", - FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0, - "User_Identity_Attribute", HFILL }}, - { &hf_x420_object_availability, - { "object-availability", "x420.object_availability", - FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0, - "Object_Availability_Attribute", HFILL }}, - { &hf_x420_object_size, - { "object-size", "x420.object_size", - FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0, - "Object_Size_Attribute", HFILL }}, - { &hf_x420_future_object_size, - { "future-object-size", "x420.future_object_size", - FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0, - "Object_Size_Attribute", HFILL }}, - { &hf_x420_access_control, - { "access-control", "x420.access_control", - FT_UINT32, BASE_DEC, VALS(x420_Access_Control_Attribute_vals), 0, - "Access_Control_Attribute", HFILL }}, - { &hf_x420_legal_qualifications, - { "legal-qualifications", "x420.legal_qualifications", - FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0, - "Legal_Qualification_Attribute", HFILL }}, - { &hf_x420_private_use, - { "private-use", "x420.private_use", - FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0, - "Private_Use_Attribute", HFILL }}, - { &hf_x420_attribute_extensions, - { "attribute-extensions", "x420.attribute_extensions", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_incomplete_pathname, - { "incomplete-pathname", "x420.incomplete_pathname", - FT_UINT32, BASE_DEC, NULL, 0, - "Pathname", HFILL }}, - { &hf_x420_complete_pathname, - { "complete-pathname", "x420.complete_pathname", - FT_UINT32, BASE_DEC, NULL, 0, - "Pathname", HFILL }}, - { &hf_x420_no_value_available, - { "no-value-available", "x420.no_value_available", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_account_actual_values, - { "actual-values", "x420.actual_values", - FT_STRING, BASE_NONE, NULL, 0, - "Account", HFILL }}, - { &hf_x420_identity_actual_values, - { "actual-values", "x420.actual_values", - FT_STRING, BASE_NONE, NULL, 0, - "User_Identity", HFILL }}, - { &hf_x420_actual_values, - { "actual-values", "x420.actual_values", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_OF_Access_Control_Element", HFILL }}, - { &hf_x420_actual_values_item, - { "Access-Control-Element", "x420.Access_Control_Element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_action_list, - { "action-list", "x420.action_list", - FT_BYTES, BASE_NONE, NULL, 0, - "Access_Request", HFILL }}, - { &hf_x420_concurrency_access, - { "concurrency-access", "x420.concurrency_access", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_identity, - { "identity", "x420.identity", - FT_STRING, BASE_NONE, NULL, 0, - "User_Identity", HFILL }}, - { &hf_x420_passwords, - { "passwords", "x420.passwords", - FT_NONE, BASE_NONE, NULL, 0, - "Access_Passwords", HFILL }}, - { &hf_x420_location, - { "location", "x420.location", - FT_NONE, BASE_NONE, NULL, 0, - "Application_Entity_Title", HFILL }}, - { &hf_x420_read_password, - { "read-password", "x420.read_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_insert_password, - { "insert-password", "x420.insert_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_replace_password, - { "replace-password", "x420.replace_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_extend_password, - { "extend-password", "x420.extend_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_erase_password, - { "erase-password", "x420.erase_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_read_attribute_password, - { "read-attribute-password", "x420.read_attribute_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_change_attribute_password, - { "change-attribute-password", "x420.change_attribute_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_delete_password, - { "delete-password", "x420.delete_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_pass_passwords, - { "pass-passwords", "x420.pass_passwords", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_link_password, - { "link-password", "x420.link_password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - "Password", HFILL }}, - { &hf_x420_graphic_string, - { "graphic-string", "x420.graphic_string", - FT_STRING, BASE_NONE, NULL, 0, - "GraphicString", HFILL }}, - { &hf_x420_octet_string, - { "octet-string", "x420.octet_string", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_Pass_Passwords_item, - { "Password", "x420.Password", - FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0, - NULL, HFILL }}, - { &hf_x420_ap_title, - { "ap-title", "x420.ap_title", - FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0, - NULL, HFILL }}, - { &hf_x420_ae_qualifier, - { "ae-qualifier", "x420.ae_qualifier", - FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0, - NULL, HFILL }}, - { &hf_x420_voice_message_duration, - { "voice-message-duration", "x420.voice_message_duration", - FT_INT32, BASE_DEC, NULL, 0, - "INTEGER", HFILL }}, - { &hf_x420_voice_encoding_type, - { "voice-encoding-type", "x420.voice_encoding_type", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_supplementary_information, - { "supplementary-information", "x420.supplementary_information", - FT_STRING, BASE_NONE, NULL, 0, - "IA5String", HFILL }}, - { &hf_x420_mts_identifier, - { "mts-identifier", "x420.mts_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "MessageDeliveryIdentifier", HFILL }}, - { &hf_x420_submission_proof, - { "submission-proof", "x420.submission_proof", - FT_NONE, BASE_NONE, NULL, 0, - "SubmissionProof", HFILL }}, - { &hf_x420_proof_of_submission, - { "proof-of-submission", "x420.proof_of_submission", - FT_NONE, BASE_NONE, NULL, 0, - "ProofOfSubmission", HFILL }}, - { &hf_x420_originating_MTA_certificate, - { "originating-MTA-certificate", "x420.originating_MTA_certificate", - FT_NONE, BASE_NONE, NULL, 0, - "OriginatingMTACertificate", HFILL }}, - { &hf_x420_message_submission_envelope, - { "message-submission-envelope", "x420.message_submission_envelope", - FT_NONE, BASE_NONE, NULL, 0, - "MessageSubmissionEnvelope", HFILL }}, - { &hf_x420_IPMSynopsis_item, - { "BodyPartSynopsis", "x420.BodyPartSynopsis", - FT_UINT32, BASE_DEC, VALS(x420_BodyPartSynopsis_vals), 0, - NULL, HFILL }}, - { &hf_x420_message_synopsis, - { "message", "x420.message", - FT_NONE, BASE_NONE, NULL, 0, - "MessageBodyPartSynopsis", HFILL }}, - { &hf_x420_non_message, - { "non-message", "x420.non_message", - FT_NONE, BASE_NONE, NULL, 0, - "NonMessageBodyPartSynopsis", HFILL }}, - { &hf_x420_number, - { "number", "x420.number", - FT_UINT32, BASE_DEC, NULL, 0, - "SequenceNumber", HFILL }}, - { &hf_x420_synopsis, - { "synopsis", "x420.synopsis", - FT_UINT32, BASE_DEC, NULL, 0, - "IPMSynopsis", HFILL }}, - { &hf_x420_bp_type, - { "type", "x420.type", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_bp_parameters, - { "parameters", "x420.parameters", - FT_NONE, BASE_NONE, NULL, 0, - "INSTANCE_OF", HFILL }}, - { &hf_x420_size, - { "size", "x420.size", - FT_INT32, BASE_DEC, NULL, 0, - "INTEGER", HFILL }}, - { &hf_x420_processed, - { "processed", "x420.processed", - FT_BOOLEAN, BASE_NONE, NULL, 0, - "BOOLEAN", HFILL }}, - { &hf_x420_data, - { "data", "x420.data", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_parameters, - { "parameters", "x420.parameters", - FT_OID, BASE_NONE, NULL, 0, - "OBJECT_IDENTIFIER", HFILL }}, - { &hf_x420_this_child_entry, - { "this-child-entry", "x420.this_child_entry", - FT_UINT32, BASE_DEC, NULL, 0, - "SequenceNumber", HFILL }}, - { &hf_x420_position, - { "position", "x420.position", - FT_INT32, BASE_DEC, NULL, 0, - "INTEGER", HFILL }}, - { &hf_x420_BodyPartSignatureVerification_item, - { "BodyPartSignatureVerification item", "x420.BodyPartSignatureVerification_item", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_body_part_sequence_number, - { "body-part-sequence-number", "x420.body_part_sequence_number", - FT_UINT32, BASE_DEC, NULL, 0, - "BodyPartNumber", HFILL }}, - { &hf_x420_body_part_signature_status, - { "body-part-signature", "x420.body_part_signature", - FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0, - "SignatureStatus", HFILL }}, - { &hf_x420_stored, - { "stored", "x420.stored", - FT_UINT32, BASE_DEC, NULL, 0, - "SET_OF_SequenceNumber", HFILL }}, - { &hf_x420_stored_item, - { "SequenceNumber", "x420.SequenceNumber", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_absent, - { "absent", "x420.absent", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_no_reply_received, - { "no-reply-received", "x420.no_reply_received", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_received_replies, - { "received-replies", "x420.received_replies", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_OF_SequenceNumber", HFILL }}, - { &hf_x420_received_replies_item, - { "SequenceNumber", "x420.SequenceNumber", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_no_ipn_received, - { "no-ipn-received", "x420.no_ipn_received", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_ipns_received, - { "ipns-received", "x420.ipns_received", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_OF_SequenceNumber", HFILL }}, - { &hf_x420_ipns_received_item, - { "SequenceNumber", "x420.SequenceNumber", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_x420_content_or_arguments, - { "content-or-arguments", "x420.content_or_arguments", - FT_UINT32, BASE_DEC, VALS(x420_T_content_or_arguments_vals), 0, - "T_content_or_arguments", HFILL }}, - { &hf_x420_original_content, - { "original-content", "x420.original_content", - FT_BYTES, BASE_NONE, NULL, 0, - "OriginalContent", HFILL }}, - { &hf_x420_original_security_arguments, - { "original-security-arguments", "x420.original_security_arguments", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_original_content_integrity_check, - { "original-content-integrity-check", "x420.original_content_integrity_check", - FT_NONE, BASE_NONE, NULL, 0, - "OriginalContentIntegrityCheck", HFILL }}, - { &hf_x420_original_message_origin_authentication_check, - { "original-message-origin-authentication-check", "x420.original_message_origin_authentication_check", - FT_NONE, BASE_NONE, NULL, 0, - "OriginalMessageOriginAuthenticationCheck", HFILL }}, - { &hf_x420_original_message_token, - { "original-message-token", "x420.original_message_token", - FT_NONE, BASE_NONE, NULL, 0, - "OriginalMessageToken", HFILL }}, - { &hf_x420_security_diagnostic_code, - { "security-diagnostic-code", "x420.security_diagnostic_code", - FT_INT32, BASE_DEC, VALS(x420_SecurityDiagnosticCode_vals), 0, - "SecurityDiagnosticCode", HFILL }}, - { &hf_x420_BodyPartTokens_item, - { "BodyPartTokens item", "x420.BodyPartTokens_item", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_body_part_choice, - { "body-part-choice", "x420.body_part_choice", - FT_UINT32, BASE_DEC, VALS(x420_T_body_part_choice_vals), 0, - "T_body_part_choice", HFILL }}, - { &hf_x420_encryption_token, - { "encryption-token", "x420.encryption_token", - FT_NONE, BASE_NONE, NULL, 0, - "EncryptionToken", HFILL }}, - { &hf_x420_message_or_content_body_part, - { "message-or-content-body-part", "x420.message_or_content_body_part", - FT_UINT32, BASE_DEC, NULL, 0, - "BodyPartTokens", HFILL }}, - { &hf_x420_encryption_algorithm_identifier, - { "encryption-algorithm-identifier", "x420.encryption_algorithm_identifier", - FT_NONE, BASE_NONE, NULL, 0, - "AlgorithmIdentifier", HFILL }}, - { &hf_x420_encrypted_key, - { "encrypted-key", "x420.encrypted_key", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING", HFILL }}, - { &hf_x420_recipient_certificate_selector, - { "recipient-certificate-selector", "x420.recipient_certificate_selector", - FT_NONE, BASE_NONE, NULL, 0, - "CertificateAssertion", HFILL }}, - { &hf_x420_recipient_certificate, - { "recipient-certificate", "x420.recipient_certificate", - FT_NONE, BASE_NONE, NULL, 0, - "Certificates", HFILL }}, - { &hf_x420_ForwardedContentToken_item, - { "ForwardedContentToken item", "x420.ForwardedContentToken_item", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_x420_body_part_token_choice, - { "body-part-choice", "x420.body_part_choice", - FT_UINT32, BASE_DEC, VALS(x420_T_body_part_token_choice_vals), 0, - "T_body_part_token_choice", HFILL }}, - { &hf_x420_forwarding_token, - { "forwarding-token", "x420.forwarding_token", - FT_NONE, BASE_NONE, NULL, 0, - "MessageToken", HFILL }}, - { &hf_x420_forwarded_content_token, - { "message-or-content-body-part", "x420.message_or_content_body_part", - FT_UINT32, BASE_DEC, NULL, 0, - "ForwardedContentToken", HFILL }}, - { &hf_x420_choice, - { "choice", "x420.choice", - FT_UINT32, BASE_DEC, VALS(x420_T_choice_vals), 0, - NULL, HFILL }}, - { &hf_x420_non_receipt_fields, - { "non-receipt-fields", "x420.non_receipt_fields", - FT_NONE, BASE_NONE, NULL, 0, - "NonReceiptFields", HFILL }}, - { &hf_x420_receipt_fields, - { "receipt-fields", "x420.receipt_fields", - FT_NONE, BASE_NONE, NULL, 0, - "ReceiptFields", HFILL }}, - { &hf_x420_other_notification_type_fields, - { "other-notification-type-fields", "x420.other_notification_type_fields", - FT_UINT32, BASE_DEC, NULL, 0, - "OtherNotificationTypeFields", HFILL }}, - { &hf_x420_NotificationRequests_rn, - { "rn", "x420.rn", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x420_NotificationRequests_nrn, - { "nrn", "x420.nrn", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x420_NotificationRequests_ipm_return, - { "ipm-return", "x420.ipm-return", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x420_NotificationRequests_an_supported, - { "an-supported", "x420.an-supported", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x420_NotificationRequests_suppress_an, - { "suppress-an", "x420.suppress-an", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x420_Access_Request_read, - { "read", "x420.read", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x420_Access_Request_insert, - { "insert", "x420.insert", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x420_Access_Request_replace, - { "replace", "x420.replace", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x420_Access_Request_extend, - { "extend", "x420.extend", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - { &hf_x420_Access_Request_erase, - { "erase", "x420.erase", - FT_BOOLEAN, 8, NULL, 0x08, - NULL, HFILL }}, - { &hf_x420_Access_Request_read_attribute, - { "read-attribute", "x420.read-attribute", - FT_BOOLEAN, 8, NULL, 0x04, - NULL, HFILL }}, - { &hf_x420_Access_Request_change_attribute, - { "change-attribute", "x420.change-attribute", - FT_BOOLEAN, 8, NULL, 0x02, - NULL, HFILL }}, - { &hf_x420_Access_Request_delete_object, - { "delete-object", "x420.delete-object", - FT_BOOLEAN, 8, NULL, 0x01, - NULL, HFILL }}, - { &hf_x420_RecipientSecurityRequest_content_non_repudiation, - { "content-non-repudiation", "x420.content-non-repudiation", - FT_BOOLEAN, 8, NULL, 0x80, - NULL, HFILL }}, - { &hf_x420_RecipientSecurityRequest_content_proof, - { "content-proof", "x420.content-proof", - FT_BOOLEAN, 8, NULL, 0x40, - NULL, HFILL }}, - { &hf_x420_RecipientSecurityRequest_ipn_non_repudiation, - { "ipn-non-repudiation", "x420.ipn-non-repudiation", - FT_BOOLEAN, 8, NULL, 0x20, - NULL, HFILL }}, - { &hf_x420_RecipientSecurityRequest_ipn_proof, - { "ipn-proof", "x420.ipn-proof", - FT_BOOLEAN, 8, NULL, 0x10, - NULL, HFILL }}, - -/*--- End of included file: packet-x420-hfarr.c ---*/ -#line 126 "packet-x420-template.c" - }; - - /* List of subtrees */ - static gint *ett[] = { - &ett_x420, - -/*--- Included file: packet-x420-ettarr.c ---*/ -#line 1 "packet-x420-ettarr.c" - &ett_x420_InformationObject, - &ett_x420_IPM, - &ett_x420_IPMSExtension, - &ett_x420_Heading, - &ett_x420_IPMIdentifier_U, - &ett_x420_RecipientSpecifier, - &ett_x420_ORDescriptor, - &ett_x420_NotificationRequests, - &ett_x420_RecipientExtensionsField, - &ett_x420_AuthorizingUsersField, - &ett_x420_PrimaryRecipientsField, - &ett_x420_CopyRecipientsField, - &ett_x420_BlindCopyRecipientsField, - &ett_x420_ObsoletedIPMsField, - &ett_x420_RelatedIPMsField, - &ett_x420_ReplyRecipientsField, - &ett_x420_ExtensionsField, - &ett_x420_Body, - &ett_x420_BodyPart, - &ett_x420_T_basic, - &ett_x420_ExtendedBodyPart, - &ett_x420_IA5TextBodyPart, - &ett_x420_IA5TextParameters, - &ett_x420_G3FacsimileBodyPart, - &ett_x420_G3FacsimileParameters, - &ett_x420_G3FacsimileData, - &ett_x420_G4Class1BodyPart, - &ett_x420_MixedModeBodyPart, - &ett_x420_TeletexBodyPart, - &ett_x420_TeletexParameters, - &ett_x420_TeletexData, - &ett_x420_VideotexBodyPart, - &ett_x420_VideotexParameters, - &ett_x420_EncryptedBodyPart, - &ett_x420_EncryptedParameters, - &ett_x420_MessageBodyPart, - &ett_x420_MessageParameters, - &ett_x420_IPN, - &ett_x420_CommonFields, - &ett_x420_NonReceiptFields, - &ett_x420_ReceiptFields, - &ett_x420_NotificationExtensionsField, - &ett_x420_NRNExtensionsField, - &ett_x420_RNExtensionsField, - &ett_x420_OtherNotificationTypeFields, - &ett_x420_AbsenceAdvice, - &ett_x420_ChangeOfAddressAdvice, - &ett_x420_IPMAssemblyInstructions, - &ett_x420_BodyPartReferences, - &ett_x420_BodyPartReference, - &ett_x420_T_stored_body_part, - &ett_x420_Languages, - &ett_x420_BodyPartSignatures, - &ett_x420_BodyPartSignatures_item, - &ett_x420_Signature, - &ett_x420_IPMSecurityLabel, - &ett_x420_SEQUENCE_OF_BodyPartSecurityLabel, - &ett_x420_BodyPartSecurityLabel, - &ett_x420_CirculationList, - &ett_x420_CirculationMember, - &ett_x420_Checkmark, - &ett_x420_CirculationSignatureData, - &ett_x420_CirculationSignature, - &ett_x420_DistributionCodes, - &ett_x420_DistributionCode, - &ett_x420_InformationCategories, - &ett_x420_InformationCategory, - &ett_x420_ManualHandlingInstructions, - &ett_x420_GeneralTextParameters, - &ett_x420_FileTransferParameters, - &ett_x420_FileTransferData, - &ett_x420_RelatedStoredFile, - &ett_x420_RelatedStoredFile_item, - &ett_x420_FileIdentifier, - &ett_x420_PathnameandVersion, - &ett_x420_CrossReference, - &ett_x420_MessageReference, - &ett_x420_Relationship, - &ett_x420_Contents_Type_Attribute, - &ett_x420_T_document_type, - &ett_x420_T_constraint_set_and_abstract_syntax, - &ett_x420_EnvironmentParameter, - &ett_x420_T_user_visible_string, - &ett_x420_GeneralIdentifier, - &ett_x420_T_descriptive_identifier, - &ett_x420_CompressionParameter, - &ett_x420_FileAttributes, - &ett_x420_Pathname_Attribute, - &ett_x420_Account_Attribute, - &ett_x420_User_Identity_Attribute, - &ett_x420_Access_Control_Attribute, - &ett_x420_SET_OF_Access_Control_Element, - &ett_x420_Access_Control_Element, - &ett_x420_Access_Request, - &ett_x420_Access_Passwords, - &ett_x420_Password, - &ett_x420_Pass_Passwords, - &ett_x420_Application_Entity_Title, - &ett_x420_VoiceParameters, - &ett_x420_ForwardedContentParameters, - &ett_x420_SubmissionProof, - &ett_x420_IPMSynopsis, - &ett_x420_BodyPartSynopsis, - &ett_x420_MessageBodyPartSynopsis, - &ett_x420_NonMessageBodyPartSynopsis, - &ett_x420_BodyPartDescriptor, - &ett_x420_BodyPartSignatureVerification, - &ett_x420_BodyPartSignatureVerification_item, - &ett_x420_IPMLocation, - &ett_x420_SET_OF_SequenceNumber, - &ett_x420_CorrelatedDeliveredReplies, - &ett_x420_SEQUENCE_OF_SequenceNumber, - &ett_x420_CorrelatedDeliveredIPNs, - &ett_x420_RecipientSecurityRequest, - &ett_x420_IpnSecurityResponse, - &ett_x420_T_content_or_arguments, - &ett_x420_T_original_security_arguments, - &ett_x420_BodyPartTokens, - &ett_x420_BodyPartTokens_item, - &ett_x420_T_body_part_choice, - &ett_x420_EncryptionToken, - &ett_x420_ForwardedContentToken, - &ett_x420_ForwardedContentToken_item, - &ett_x420_T_body_part_token_choice, - &ett_x420_T_choice, - -/*--- End of included file: packet-x420-ettarr.c ---*/ -#line 132 "packet-x420-template.c" - }; - - /* Register protocol */ - proto_x420 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("x420", dissect_x420, proto_x420); - /* Register fields and subtrees */ - proto_register_field_array(proto_x420, hf, array_length(hf)); - proto_register_subtree_array(ett, array_length(ett)); - -} - - -/*--- proto_reg_handoff_x420 --- */ -void proto_reg_handoff_x420(void) { - - -/*--- Included file: packet-x420-dis-tab.c ---*/ -#line 1 "packet-x420-dis-tab.c" - register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_x420, "id-on-absence-advice"); - register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_x420, "id-on-change-of-address-advice"); - register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_x420, "id-mst-assembly-instructions"); - register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_x420, "id-hex-incomplete-copy"); - register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU, proto_x420, "id-hex-languages"); - register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU, proto_x420, "id-hex-auto-submitted"); - register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU, proto_x420, "id-hex-body-part-signatures"); - register_ber_oid_dissector("2.6.1.5.4", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hex-ipm-security-label"); - register_ber_oid_dissector("2.6.1.5.5", dissect_AuthorizationTime_PDU, proto_x420, "id-hex-authorization-time"); - register_ber_oid_dissector("2.6.1.5.6", dissect_CirculationList_PDU, proto_x420, "id-hex-circulation-list-recipients"); - register_ber_oid_dissector("2.6.1.20.0", dissect_CirculationListIndicator_PDU, proto_x420, "id-rex-circulation-list-indicator"); - register_ber_oid_dissector("2.6.1.5.7", dissect_DistributionCodes_PDU, proto_x420, "id-hex-distribution-codes"); - register_ber_oid_dissector("2.6.1.5.8", dissect_ExtendedSubject_PDU, proto_x420, "id-hex-extended-subject"); - register_ber_oid_dissector("2.6.1.5.9", dissect_InformationCategories_PDU, proto_x420, "id-hex-information-categories"); - register_ber_oid_dissector("2.6.1.5.10", dissect_ManualHandlingInstructions_PDU, proto_x420, "id-hex-manual-handling-instructions"); - register_ber_oid_dissector("2.6.1.5.11", dissect_OriginatorsReference_PDU, proto_x420, "id-hex-originators-reference"); - register_ber_oid_dissector("2.6.1.5.12", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hex-precedence-policy-id"); - register_ber_oid_dissector("2.6.1.20.1", dissect_Precedence_PDU, proto_x420, "id-rex-precedence"); - register_ber_oid_dissector("2.6.1.4.0", dissect_IA5TextData_PDU, proto_x420, "id-et-ia5-text"); - register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU, proto_x420, "id-ep-ia5-text"); - register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU, proto_x420, "id-et-g3-facsimile"); - register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU, proto_x420, "id-ep-g3-facsimile"); - register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU, proto_x420, "id-et-g4-class1"); - register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU, proto_x420, "id-et-teletex"); - register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU, proto_x420, "id-ep-teletex"); - register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU, proto_x420, "id-et-videotex"); - register_ber_oid_dissector("2.6.1.11.5", dissect_VideotexParameters_PDU, proto_x420, "id-ep-videotex"); - register_ber_oid_dissector("2.6.1.4.6", dissect_EncryptedData_PDU, proto_x420, "id-et-encrypted"); - register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU, proto_x420, "id-ep-encrypted"); - register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU, proto_x420, "id-et-message"); - register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU, proto_x420, "id-ep-message"); - register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU, proto_x420, "id-et-mixed-mode"); - register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_x420, "id-et-bilaterally-defined"); - register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_x420, "id-ep-general-text"); - register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_x420, "id-et-general-text"); - register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_x420, "id-ep-file-transfer"); - register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_x420, "id-et-file-transfer"); - register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU, proto_x420, "id-ep-notification"); - register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU, proto_x420, "id-et-notification"); - register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU, proto_x420, "id-ep-voice"); - register_ber_oid_dissector("2.6.1.4.16", dissect_VoiceData_PDU, proto_x420, "id-et-voice"); - register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p22"); - register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.1", dissect_InformationObject_PDU, proto_x420, "id-et-content-p22"); - register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p2"); - register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_x420, "id-et-content-p2"); - register_ber_oid_dissector("2.6.1.11.17.1.3.26.0.4406.0.4.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p772"); - register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU, proto_x420, "id-sat-ipm-entry-type"); - register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU, proto_x420, "id-sat-ipm-synopsis"); - register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU, proto_x420, "id-sat-body-parts-summary"); - register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU, proto_x420, "id-hat-heading"); - register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU, proto_x420, "id-hat-this-ipm"); - register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU, proto_x420, "id-hat-originator"); - register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU, proto_x420, "id-hat-replied-to-IPM"); - register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU, proto_x420, "id-hat-subject"); - register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU, proto_x420, "id-hat-expiry-time"); - register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU, proto_x420, "id-hat-reply-time"); - register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU, proto_x420, "id-hat-importance"); - register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU, proto_x420, "id-hat-sensitivity"); - register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU, proto_x420, "id-hat-auto-forwarded"); - register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU, proto_x420, "id-hat-authorizing-users"); - register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU, proto_x420, "id-hat-primary-recipients"); - register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU, proto_x420, "id-hat-copy-recipients"); - register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU, proto_x420, "id-hat-blind-copy-recipients"); - register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU, proto_x420, "id-hat-obsoleted-IPMs"); - register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU, proto_x420, "id-hat-related-IPMs"); - register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU, proto_x420, "id-hat-reply-recipients"); - register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU, proto_x420, "id-hat-incomplete-copy"); - register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU, proto_x420, "id-hat-languages"); - register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU, proto_x420, "id-hat-rn-requestors"); - register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU, proto_x420, "id-hat-nrn-requestors"); - register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU, proto_x420, "id-hat-reply-requestors"); - register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU, proto_x420, "id-hat-auto-submitted"); - register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU, proto_x420, "id-hat-body-part-signatures"); - register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hat-ipm-security-label"); - register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU, proto_x420, "id-hat-body-part-security-label"); - register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU, proto_x420, "id-hat-body-part-encryption-token"); - register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU, proto_x420, "id-hat-authorization-time"); - register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU, proto_x420, "id-hat-circulation-list-recipients"); - register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU, proto_x420, "id-hat-distribution-codes"); - register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU, proto_x420, "id-hat-extended-subject"); - register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU, proto_x420, "id-hat-information-category"); - register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU, proto_x420, "id-hat-manual-handling-instructions"); - register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU, proto_x420, "id-hat-originators-reference"); - register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hat-precedence-policy-id"); - register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU, proto_x420, "id-hat-forwarded-content-token"); - register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU, proto_x420, "id-hat-precedence"); - register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU, proto_x420, "id-hat-body-part-signature-verification-status"); - register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU, proto_x420, "id-bat-body"); - register_ber_oid_dissector("2.6.1.13.0", dissect_CorrelatedDeliveredIPNs_PDU, proto_x420, "id-cat-correlated-delivered-ipns"); - register_ber_oid_dissector("2.6.1.13.1", dissect_CorrelatedDeliveredReplies_PDU, proto_x420, "id-cat-correlated-delivered-replies"); - register_ber_oid_dissector("2.6.1.13.2", dissect_DeliveredIPNStatus_PDU, proto_x420, "id-cat-delivered-ipn-summary"); - register_ber_oid_dissector("2.6.1.13.3", dissect_DeliveredReplyStatus_PDU, proto_x420, "id-cat-delivered-replies-summary"); - register_ber_oid_dissector("2.6.1.13.7", dissect_IPMLocation_PDU, proto_x420, "id-cat-obsoleted-ipms"); - register_ber_oid_dissector("2.6.1.13.14", dissect_SubmittedIPNStatus_PDU, proto_x420, "id-cat-submitted-ipn-status"); - register_ber_oid_dissector("2.6.1.13.16", dissect_SubmittedReplyStatus_PDU, proto_x420, "id-cat-submitted-reply-status"); - register_ber_oid_dissector("2.6.1.13.18", dissect_RecipientCategory_PDU, proto_x420, "id-cat-recipient-category"); - register_ber_oid_dissector("2.6.1.18.0", dissect_RecipientSecurityRequest_PDU, proto_x420, "id-sec-ipm-security-request"); - register_ber_oid_dissector("2.6.1.18.1", dissect_IpnSecurityResponse_PDU, proto_x420, "id-sec-security-common-fields"); - - -/*--- End of included file: packet-x420-dis-tab.c ---*/ -#line 148 "packet-x420-template.c" - - register_ber_oid_dissector("2.6.1.10.0", dissect_x420, proto_x420, "InterPersonal Message (1984)"); - register_ber_oid_dissector("2.6.1.10.1", dissect_x420, proto_x420, "InterPersonal Message (1988)"); - - -} diff --git a/epan/dissectors/packet-x420.h b/epan/dissectors/packet-x420.h deleted file mode 100644 index 914d9855b6..0000000000 --- a/epan/dissectors/packet-x420.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Do not modify this file. */ -/* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* packet-x420.h */ -/* ../../tools/asn2wrs.py -b -e -C -p x420 -c ./x420.cnf -s ./packet-x420-template -D . IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */ - -/* Input file: packet-x420-template.h */ - -#line 1 "packet-x420-template.h" -/* packet-x420.h - * Routines for X.420 (X.400 Message Transfer) packet dissection - * Graeme Lunt 2005 - * - * $Id$ - * - * 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 - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef PACKET_X420_H -#define PACKET_X420_H - - -/*--- Included file: packet-x420-exp.h ---*/ -#line 1 "packet-x420-exp.h" -extern const value_string x420_InformationObject_vals[]; -extern const value_string x420_NonReceiptReasonField_vals[]; -extern const value_string x420_DiscardReasonField_vals[]; -int dissect_x420_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_ORDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_ExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_MessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_IPN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_NonReceiptReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_DiscardReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_x420_ReceiptTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); - -/*--- End of included file: packet-x420-exp.h ---*/ -#line 30 "packet-x420-template.h" - -void proto_reg_handoff_x420(void); -void proto_register_x420(void); - -#endif /* PACKET_X420_H */ diff --git a/epan/dissectors/packet-x509ce.c b/epan/dissectors/packet-x509ce.c index 49a796b542..29425c0d67 100644 --- a/epan/dissectors/packet-x509ce.c +++ b/epan/dissectors/packet-x509ce.c @@ -44,7 +44,7 @@ #include "packet-x509af.h" #include "packet-x509if.h" #include "packet-x509sat.h" -#include "packet-x411.h" +#include "packet-p1.h" #define PNAME "X.509 Certificate Extensions" #define PSNAME "X509CE" @@ -455,7 +455,7 @@ static const ber_choice_t GeneralName_choice[] = { { 0, &hf_x509ce_otherName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_OtherName }, { 1, &hf_x509ce_rfc822Name , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_IA5String }, { 2, &hf_x509ce_dNSName , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x509ce_IA5String }, - { 3, &hf_x509ce_x400Address , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x411_ORAddress }, + { 3, &hf_x509ce_x400Address , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_ORAddress }, { 4, &hf_x509ce_directoryName, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x509if_Name }, { 5, &hf_x509ce_ediPartyName , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x509ce_EDIPartyName }, { 6, &hf_x509ce_uniformResourceIdentifier, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x509ce_T_uniformResourceIdentifier }, diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c index ecc04c0d2a..e9fe185ef0 100644 --- a/epan/dissectors/packet-x509sat.c +++ b/epan/dissectors/packet-x509sat.c @@ -41,7 +41,7 @@ #include <epan/asn1.h> #include "packet-ber.h" -#include "packet-x411.h" +#include "packet-p1.h" #include "packet-x509sat.h" #include "packet-x509if.h" @@ -560,7 +560,7 @@ dissect_x509sat_TelexNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static const ber_sequence_t FacsimileTelephoneNumber_sequence[] = { { &hf_x509sat_telephoneNumber, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_TelephoneNumber }, - { &hf_x509sat_parameters , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_G3FacsimileNonBasicParameters }, + { &hf_x509sat_parameters , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_G3FacsimileNonBasicParameters }, { NULL, 0, 0, 0, NULL } }; |