aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-p7.c
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2007-11-17 18:08:01 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2007-11-17 18:08:01 +0000
commit0c571bb23573801aca727dd2d49e53ccee640d0d (patch)
tree45639fcf905e52a13b80070a0a6e5bf275e05efb /epan/dissectors/packet-p7.c
parentd2545978d853f8c23ab4ca7daf10dfa0495e0f1a (diff)
Basic P7 (X.400 Message Store Access Protocol) dissection after request from the list:
http://www.wireshark.org/lists/wireshark-dev/200711/msg00228.html Only a single (private) capture file is currently available which contains only a few of the P7 operations, so testing has been minimal. General attribute types, containing information from the X.400 envelope, are also included. svn path=/trunk/; revision=23479
Diffstat (limited to 'epan/dissectors/packet-p7.c')
-rwxr-xr-xepan/dissectors/packet-p7.c5618
1 files changed, 5618 insertions, 0 deletions
diff --git a/epan/dissectors/packet-p7.c b/epan/dissectors/packet-p7.c
new file mode 100755
index 0000000000..89fc753d9e
--- /dev/null
+++ b/epan/dissectors/packet-p7.c
@@ -0,0 +1,5618 @@
+/* Do not modify this file. */
+/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
+/* packet-p7.c */
+/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn */
+
+/* Input file: packet-p7-template.c */
+
+#line 1 "packet-p7-template.c"
+/* packet-p7.c
+ * Routines for X.413 (P7) packet dissection
+ * Graeme Lunt 2007
+ *
+ * $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/conversation.h>
+#include <epan/oids.h>
+#include <epan/asn1.h>
+
+#include <stdio.h>
+#include <string.h>
+
+#include "packet-ber.h"
+#include "packet-acse.h"
+#include "packet-ros.h"
+
+#include "packet-x411.h"
+#include <epan/strutil.h>
+
+#define PNAME "X.413 Message Store Service"
+#define PSNAME "P7"
+#define PFNAME "p7"
+
+static guint global_p7_tcp_port = 102;
+static guint tcp_port = 0;
+static dissector_handle_t tpkt_handle = NULL;
+static const char *object_identifier_id = NULL; /* attribute identifier */
+static int seqno = 0;
+
+void prefs_register_p7(void); /* forwad declaration for use in preferences registration */
+
+
+/* Initialize the protocol and registered fields */
+int proto_p7 = -1;
+
+static struct SESSION_DATA_STRUCTURE* session = NULL;
+
+
+/*--- Included file: packet-p7-hf.c ---*/
+#line 1 "packet-p7-hf.c"
+static int hf_p7_AutoActionType_PDU = -1; /* AutoActionType */
+static int hf_p7_AutoActionError_PDU = -1; /* AutoActionError */
+static int hf_p7_EntryType_PDU = -1; /* EntryType */
+static int hf_p7_SequenceNumber_PDU = -1; /* SequenceNumber */
+static int hf_p7_RetrievalStatus_PDU = -1; /* RetrievalStatus */
+static int hf_p7_MessageGroupName_PDU = -1; /* MessageGroupName */
+static int hf_p7_MSBindArgument_PDU = -1; /* MSBindArgument */
+static int hf_p7_MS_EIT_PDU = -1; /* MS_EIT */
+static int hf_p7_MSBindResult_PDU = -1; /* MSBindResult */
+static int hf_p7_MSBindError_PDU = -1; /* MSBindError */
+static int hf_p7_CreationTime_PDU = -1; /* CreationTime */
+static int hf_p7_SummarizeArgument_PDU = -1; /* SummarizeArgument */
+static int hf_p7_SummarizeResult_PDU = -1; /* SummarizeResult */
+static int hf_p7_ListArgument_PDU = -1; /* ListArgument */
+static int hf_p7_ListResult_PDU = -1; /* ListResult */
+static int hf_p7_FetchArgument_PDU = -1; /* FetchArgument */
+static int hf_p7_FetchResult_PDU = -1; /* FetchResult */
+static int hf_p7_DeleteArgument_PDU = -1; /* DeleteArgument */
+static int hf_p7_DeleteResult_PDU = -1; /* DeleteResult */
+static int hf_p7_Register_MSArgument_PDU = -1; /* Register_MSArgument */
+static int hf_p7_Register_MSResult_PDU = -1; /* Register_MSResult */
+static int hf_p7_AlertArgument_PDU = -1; /* AlertArgument */
+static int hf_p7_AlertResult_PDU = -1; /* AlertResult */
+static int hf_p7_ModifyArgument_PDU = -1; /* ModifyArgument */
+static int hf_p7_ModifyResult_PDU = -1; /* ModifyResult */
+static int hf_p7_MSMessageSubmissionArgument_PDU = -1; /* MSMessageSubmissionArgument */
+static int hf_p7_MSMessageSubmissionResult_PDU = -1; /* MSMessageSubmissionResult */
+static int hf_p7_MSProbeSubmissionArgument_PDU = -1; /* MSProbeSubmissionArgument */
+static int hf_p7_MSProbeSubmissionResult_PDU = -1; /* MSProbeSubmissionResult */
+static int hf_p7_AttributeErrorParameter_PDU = -1; /* AttributeErrorParameter */
+static int hf_p7_AutoActionRequestErrorParameter_PDU = -1; /* AutoActionRequestErrorParameter */
+static int hf_p7_DeleteErrorParameter_PDU = -1; /* DeleteErrorParameter */
+static int hf_p7_FetchRestrictionErrorParameter_PDU = -1; /* FetchRestrictionErrorParameter */
+static int hf_p7_RangeErrorParameter_PDU = -1; /* RangeErrorParameter */
+static int hf_p7_SequenceNumberErrorParameter_PDU = -1; /* SequenceNumberErrorParameter */
+static int hf_p7_ServiceErrorParameter_PDU = -1; /* ServiceErrorParameter */
+static int hf_p7_MessageGroupErrorParameter_PDU = -1; /* MessageGroupErrorParameter */
+static int hf_p7_MSExtensionErrorParameter_PDU = -1; /* MSExtensionErrorParameter */
+static int hf_p7_RegisterMSErrorParameter_PDU = -1; /* RegisterMSErrorParameter */
+static int hf_p7_ModifyErrorParameter_PDU = -1; /* ModifyErrorParameter */
+static int hf_p7_EntryClassErrorParameter_PDU = -1; /* EntryClassErrorParameter */
+static int hf_p7_ReportLocation_PDU = -1; /* ReportLocation */
+static int hf_p7_PerRecipientReport_PDU = -1; /* PerRecipientReport */
+static int hf_p7_ReportSummary_PDU = -1; /* ReportSummary */
+static int hf_p7_DeferredDeliveryCancellationTime_PDU = -1; /* DeferredDeliveryCancellationTime */
+static int hf_p7_DeletionTime_PDU = -1; /* DeletionTime */
+static int hf_p7_SubmissionError_PDU = -1; /* SubmissionError */
+static int hf_p7_SignatureVerificationStatus_PDU = -1; /* SignatureVerificationStatus */
+static int hf_p7_StoragePeriod_PDU = -1; /* StoragePeriod */
+static int hf_p7_StorageTime_PDU = -1; /* StorageTime */
+static int hf_p7_attribute_type = -1; /* AttributeType */
+static int hf_p7_attribute_values = -1; /* AttributeValues */
+static int hf_p7_attribute_values_item = -1; /* AttributeItem */
+static int hf_p7_auto_action_type = -1; /* AutoActionType */
+static int hf_p7_registration_identifier = -1; /* INTEGER_1_ub_per_auto_action */
+static int hf_p7_registration_parameter = -1; /* T_registration_parameter */
+static int hf_p7_error_code = -1; /* T_error_code */
+static int hf_p7_error_parameter = -1; /* T_error_parameter */
+static int hf_p7_MSExtensions_item = -1; /* MSExtensionItem */
+static int hf_p7_MessageGroupName_item = -1; /* GroupNamePart */
+static int hf_p7_initiator_name = -1; /* T_initiator_name */
+static int hf_p7_initiator_credentials = -1; /* InitiatorCredentials */
+static int hf_p7_security_context = -1; /* SecurityContext */
+static int hf_p7_fetch_restrictions = -1; /* Restrictions */
+static int hf_p7_ms_configuration_request = -1; /* BOOLEAN */
+static int hf_p7_ua_registration_identifier = -1; /* RegistrationIdentifier */
+static int hf_p7_bind_extensions = -1; /* MSExtensions */
+static int hf_p7_allowed_content_types = -1; /* T_allowed_content_types */
+static int hf_p7_allowed_content_types_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_allowed_EITs = -1; /* MS_EITs */
+static int hf_p7_maximum_attribute_length = -1; /* INTEGER */
+static int hf_p7_MS_EITs_item = -1; /* MS_EIT */
+static int hf_p7_responder_credentials = -1; /* ResponderCredentials */
+static int hf_p7_available_auto_actions = -1; /* SET_SIZE_1_ub_auto_actions_OF_AutoActionType */
+static int hf_p7_available_auto_actions_item = -1; /* AutoActionType */
+static int hf_p7_available_attribute_types = -1; /* SET_SIZE_1_ub_attributes_supported_OF_AttributeType */
+static int hf_p7_available_attribute_types_item = -1; /* AttributeType */
+static int hf_p7_alert_indication = -1; /* BOOLEAN */
+static int hf_p7_content_types_supported = -1; /* T_content_types_supported */
+static int hf_p7_content_types_supported_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_entry_classes_supported = -1; /* SET_SIZE_1_ub_entry_classes_OF_EntryClass */
+static int hf_p7_entry_classes_supported_item = -1; /* EntryClass */
+static int hf_p7_matching_rules_supported = -1; /* T_matching_rules_supported */
+static int hf_p7_matching_rules_supported_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_bind_result_extensions = -1; /* MSExtensions */
+static int hf_p7_message_group_depth = -1; /* INTEGER_1_ub_group_depth */
+static int hf_p7_auto_action_error_indication = -1; /* AutoActionErrorIndication */
+static int hf_p7_unsupported_extensions = -1; /* T_unsupported_extensions */
+static int hf_p7_unsupported_extensions_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_ua_registration_id_unknown = -1; /* BOOLEAN */
+static int hf_p7_service_information = -1; /* GeneralString_SIZE_1_ub_service_information_length */
+static int hf_p7_ChangeCredentialsAlgorithms_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_indication_only = -1; /* NULL */
+static int hf_p7_auto_action_log_entry = -1; /* SequenceNumber */
+static int hf_p7_unqualified_error = -1; /* BindProblem */
+static int hf_p7_qualified_error = -1; /* T_qualified_error */
+static int hf_p7_bind_problem = -1; /* BindProblem */
+static int hf_p7_supplementary_information = -1; /* GeneralString_SIZE_1_ub_supplementary_info_length */
+static int hf_p7_bind_extension_errors = -1; /* T_bind_extension_errors */
+static int hf_p7_bind_extension_errors_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_sequence_number_range = -1; /* NumberRange */
+static int hf_p7_creation_time_range = -1; /* TimeRange */
+static int hf_p7_from_number = -1; /* T_from_number */
+static int hf_p7_to_number = -1; /* T_to_number */
+static int hf_p7_from_time = -1; /* CreationTime */
+static int hf_p7_to_time = -1; /* CreationTime */
+static int hf_p7_filter_item = -1; /* FilterItem */
+static int hf_p7_and = -1; /* SET_OF_Filter */
+static int hf_p7_and_item = -1; /* Filter */
+static int hf_p7_or = -1; /* SET_OF_Filter */
+static int hf_p7_or_item = -1; /* Filter */
+static int hf_p7_not = -1; /* Filter */
+static int hf_p7_equality = -1; /* AttributeValueAssertion */
+static int hf_p7_substrings = -1; /* T_substrings */
+static int hf_p7_type = -1; /* AttributeType */
+static int hf_p7_strings = -1; /* T_strings */
+static int hf_p7_strings_item = -1; /* T_strings_item */
+static int hf_p7_initial = -1; /* T_initial */
+static int hf_p7_any = -1; /* T_any */
+static int hf_p7_final = -1; /* T_final */
+static int hf_p7_greater_or_equal = -1; /* AttributeValueAssertion */
+static int hf_p7_less_or_equal = -1; /* AttributeValueAssertion */
+static int hf_p7_present = -1; /* AttributeType */
+static int hf_p7_approximate_match = -1; /* AttributeValueAssertion */
+static int hf_p7_other_match = -1; /* MatchingRuleAssertion */
+static int hf_p7_matching_rule = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_match_value = -1; /* T_match_value */
+static int hf_p7_attribute_value = -1; /* T_attribute_value */
+static int hf_p7_child_entries = -1; /* BOOLEAN */
+static int hf_p7_range = -1; /* Range */
+static int hf_p7_filter = -1; /* Filter */
+static int hf_p7_limit = -1; /* INTEGER_1_ub_messages */
+static int hf_p7_override = -1; /* OverrideRestrictions */
+static int hf_p7_EntryInformationSelection_item = -1; /* AttributeSelection */
+static int hf_p7_from = -1; /* INTEGER_1_ub_attribute_values */
+static int hf_p7_selection_count = -1; /* INTEGER_0_ub_attribute_values */
+static int hf_p7_sequence_number = -1; /* SequenceNumber */
+static int hf_p7_attributes = -1; /* SET_SIZE_1_ub_per_entry_OF_Attribute */
+static int hf_p7_attributes_item = -1; /* Attribute */
+static int hf_p7_value_count_exceeded = -1; /* SET_SIZE_1_ub_per_entry_OF_AttributeValueCount */
+static int hf_p7_value_count_exceeded_item = -1; /* AttributeValueCount */
+static int hf_p7_total = -1; /* INTEGER */
+static int hf_p7_object_entry_class = -1; /* EntryClass */
+static int hf_p7_disable_auto_modify = -1; /* BOOLEAN */
+static int hf_p7_add_message_group_names = -1; /* SET_SIZE_1_ub_message_groups_OF_MessageGroupName */
+static int hf_p7_add_message_group_names_item = -1; /* MessageGroupName */
+static int hf_p7_ms_submission_extensions = -1; /* MSExtensions */
+static int hf_p7_created_entry = -1; /* SequenceNumber */
+static int hf_p7_ms_submission_result_extensions = -1; /* MSExtensions */
+static int hf_p7_entry_class = -1; /* EntryClass */
+static int hf_p7_selector = -1; /* Selector */
+static int hf_p7_summary_requests = -1; /* SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType */
+static int hf_p7_summary_requests_item = -1; /* AttributeType */
+static int hf_p7_summarize_extensions = -1; /* MSExtensions */
+static int hf_p7_next = -1; /* SequenceNumber */
+static int hf_p7_count = -1; /* T_count */
+static int hf_p7_span = -1; /* Span */
+static int hf_p7_summaries = -1; /* SEQUENCE_SIZE_1_ub_summaries_OF_Summary */
+static int hf_p7_summaries_item = -1; /* Summary */
+static int hf_p7_summarize_result_extensions = -1; /* MSExtensions */
+static int hf_p7_lowest = -1; /* SequenceNumber */
+static int hf_p7_highest = -1; /* SequenceNumber */
+static int hf_p7_absent = -1; /* INTEGER_1_ub_messages */
+static int hf_p7_summary_present = -1; /* T_summary_present */
+static int hf_p7_summary_present_item = -1; /* T_summary_present_item */
+static int hf_p7_value = -1; /* SummaryPresentItemValue */
+static int hf_p7_summary_count = -1; /* INTEGER_1_ub_messages */
+static int hf_p7_requested_attributes = -1; /* EntryInformationSelection */
+static int hf_p7_list_extensions = -1; /* MSExtensions */
+static int hf_p7_requested = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation */
+static int hf_p7_requested_item = -1; /* EntryInformation */
+static int hf_p7_list_result_extensions = -1; /* MSExtensions */
+static int hf_p7_item = -1; /* T_item */
+static int hf_p7_search = -1; /* Selector */
+static int hf_p7_precise = -1; /* SequenceNumber */
+static int hf_p7_fetch_extensions = -1; /* MSExtensions */
+static int hf_p7_entry_information = -1; /* EntryInformation */
+static int hf_p7_list = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
+static int hf_p7_list_item = -1; /* SequenceNumber */
+static int hf_p7_fetch_result_extensions = -1; /* MSExtensions */
+static int hf_p7_items = -1; /* T_items */
+static int hf_p7_sequence_numbers = -1; /* SET_SIZE_1_ub_messages_OF_SequenceNumber */
+static int hf_p7_sequence_numbers_item = -1; /* SequenceNumber */
+static int hf_p7_delete_extensions = -1; /* MSExtensions */
+static int hf_p7_delete_result_88 = -1; /* NULL */
+static int hf_p7_delete_result_94 = -1; /* T_delete_result_94 */
+static int hf_p7_entries_deleted_94 = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
+static int hf_p7_entries_deleted_94_item = -1; /* SequenceNumber */
+static int hf_p7_delete_result_extensions = -1; /* MSExtensions */
+static int hf_p7_auto_action_registrations = -1; /* SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration */
+static int hf_p7_auto_action_registrations_item = -1; /* AutoActionRegistration */
+static int hf_p7_auto_action_deregistrations = -1; /* SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration */
+static int hf_p7_auto_action_deregistrations_item = -1; /* AutoActionDeregistration */
+static int hf_p7_list_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
+static int hf_p7_list_attribute_defaults_item = -1; /* AttributeType */
+static int hf_p7_fetch_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
+static int hf_p7_fetch_attribute_defaults_item = -1; /* AttributeType */
+static int hf_p7_change_credentials = -1; /* T_change_credentials */
+static int hf_p7_register_old_credentials = -1; /* Credentials */
+static int hf_p7_new_credentials = -1; /* Credentials */
+static int hf_p7_user_security_labels = -1; /* SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel */
+static int hf_p7_user_security_labels_item = -1; /* SecurityLabel */
+static int hf_p7_ua_registrations = -1; /* SET_SIZE_1_ub_ua_registrations_OF_UARegistration */
+static int hf_p7_ua_registrations_item = -1; /* UARegistration */
+static int hf_p7_submission_defaults = -1; /* MSSubmissionOptions */
+static int hf_p7_message_group_registrations = -1; /* MessageGroupRegistrations */
+static int hf_p7_registration_status_request = -1; /* RegistrationTypes */
+static int hf_p7_register_ms_extensions = -1; /* MSExtensions */
+static int hf_p7_ua_list_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
+static int hf_p7_ua_list_attribute_defaults_item = -1; /* AttributeType */
+static int hf_p7_ua_fetch_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
+static int hf_p7_ua_fetch_attribute_defaults_item = -1; /* AttributeType */
+static int hf_p7_ua_submission_defaults = -1; /* MSSubmissionOptions */
+static int hf_p7_content_specific_defaults = -1; /* MSExtensions */
+static int hf_p7_MessageGroupRegistrations_item = -1; /* MessageGroupRegistrations_item */
+static int hf_p7_register_group = -1; /* MessageGroupNameAndDescriptor */
+static int hf_p7_deregister_group = -1; /* MessageGroupName */
+static int hf_p7_change_descriptors = -1; /* MessageGroupNameAndDescriptor */
+static int hf_p7_message_group_name = -1; /* MessageGroupName */
+static int hf_p7_message_group_descriptor = -1; /* GeneralString_SIZE_1_ub_group_descriptor_length */
+static int hf_p7_registrations = -1; /* T_registrations */
+static int hf_p7_extended_registrations = -1; /* T_extended_registrations */
+static int hf_p7_extended_registrations_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_restrict_message_groups = -1; /* MessageGroupsRestriction */
+static int hf_p7_parent_group = -1; /* MessageGroupName */
+static int hf_p7_immediate_descendants_only = -1; /* BOOLEAN */
+static int hf_p7_omit_descriptors = -1; /* BOOLEAN */
+static int hf_p7_algorithm_identifier = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_old_credentials = -1; /* InitiatorCredentials */
+static int hf_p7_password_delta = -1; /* BIT_STRING */
+static int hf_p7_no_status_information = -1; /* NULL */
+static int hf_p7_registered_information = -1; /* T_registered_information */
+static int hf_p7_registered_list_attribute_defaults = -1; /* SET_SIZE_1_ub_default_registrations_OF_AttributeType */
+static int hf_p7_registered_list_attribute_defaults_item = -1; /* AttributeType */
+static int hf_p7_registered_fetch_attribute_defaults = -1; /* SET_SIZE_1_ub_default_registrations_OF_AttributeType */
+static int hf_p7_registered_fetch_attribute_defaults_item = -1; /* AttributeType */
+static int hf_p7_registered_message_group_registrations = -1; /* SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor */
+static int hf_p7_registered_message_group_registrations_item = -1; /* MessageGroupNameAndDescriptor */
+static int hf_p7_register_ms_result_extensions = -1; /* MSExtensions */
+static int hf_p7_alert_registration_identifier = -1; /* INTEGER_1_ub_auto_actions */
+static int hf_p7_new_entry = -1; /* EntryInformation */
+static int hf_p7_entries = -1; /* T_entries */
+static int hf_p7_specific_entries = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
+static int hf_p7_specific_entries_item = -1; /* SequenceNumber */
+static int hf_p7_modifications = -1; /* SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification */
+static int hf_p7_modifications_item = -1; /* EntryModification */
+static int hf_p7_modify_extensions = -1; /* MSExtensions */
+static int hf_p7_strict = -1; /* BOOLEAN */
+static int hf_p7_modification = -1; /* T_modification */
+static int hf_p7_add_attribute = -1; /* Attribute */
+static int hf_p7_remove_attribute = -1; /* AttributeType */
+static int hf_p7_add_values = -1; /* OrderedAttribute */
+static int hf_p7_remove_values = -1; /* OrderedAttribute */
+static int hf_p7_ordered_attribute_values = -1; /* OrderedAttributeValues */
+static int hf_p7_ordered_attribute_values_item = -1; /* OrderedAttributeItem */
+static int hf_p7_ordered_attribute_value = -1; /* OrderedAttributeValue */
+static int hf_p7_ordered_position = -1; /* INTEGER_1_ub_attribute_values */
+static int hf_p7_entries_modified = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
+static int hf_p7_entries_modified_item = -1; /* SequenceNumber */
+static int hf_p7_modify_result_extensions = -1; /* MSExtensions */
+static int hf_p7_envelope = -1; /* MessageSubmissionEnvelope */
+static int hf_p7_content = -1; /* Content */
+static int hf_p7_submission_options = -1; /* MSSubmissionOptions */
+static int hf_p7_mts_result = -1; /* T_mts_result */
+static int hf_p7_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
+static int hf_p7_message_submission_time = -1; /* MessageSubmissionTime */
+static int hf_p7_content_identifier = -1; /* ContentIdentifier */
+static int hf_p7_extensions = -1; /* SET_OF_ExtensionField */
+static int hf_p7_extensions_item = -1; /* ExtensionField */
+static int hf_p7_ms_message_result = -1; /* CommonSubmissionResults */
+static int hf_p7_store_draft_result = -1; /* CommonSubmissionResults */
+static int hf_p7_probe_submission_envelope = -1; /* ProbeSubmissionEnvelope */
+static int hf_p7_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
+static int hf_p7_probe_submission_time = -1; /* ProbeSubmissionTime */
+static int hf_p7_ms_probe_result = -1; /* CommonSubmissionResults */
+static int hf_p7_attribute_error_problems = -1; /* AttributeErrorProblems */
+static int hf_p7_attribute_error_problem_item = -1; /* AttributeErrorProblem */
+static int hf_p7_attribute_problem = -1; /* AttributeProblem */
+static int hf_p7_problem_value = -1; /* AttributeErrorProblemValue */
+static int hf_p7_auto_action_request_error_problems = -1; /* T_auto_action_request_error_problems */
+static int hf_p7_auto_action_request_error_problem_item = -1; /* T_auto_action_request_error_problems_item */
+static int hf_p7_auto_action_request_problem = -1; /* AutoActionRequestProblem */
+static int hf_p7_delete_error_problems = -1; /* DeleteErrorProblems */
+static int hf_p7_delete_error_problem_item = -1; /* DeleteErrorProblem */
+static int hf_p7_delete_problem = -1; /* DeleteProblem */
+static int hf_p7_entries_deleted = -1; /* SET_SIZE_1_ub_messages_OF_SequenceNumber */
+static int hf_p7_entries_deleted_item = -1; /* SequenceNumber */
+static int hf_p7_fetch_restriction_error_problems = -1; /* FetchRestrictionErrorProblems */
+static int hf_p7_fetch_restriction_error_problem_item = -1; /* FetchRestrictionErrorProblem */
+static int hf_p7_fetch_restriction_problem = -1; /* FetchRestrictionProblem */
+static int hf_p7_restriction = -1; /* T_restriction */
+static int hf_p7_content_type = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_eit = -1; /* MS_EITs */
+static int hf_p7_attribute_length = -1; /* INTEGER */
+static int hf_p7_range_problem = -1; /* RangeProblem */
+static int hf_p7_sequence_number_error_problems = -1; /* SequenceNumberErrorProblems */
+static int hf_p7_sequence_number_error_problem_item = -1; /* SequenceNumberErrorProblem */
+static int hf_p7_sequence_number_problem = -1; /* SequenceNumberProblem */
+static int hf_p7_service_problem = -1; /* ServiceProblem */
+static int hf_p7_message_group_problem = -1; /* MessageGroupProblem */
+static int hf_p7_name = -1; /* MessageGroupName */
+static int hf_p7_ms_extension_problem = -1; /* MSExtensionItem */
+static int hf_p7_unknown_ms_extension = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_registration_problem = -1; /* RegistrationProblem */
+static int hf_p7_registration_type = -1; /* RegistrationTypes */
+static int hf_p7_failing_entry = -1; /* SequenceNumber */
+static int hf_p7_modification_number = -1; /* INTEGER */
+static int hf_p7_modify_problem = -1; /* ModifyProblem */
+static int hf_p7_entry_class_problem = -1; /* T_entry_class_problem */
+static int hf_p7_no_correlated_reports = -1; /* NULL */
+static int hf_p7_location = -1; /* SEQUENCE_OF_PerRecipientReport */
+static int hf_p7_location_item = -1; /* PerRecipientReport */
+static int hf_p7_report_entry = -1; /* SequenceNumber */
+static int hf_p7_position = -1; /* INTEGER_1_ub_recipients */
+static int hf_p7_submission_control_violated = -1; /* NULL */
+static int hf_p7_originator_invalid = -1; /* NULL */
+static int hf_p7_recipient_improperly_specified = -1; /* ImproperlySpecifiedRecipients */
+static int hf_p7_element_of_service_not_subscribed = -1; /* NULL */
+static int hf_p7_inconsistent_request = -1; /* NULL */
+static int hf_p7_security_error = -1; /* SecurityProblem */
+static int hf_p7_unsupported_critical_function = -1; /* NULL */
+static int hf_p7_remote_bind_error = -1; /* NULL */
+static int hf_p7_service_error = -1; /* ServiceErrorParameter */
+static int hf_p7_message_group_error = -1; /* MessageGroupErrorParameter */
+static int hf_p7_ms_extension_error = -1; /* MSExtensionErrorParameter */
+static int hf_p7_entry_class_error = -1; /* EntryClassErrorParameter */
+static int hf_p7_content_integrity_check = -1; /* SignatureStatus */
+static int hf_p7_message_origin_authentication_check = -1; /* SignatureStatus */
+static int hf_p7_message_token = -1; /* SignatureStatus */
+static int hf_p7_report_origin_authentication_check = -1; /* SignatureStatus */
+static int hf_p7_proof_of_delivery = -1; /* SignatureStatus */
+static int hf_p7_proof_of_submission = -1; /* SignatureStatus */
+/* named bits */
+static int hf_p7_OverrideRestrictions_override_content_types_restriction = -1;
+static int hf_p7_OverrideRestrictions_override_EITs_restriction = -1;
+static int hf_p7_OverrideRestrictions_override_attribute_length_restriction = -1;
+static int hf_p7_T_registrations_auto_action_registrations = -1;
+static int hf_p7_T_registrations_list_attribute_defaults = -1;
+static int hf_p7_T_registrations_fetch_attribute_defaults = -1;
+static int hf_p7_T_registrations_ua_registrations = -1;
+static int hf_p7_T_registrations_submission_defaults = -1;
+static int hf_p7_T_registrations_message_group_registrations = -1;
+static int hf_p7_T_entry_class_problem_unsupported_entry_class = -1;
+static int hf_p7_T_entry_class_problem_entry_class_not_subscribed = -1;
+static int hf_p7_T_entry_class_problem_inappropriate_entry_class = -1;
+
+/*--- End of included file: packet-p7-hf.c ---*/
+#line 66 "packet-p7-template.c"
+
+/* Initialize the subtree pointers */
+static gint ett_p7 = -1;
+
+/*--- Included file: packet-p7-ett.c ---*/
+#line 1 "packet-p7-ett.c"
+static gint ett_p7_Attribute = -1;
+static gint ett_p7_AttributeValues = -1;
+static gint ett_p7_AutoActionRegistration = -1;
+static gint ett_p7_AutoActionError = -1;
+static gint ett_p7_MSExtensions = -1;
+static gint ett_p7_MessageGroupName = -1;
+static gint ett_p7_MSBindArgument = -1;
+static gint ett_p7_Restrictions = -1;
+static gint ett_p7_T_allowed_content_types = -1;
+static gint ett_p7_MS_EITs = -1;
+static gint ett_p7_MSBindResult = -1;
+static gint ett_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType = -1;
+static gint ett_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType = -1;
+static gint ett_p7_T_content_types_supported = -1;
+static gint ett_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass = -1;
+static gint ett_p7_T_matching_rules_supported = -1;
+static gint ett_p7_T_unsupported_extensions = -1;
+static gint ett_p7_ChangeCredentialsAlgorithms = -1;
+static gint ett_p7_AutoActionErrorIndication = -1;
+static gint ett_p7_MSBindError = -1;
+static gint ett_p7_T_qualified_error = -1;
+static gint ett_p7_T_bind_extension_errors = -1;
+static gint ett_p7_Range = -1;
+static gint ett_p7_NumberRange = -1;
+static gint ett_p7_TimeRange = -1;
+static gint ett_p7_Filter = -1;
+static gint ett_p7_SET_OF_Filter = -1;
+static gint ett_p7_FilterItem = -1;
+static gint ett_p7_T_substrings = -1;
+static gint ett_p7_T_strings = -1;
+static gint ett_p7_T_strings_item = -1;
+static gint ett_p7_MatchingRuleAssertion = -1;
+static gint ett_p7_AttributeValueAssertion = -1;
+static gint ett_p7_Selector = -1;
+static gint ett_p7_OverrideRestrictions = -1;
+static gint ett_p7_EntryInformationSelection = -1;
+static gint ett_p7_AttributeSelection = -1;
+static gint ett_p7_EntryInformation = -1;
+static gint ett_p7_SET_SIZE_1_ub_per_entry_OF_Attribute = -1;
+static gint ett_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount = -1;
+static gint ett_p7_AttributeValueCount = -1;
+static gint ett_p7_MSSubmissionOptions = -1;
+static gint ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName = -1;
+static gint ett_p7_CommonSubmissionResults = -1;
+static gint ett_p7_SummarizeArgument = -1;
+static gint ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType = -1;
+static gint ett_p7_SummarizeResult = -1;
+static gint ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary = -1;
+static gint ett_p7_Span = -1;
+static gint ett_p7_Summary = -1;
+static gint ett_p7_T_summary_present = -1;
+static gint ett_p7_T_summary_present_item = -1;
+static gint ett_p7_ListArgument = -1;
+static gint ett_p7_ListResult = -1;
+static gint ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation = -1;
+static gint ett_p7_FetchArgument = -1;
+static gint ett_p7_T_item = -1;
+static gint ett_p7_FetchResult = -1;
+static gint ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber = -1;
+static gint ett_p7_DeleteArgument = -1;
+static gint ett_p7_T_items = -1;
+static gint ett_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber = -1;
+static gint ett_p7_DeleteResult = -1;
+static gint ett_p7_T_delete_result_94 = -1;
+static gint ett_p7_Register_MSArgument = -1;
+static gint ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration = -1;
+static gint ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration = -1;
+static gint ett_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType = -1;
+static gint ett_p7_T_change_credentials = -1;
+static gint ett_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel = -1;
+static gint ett_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration = -1;
+static gint ett_p7_AutoActionDeregistration = -1;
+static gint ett_p7_UARegistration = -1;
+static gint ett_p7_MessageGroupRegistrations = -1;
+static gint ett_p7_MessageGroupRegistrations_item = -1;
+static gint ett_p7_MessageGroupNameAndDescriptor = -1;
+static gint ett_p7_RegistrationTypes = -1;
+static gint ett_p7_T_registrations = -1;
+static gint ett_p7_T_extended_registrations = -1;
+static gint ett_p7_MessageGroupsRestriction = -1;
+static gint ett_p7_ProtectedChangeCredentials = -1;
+static gint ett_p7_Register_MSResult = -1;
+static gint ett_p7_T_registered_information = -1;
+static gint ett_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType = -1;
+static gint ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor = -1;
+static gint ett_p7_AlertArgument = -1;
+static gint ett_p7_ModifyArgument = -1;
+static gint ett_p7_T_entries = -1;
+static gint ett_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification = -1;
+static gint ett_p7_EntryModification = -1;
+static gint ett_p7_T_modification = -1;
+static gint ett_p7_OrderedAttribute = -1;
+static gint ett_p7_OrderedAttributeValues = -1;
+static gint ett_p7_OrderedAttributeItem = -1;
+static gint ett_p7_ModifyResult = -1;
+static gint ett_p7_MSMessageSubmissionArgument = -1;
+static gint ett_p7_MSMessageSubmissionResult = -1;
+static gint ett_p7_T_mts_result = -1;
+static gint ett_p7_SET_OF_ExtensionField = -1;
+static gint ett_p7_MSProbeSubmissionArgument = -1;
+static gint ett_p7_MSProbeSubmissionResult = -1;
+static gint ett_p7_AttributeErrorParameter = -1;
+static gint ett_p7_AttributeErrorProblems = -1;
+static gint ett_p7_AttributeErrorProblem = -1;
+static gint ett_p7_AutoActionRequestErrorParameter = -1;
+static gint ett_p7_T_auto_action_request_error_problems = -1;
+static gint ett_p7_T_auto_action_request_error_problems_item = -1;
+static gint ett_p7_DeleteErrorParameter = -1;
+static gint ett_p7_DeleteErrorProblems = -1;
+static gint ett_p7_DeleteErrorProblem = -1;
+static gint ett_p7_FetchRestrictionErrorParameter = -1;
+static gint ett_p7_FetchRestrictionErrorProblems = -1;
+static gint ett_p7_FetchRestrictionErrorProblem = -1;
+static gint ett_p7_T_restriction = -1;
+static gint ett_p7_RangeErrorParameter = -1;
+static gint ett_p7_SequenceNumberErrorParameter = -1;
+static gint ett_p7_SequenceNumberErrorProblems = -1;
+static gint ett_p7_SequenceNumberErrorProblem = -1;
+static gint ett_p7_ServiceErrorParameter = -1;
+static gint ett_p7_MessageGroupErrorParameter = -1;
+static gint ett_p7_MSExtensionErrorParameter = -1;
+static gint ett_p7_RegisterMSErrorParameter = -1;
+static gint ett_p7_ModifyErrorParameter = -1;
+static gint ett_p7_EntryClassErrorParameter = -1;
+static gint ett_p7_T_entry_class_problem = -1;
+static gint ett_p7_ReportLocation = -1;
+static gint ett_p7_SEQUENCE_OF_PerRecipientReport = -1;
+static gint ett_p7_PerRecipientReport = -1;
+static gint ett_p7_SubmissionError = -1;
+static gint ett_p7_SignatureVerificationStatus = -1;
+
+/*--- End of included file: packet-p7-ett.c ---*/
+#line 70 "packet-p7-template.c"
+
+
+/*--- Included file: packet-p7-fn.c ---*/
+#line 1 "packet-p7-fn.c"
+/*--- Cyclic dependencies ---*/
+
+/* Filter -> Filter/and -> Filter */
+/* Filter -> Filter */
+static int dissect_p7_Filter(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_p7_AttributeType(gboolean implicit_tag _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_p7_AttributeItem(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 209 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeValues_sequence_of[1] = {
+ { &hf_p7_attribute_values_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeItem },
+};
+
+static int
+dissect_p7_AttributeValues(gboolean implicit_tag _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,
+ AttributeValues_sequence_of, hf_index, ett_p7_AttributeValues);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Attribute_sequence[] = {
+ { &hf_p7_attribute_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+ { &hf_p7_attribute_values , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeValues },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_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_sequence(implicit_tag, actx, tree, tvb, offset,
+ Attribute_sequence, hf_index, ett_p7_Attribute);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_AutoActionType(gboolean implicit_tag _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_p7_INTEGER_1_ub_per_auto_action(gboolean implicit_tag _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_p7_T_registration_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 247 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AutoActionRegistration_sequence[] = {
+ { &hf_p7_auto_action_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionType },
+ { &hf_p7_registration_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_per_auto_action },
+ { &hf_p7_registration_parameter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_registration_parameter },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AutoActionRegistration(gboolean implicit_tag _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,
+ AutoActionRegistration_sequence, hf_index, ett_p7_AutoActionRegistration);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_error_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_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_error_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 253 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AutoActionError_set[] = {
+ { &hf_p7_error_code , BER_CLASS_CON, 0, 0, dissect_p7_T_error_code },
+ { &hf_p7_error_parameter , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_error_parameter },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AutoActionError(gboolean implicit_tag _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,
+ AutoActionError_set, hf_index, ett_p7_AutoActionError);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_MSExtensionItem(gboolean implicit_tag _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 MSExtensions_sequence_of[1] = {
+ { &hf_p7_MSExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_p7_MSExtensionItem },
+};
+
+static int
+dissect_p7_MSExtensions(gboolean implicit_tag _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,
+ MSExtensions_sequence_of, hf_index, ett_p7_MSExtensions);
+
+ return offset;
+}
+
+
+static const value_string p7_EntryClass_vals[] = {
+ { 0, "delivery" },
+ { 1, "submission" },
+ { 2, "draft" },
+ { 3, "stored-message" },
+ { 4, "delivery-log" },
+ { 5, "submission-log" },
+ { 6, "message-log" },
+ { 7, "auto-action-log" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_EntryClass(gboolean implicit_tag _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 p7_EntryType_vals[] = {
+ { 0, "delivered-message" },
+ { 1, "delivered-report" },
+ { 2, "returned-content" },
+ { 3, "submitted-message" },
+ { 4, "submitted-probe" },
+ { 5, "draft-message" },
+ { 6, "auto-action-event" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_EntryType(gboolean implicit_tag _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_p7_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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &seqno);
+
+ return offset;
+}
+
+
+static const value_string p7_RetrievalStatus_vals[] = {
+ { 0, "new" },
+ { 1, "listed" },
+ { 2, "processed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_RetrievalStatus(gboolean implicit_tag _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_p7_GroupNamePart(gboolean implicit_tag _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 ber_sequence_t MessageGroupName_sequence_of[1] = {
+ { &hf_p7_MessageGroupName_item, BER_CLASS_UNI, BER_UNI_TAG_GeneralString, BER_FLAGS_NOOWNTAG, dissect_p7_GroupNamePart },
+};
+
+static int
+dissect_p7_MessageGroupName(gboolean implicit_tag _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,
+ MessageGroupName_sequence_of, hf_index, ett_p7_MessageGroupName);
+
+ return offset;
+}
+
+
+
+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_) {
+#line 257 "p7.cnf"
+ char *ora = NULL;
+
+ offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+
+ if (check_col(actx->pinfo->cinfo, COL_INFO) && (ora = x411_get_last_oraddress())) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (initiator=%s)", ora);
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_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 const ber_sequence_t T_allowed_content_types_set_of[1] = {
+ { &hf_p7_allowed_content_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_T_allowed_content_types(gboolean implicit_tag _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_allowed_content_types_set_of, hf_index, ett_p7_T_allowed_content_types);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_MS_EIT(gboolean implicit_tag _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 MS_EITs_set_of[1] = {
+ { &hf_p7_MS_EITs_item , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_MS_EIT },
+};
+
+static int
+dissect_p7_MS_EITs(gboolean implicit_tag _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,
+ MS_EITs_set_of, hf_index, ett_p7_MS_EITs);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_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 Restrictions_set[] = {
+ { &hf_p7_allowed_content_types, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_T_allowed_content_types },
+ { &hf_p7_allowed_EITs , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_MS_EITs },
+ { &hf_p7_maximum_attribute_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Restrictions(gboolean implicit_tag _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,
+ Restrictions_set, hf_index, ett_p7_Restrictions);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_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);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_RegistrationIdentifier(gboolean implicit_tag _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 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_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 },
+ { &hf_p7_bind_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSBindArgument(gboolean implicit_tag _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,
+ MSBindArgument_set, hf_index, ett_p7_MSBindArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_auto_actions_OF_AutoActionType_set_of[1] = {
+ { &hf_p7_available_auto_actions_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionType },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType(gboolean implicit_tag _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_SIZE_1_ub_auto_actions_OF_AutoActionType_set_of, hf_index, ett_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_attributes_supported_OF_AttributeType_set_of[1] = {
+ { &hf_p7_available_attribute_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType(gboolean implicit_tag _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_SIZE_1_ub_attributes_supported_OF_AttributeType_set_of, hf_index, ett_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_content_types_supported_set_of[1] = {
+ { &hf_p7_content_types_supported_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_T_content_types_supported(gboolean implicit_tag _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_content_types_supported_set_of, hf_index, ett_p7_T_content_types_supported);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_entry_classes_OF_EntryClass_set_of[1] = {
+ { &hf_p7_entry_classes_supported_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_EntryClass },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass(gboolean implicit_tag _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_SIZE_1_ub_entry_classes_OF_EntryClass_set_of, hf_index, ett_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_matching_rules_supported_set_of[1] = {
+ { &hf_p7_matching_rules_supported_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_T_matching_rules_supported(gboolean implicit_tag _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_matching_rules_supported_set_of, hf_index, ett_p7_T_matching_rules_supported);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_INTEGER_1_ub_group_depth(gboolean implicit_tag _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_p7_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 p7_AutoActionErrorIndication_vals[] = {
+ { 0, "indication-only" },
+ { 1, "auto-action-log-entry" },
+ { 0, NULL }
+};
+
+static const ber_choice_t AutoActionErrorIndication_choice[] = {
+ { 0, &hf_p7_indication_only , BER_CLASS_CON, 0, 0, dissect_p7_NULL },
+ { 1, &hf_p7_auto_action_log_entry, BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AutoActionErrorIndication(gboolean implicit_tag _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,
+ AutoActionErrorIndication_choice, hf_index, ett_p7_AutoActionErrorIndication,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_unsupported_extensions_set_of[1] = {
+ { &hf_p7_unsupported_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_T_unsupported_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_unsupported_extensions_set_of, hf_index, ett_p7_T_unsupported_extensions);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_GeneralString_SIZE_1_ub_service_information_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_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MSBindResult_set[] = {
+ { &hf_p7_responder_credentials, BER_CLASS_CON, 2, 0, dissect_x411_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 },
+ { &hf_p7_content_types_supported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_T_content_types_supported },
+ { &hf_p7_entry_classes_supported, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass },
+ { &hf_p7_matching_rules_supported, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_p7_T_matching_rules_supported },
+ { &hf_p7_bind_result_extensions, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { &hf_p7_message_group_depth, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_group_depth },
+ { &hf_p7_auto_action_error_indication, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_AutoActionErrorIndication },
+ { &hf_p7_unsupported_extensions, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_p7_T_unsupported_extensions },
+ { &hf_p7_ua_registration_id_unknown, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
+ { &hf_p7_service_information, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_service_information_length },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSBindResult(gboolean implicit_tag _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,
+ MSBindResult_set, hf_index, ett_p7_MSBindResult);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ChangeCredentialsAlgorithms_set_of[1] = {
+ { &hf_p7_ChangeCredentialsAlgorithms_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_ChangeCredentialsAlgorithms(gboolean implicit_tag _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,
+ ChangeCredentialsAlgorithms_set_of, hf_index, ett_p7_ChangeCredentialsAlgorithms);
+
+ return offset;
+}
+
+
+static const value_string p7_BindProblem_vals[] = {
+ { 0, "authentication-error" },
+ { 1, "unacceptable-security-context" },
+ { 2, "unable-to-establish-association" },
+ { 3, "bind-extension-problem" },
+ { 4, "inadequate-association-confidentiality" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_BindProblem(gboolean implicit_tag _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_p7_GeneralString_SIZE_1_ub_supplementary_info_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_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_bind_extension_errors_set_of[1] = {
+ { &hf_p7_bind_extension_errors_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_T_bind_extension_errors(gboolean implicit_tag _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_bind_extension_errors_set_of, hf_index, ett_p7_T_bind_extension_errors);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_qualified_error_set[] = {
+ { &hf_p7_bind_problem , BER_CLASS_CON, 0, 0, dissect_p7_BindProblem },
+ { &hf_p7_supplementary_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_supplementary_info_length },
+ { &hf_p7_bind_extension_errors, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_T_bind_extension_errors },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_qualified_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_set(implicit_tag, actx, tree, tvb, offset,
+ T_qualified_error_set, hf_index, ett_p7_T_qualified_error);
+
+ return offset;
+}
+
+
+static const value_string p7_MSBindError_vals[] = {
+ { 0, "unqualified-error" },
+ { 1, "qualified-error" },
+ { 0, NULL }
+};
+
+static const ber_choice_t MSBindError_choice[] = {
+ { 0, &hf_p7_unqualified_error, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_p7_BindProblem },
+ { 1, &hf_p7_qualified_error , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_qualified_error },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSBindError(gboolean implicit_tag _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,
+ MSBindError_choice, hf_index, ett_p7_MSBindError,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_from_number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+#line 277 "p7.cnf"
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno);
+ }
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_to_number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+#line 282 "p7.cnf"
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " to %d", seqno);
+ }
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t NumberRange_sequence[] = {
+ { &hf_p7_from_number , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_T_from_number },
+ { &hf_p7_to_number , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_to_number },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_NumberRange(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 268 "p7.cnf"
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (range=");
+ }
+ offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
+ NumberRange_sequence, hf_index, ett_p7_NumberRange);
+
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, ")");
+ }
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_CreationTime(gboolean implicit_tag _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_UTCTime,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t TimeRange_sequence[] = {
+ { &hf_p7_from_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_CreationTime },
+ { &hf_p7_to_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_CreationTime },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_TimeRange(gboolean implicit_tag _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,
+ TimeRange_sequence, hf_index, ett_p7_TimeRange);
+
+ return offset;
+}
+
+
+static const value_string p7_Range_vals[] = {
+ { 0, "sequence-number-range" },
+ { 1, "creation-time-range" },
+ { 0, NULL }
+};
+
+static const ber_choice_t Range_choice[] = {
+ { 0, &hf_p7_sequence_number_range, BER_CLASS_CON, 0, 0, dissect_p7_NumberRange },
+ { 1, &hf_p7_creation_time_range, BER_CLASS_CON, 1, 0, dissect_p7_TimeRange },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Range(gboolean implicit_tag _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,
+ Range_choice, hf_index, ett_p7_Range,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_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 213 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeValueAssertion_sequence[] = {
+ { &hf_p7_attribute_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+ { &hf_p7_attribute_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_attribute_value },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AttributeValueAssertion(gboolean implicit_tag _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,
+ AttributeValueAssertion_sequence, hf_index, ett_p7_AttributeValueAssertion);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_initial(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 217 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_any(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 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_final(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 225 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const value_string p7_T_strings_item_vals[] = {
+ { 0, "initial" },
+ { 1, "any" },
+ { 2, "final" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_strings_item_choice[] = {
+ { 0, &hf_p7_initial , BER_CLASS_CON, 0, 0, dissect_p7_T_initial },
+ { 1, &hf_p7_any , BER_CLASS_CON, 1, 0, dissect_p7_T_any },
+ { 2, &hf_p7_final , BER_CLASS_CON, 2, 0, dissect_p7_T_final },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_strings_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_choice(actx, tree, tvb, offset,
+ T_strings_item_choice, hf_index, ett_p7_T_strings_item,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_strings_sequence_of[1] = {
+ { &hf_p7_strings_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_strings_item },
+};
+
+static int
+dissect_p7_T_strings(gboolean implicit_tag _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_strings_sequence_of, hf_index, ett_p7_T_strings);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_substrings_sequence[] = {
+ { &hf_p7_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+ { &hf_p7_strings , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_T_strings },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_substrings(gboolean implicit_tag _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_substrings_sequence, hf_index, ett_p7_T_substrings);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_match_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 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t MatchingRuleAssertion_sequence[] = {
+ { &hf_p7_matching_rule , BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER },
+ { &hf_p7_attribute_type , BER_CLASS_CON, 1, 0, dissect_p7_AttributeType },
+ { &hf_p7_match_value , BER_CLASS_CON, 2, 0, dissect_p7_T_match_value },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MatchingRuleAssertion(gboolean implicit_tag _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,
+ MatchingRuleAssertion_sequence, hf_index, ett_p7_MatchingRuleAssertion);
+
+ return offset;
+}
+
+
+static const value_string p7_FilterItem_vals[] = {
+ { 0, "equality" },
+ { 1, "substrings" },
+ { 2, "greater-or-equal" },
+ { 3, "less-or-equal" },
+ { 4, "present" },
+ { 5, "approximate-match" },
+ { 6, "other-match" },
+ { 0, NULL }
+};
+
+static const ber_choice_t FilterItem_choice[] = {
+ { 0, &hf_p7_equality , BER_CLASS_CON, 0, 0, dissect_p7_AttributeValueAssertion },
+ { 1, &hf_p7_substrings , BER_CLASS_CON, 1, 0, dissect_p7_T_substrings },
+ { 2, &hf_p7_greater_or_equal , BER_CLASS_CON, 2, 0, dissect_p7_AttributeValueAssertion },
+ { 3, &hf_p7_less_or_equal , BER_CLASS_CON, 3, 0, dissect_p7_AttributeValueAssertion },
+ { 4, &hf_p7_present , BER_CLASS_CON, 4, 0, dissect_p7_AttributeType },
+ { 5, &hf_p7_approximate_match, BER_CLASS_CON, 5, 0, dissect_p7_AttributeValueAssertion },
+ { 6, &hf_p7_other_match , BER_CLASS_CON, 6, 0, dissect_p7_MatchingRuleAssertion },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_FilterItem(gboolean implicit_tag _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,
+ FilterItem_choice, hf_index, ett_p7_FilterItem,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_Filter_set_of[1] = {
+ { &hf_p7_and_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_Filter },
+};
+
+static int
+dissect_p7_SET_OF_Filter(gboolean implicit_tag _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_Filter_set_of, hf_index, ett_p7_SET_OF_Filter);
+
+ return offset;
+}
+
+
+static const value_string p7_Filter_vals[] = {
+ { 0, "item" },
+ { 1, "and" },
+ { 2, "or" },
+ { 3, "not" },
+ { 0, NULL }
+};
+
+static const ber_choice_t Filter_choice[] = {
+ { 0, &hf_p7_filter_item , BER_CLASS_CON, 0, 0, dissect_p7_FilterItem },
+ { 1, &hf_p7_and , BER_CLASS_CON, 1, 0, dissect_p7_SET_OF_Filter },
+ { 2, &hf_p7_or , BER_CLASS_CON, 2, 0, dissect_p7_SET_OF_Filter },
+ { 3, &hf_p7_not , BER_CLASS_CON, 3, 0, dissect_p7_Filter },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Filter(gboolean implicit_tag _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,
+ Filter_choice, hf_index, ett_p7_Filter,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_INTEGER_1_ub_messages(gboolean implicit_tag _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 OverrideRestrictions_bits[] = {
+ { 0, &hf_p7_OverrideRestrictions_override_content_types_restriction, -1, -1, "override-content-types-restriction", NULL },
+ { 1, &hf_p7_OverrideRestrictions_override_EITs_restriction, -1, -1, "override-EITs-restriction", NULL },
+ { 2, &hf_p7_OverrideRestrictions_override_attribute_length_restriction, -1, -1, "override-attribute-length-restriction", NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_p7_OverrideRestrictions(gboolean implicit_tag _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,
+ OverrideRestrictions_bits, hf_index, ett_p7_OverrideRestrictions,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Selector_set[] = {
+ { &hf_p7_child_entries , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
+ { &hf_p7_range , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_Range },
+ { &hf_p7_filter , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_Filter },
+ { &hf_p7_limit , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_messages },
+ { &hf_p7_override , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_OverrideRestrictions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Selector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ Selector_set, hf_index, ett_p7_Selector);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_INTEGER_1_ub_attribute_values(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_INTEGER_0_ub_attribute_values(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeSelection_set[] = {
+ { &hf_p7_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+ { &hf_p7_from , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_attribute_values },
+ { &hf_p7_selection_count , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_0_ub_attribute_values },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AttributeSelection(gboolean implicit_tag _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,
+ AttributeSelection_set, hf_index, ett_p7_AttributeSelection);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EntryInformationSelection_set_of[1] = {
+ { &hf_p7_EntryInformationSelection_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeSelection },
+};
+
+static int
+dissect_p7_EntryInformationSelection(gboolean implicit_tag _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,
+ EntryInformationSelection_set_of, hf_index, ett_p7_EntryInformationSelection);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_per_entry_OF_Attribute_set_of[1] = {
+ { &hf_p7_attributes_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_Attribute },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_per_entry_OF_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_set_of(implicit_tag, actx, tree, tvb, offset,
+ SET_SIZE_1_ub_per_entry_OF_Attribute_set_of, hf_index, ett_p7_SET_SIZE_1_ub_per_entry_OF_Attribute);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeValueCount_sequence[] = {
+ { &hf_p7_type , BER_CLASS_CON, 0, 0, dissect_p7_AttributeType },
+ { &hf_p7_total , BER_CLASS_CON, 1, 0, dissect_p7_INTEGER },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AttributeValueCount(gboolean implicit_tag _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,
+ AttributeValueCount_sequence, hf_index, ett_p7_AttributeValueCount);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_per_entry_OF_AttributeValueCount_set_of[1] = {
+ { &hf_p7_value_count_exceeded_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeValueCount },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount(gboolean implicit_tag _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_SIZE_1_ub_per_entry_OF_AttributeValueCount_set_of, hf_index, ett_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EntryInformation_sequence[] = {
+ { &hf_p7_sequence_number , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
+ { &hf_p7_attributes , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p7_SET_SIZE_1_ub_per_entry_OF_Attribute },
+ { &hf_p7_value_count_exceeded, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_EntryInformation(gboolean implicit_tag _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,
+ EntryInformation_sequence, hf_index, ett_p7_EntryInformation);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_message_groups_OF_MessageGroupName_set_of[1] = {
+ { &hf_p7_add_message_group_names_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_MessageGroupName },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName(gboolean implicit_tag _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_SIZE_1_ub_message_groups_OF_MessageGroupName_set_of, hf_index, ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MSSubmissionOptions_set[] = {
+ { &hf_p7_object_entry_class, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
+ { &hf_p7_disable_auto_modify, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
+ { &hf_p7_add_message_group_names, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName },
+ { &hf_p7_ms_submission_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSSubmissionOptions(gboolean implicit_tag _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,
+ MSSubmissionOptions_set, hf_index, ett_p7_MSSubmissionOptions);
+
+ return offset;
+}
+
+
+
+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);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CommonSubmissionResults_set[] = {
+ { &hf_p7_created_entry , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
+ { &hf_p7_auto_action_error_indication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_AutoActionErrorIndication },
+ { &hf_p7_ms_submission_result_extensions, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_CommonSubmissionResults(gboolean implicit_tag _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,
+ CommonSubmissionResults_set, hf_index, ett_p7_CommonSubmissionResults);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType_sequence_of[1] = {
+ { &hf_p7_summary_requests_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+};
+
+static int
+dissect_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType(gboolean implicit_tag _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_SIZE_1_ub_summaries_OF_AttributeType_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SummarizeArgument_set[] = {
+ { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
+ { &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
+ { &hf_p7_summary_requests , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType },
+ { &hf_p7_summarize_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_SummarizeArgument(gboolean implicit_tag _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,
+ SummarizeArgument_set, hf_index, ett_p7_SummarizeArgument);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_count(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 289 "p7.cnf"
+ int count = 0;
+
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ &count);
+
+
+ if (check_col(actx->pinfo->cinfo, COL_INFO)) {
+ col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%d)", count);
+ }
+
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t Span_sequence[] = {
+ { &hf_p7_lowest , BER_CLASS_CON, 0, 0, dissect_p7_SequenceNumber },
+ { &hf_p7_highest , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Span(gboolean implicit_tag _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,
+ Span_sequence, hf_index, ett_p7_Span);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_SummaryPresentItemValue(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 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_summary_present_item_sequence[] = {
+ { &hf_p7_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+ { &hf_p7_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_SummaryPresentItemValue },
+ { &hf_p7_summary_count , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_INTEGER_1_ub_messages },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_summary_present_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,
+ T_summary_present_item_sequence, hf_index, ett_p7_T_summary_present_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_summary_present_set_of[1] = {
+ { &hf_p7_summary_present_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_T_summary_present_item },
+};
+
+static int
+dissect_p7_T_summary_present(gboolean implicit_tag _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_summary_present_set_of, hf_index, ett_p7_T_summary_present);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Summary_set[] = {
+ { &hf_p7_absent , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_messages },
+ { &hf_p7_summary_present , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_summary_present },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Summary(gboolean implicit_tag _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,
+ Summary_set, hf_index, ett_p7_Summary);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_SIZE_1_ub_summaries_OF_Summary_sequence_of[1] = {
+ { &hf_p7_summaries_item , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_Summary },
+};
+
+static int
+dissect_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary(gboolean implicit_tag _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_SIZE_1_ub_summaries_OF_Summary_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SummarizeResult_set[] = {
+ { &hf_p7_next , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
+ { &hf_p7_count , BER_CLASS_CON, 1, 0, dissect_p7_T_count },
+ { &hf_p7_span , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_Span },
+ { &hf_p7_summaries , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary },
+ { &hf_p7_summarize_result_extensions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_SummarizeResult(gboolean implicit_tag _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,
+ SummarizeResult_set, hf_index, ett_p7_SummarizeResult);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ListArgument_set[] = {
+ { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
+ { &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
+ { &hf_p7_requested_attributes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformationSelection },
+ { &hf_p7_list_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ListArgument(gboolean implicit_tag _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,
+ ListArgument_set, hf_index, ett_p7_ListArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation_sequence_of[1] = {
+ { &hf_p7_requested_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_EntryInformation },
+};
+
+static int
+dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation(gboolean implicit_tag _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_SIZE_1_ub_messages_OF_EntryInformation_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ListResult_set[] = {
+ { &hf_p7_next , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
+ { &hf_p7_requested , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation },
+ { &hf_p7_list_result_extensions, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ListResult(gboolean implicit_tag _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,
+ ListResult_set, hf_index, ett_p7_ListResult);
+
+ return offset;
+}
+
+
+static const value_string p7_T_item_vals[] = {
+ { 1, "search" },
+ { 2, "precise" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_item_choice[] = {
+ { 1, &hf_p7_search , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
+ { 2, &hf_p7_precise , BER_CLASS_CON, 2, 0, dissect_p7_SequenceNumber },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_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_choice(actx, tree, tvb, offset,
+ T_item_choice, hf_index, ett_p7_T_item,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FetchArgument_set[] = {
+ { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
+ { &hf_p7_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_item },
+ { &hf_p7_requested_attributes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformationSelection },
+ { &hf_p7_fetch_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_FetchArgument(gboolean implicit_tag _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,
+ FetchArgument_set, hf_index, ett_p7_FetchArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber_sequence_of[1] = {
+ { &hf_p7_list_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
+};
+
+static int
+dissect_p7_SEQUENCE_SIZE_1_ub_messages_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_SIZE_1_ub_messages_OF_SequenceNumber_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FetchResult_set[] = {
+ { &hf_p7_entry_information, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformation },
+ { &hf_p7_list , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
+ { &hf_p7_next , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
+ { &hf_p7_fetch_result_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_FetchResult(gboolean implicit_tag _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,
+ FetchResult_set, hf_index, ett_p7_FetchResult);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_messages_OF_SequenceNumber_set_of[1] = {
+ { &hf_p7_sequence_numbers_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_messages_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_SIZE_1_ub_messages_OF_SequenceNumber_set_of, hf_index, ett_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber);
+
+ return offset;
+}
+
+
+static const value_string p7_T_items_vals[] = {
+ { 1, "selector" },
+ { 2, "sequence-numbers" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_items_choice[] = {
+ { 1, &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
+ { 2, &hf_p7_sequence_numbers , BER_CLASS_CON, 2, 0, dissect_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_items(gboolean implicit_tag _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_items_choice, hf_index, ett_p7_T_items,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DeleteArgument_set[] = {
+ { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
+ { &hf_p7_items , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_items },
+ { &hf_p7_delete_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_DeleteArgument(gboolean implicit_tag _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,
+ DeleteArgument_set, hf_index, ett_p7_DeleteArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_delete_result_94_set[] = {
+ { &hf_p7_entries_deleted_94, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
+ { &hf_p7_delete_result_extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_delete_result_94(gboolean implicit_tag _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_delete_result_94_set, hf_index, ett_p7_T_delete_result_94);
+
+ return offset;
+}
+
+
+static const value_string p7_DeleteResult_vals[] = {
+ { 0, "delete-result-88" },
+ { 1, "delete-result-94" },
+ { 0, NULL }
+};
+
+static const ber_choice_t DeleteResult_choice[] = {
+ { 0, &hf_p7_delete_result_88 , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p7_NULL },
+ { 1, &hf_p7_delete_result_94 , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_delete_result_94 },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_DeleteResult(gboolean implicit_tag _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,
+ DeleteResult_choice, hf_index, ett_p7_DeleteResult,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration_set_of[1] = {
+ { &hf_p7_auto_action_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionRegistration },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration(gboolean implicit_tag _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_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration_set_of, hf_index, ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AutoActionDeregistration_sequence[] = {
+ { &hf_p7_auto_action_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionType },
+ { &hf_p7_registration_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_per_auto_action },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AutoActionDeregistration(gboolean implicit_tag _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,
+ AutoActionDeregistration_sequence, hf_index, ett_p7_AutoActionDeregistration);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration_set_of[1] = {
+ { &hf_p7_auto_action_deregistrations_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionDeregistration },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration(gboolean implicit_tag _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_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration_set_of, hf_index, ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_0_ub_default_registrations_OF_AttributeType_set_of[1] = {
+ { &hf_p7_list_attribute_defaults_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+};
+
+static int
+dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType(gboolean implicit_tag _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_SIZE_0_ub_default_registrations_OF_AttributeType_set_of, hf_index, ett_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType);
+
+ return offset;
+}
+
+
+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 },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_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_sequence(implicit_tag, actx, tree, tvb, offset,
+ T_change_credentials_sequence, hf_index, ett_p7_T_change_credentials);
+
+ return offset;
+}
+
+
+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 },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_labels_and_redirections_OF_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_of(implicit_tag, actx, tree, tvb, offset,
+ SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel_set_of, hf_index, ett_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel);
+
+ return offset;
+}
+
+
+static const ber_sequence_t UARegistration_set[] = {
+ { &hf_p7_ua_registration_identifier, BER_CLASS_CON, 0, 0, dissect_p7_RegistrationIdentifier },
+ { &hf_p7_ua_list_attribute_defaults, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
+ { &hf_p7_ua_fetch_attribute_defaults, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
+ { &hf_p7_ua_submission_defaults, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
+ { &hf_p7_content_specific_defaults, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_UARegistration(gboolean implicit_tag _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,
+ UARegistration_set, hf_index, ett_p7_UARegistration);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_ua_registrations_OF_UARegistration_set_of[1] = {
+ { &hf_p7_ua_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_UARegistration },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration(gboolean implicit_tag _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_SIZE_1_ub_ua_registrations_OF_UARegistration_set_of, hf_index, ett_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_GeneralString_SIZE_1_ub_group_descriptor_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_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MessageGroupNameAndDescriptor_set[] = {
+ { &hf_p7_message_group_name, BER_CLASS_CON, 0, 0, dissect_p7_MessageGroupName },
+ { &hf_p7_message_group_descriptor, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_group_descriptor_length },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MessageGroupNameAndDescriptor(gboolean implicit_tag _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,
+ MessageGroupNameAndDescriptor_set, hf_index, ett_p7_MessageGroupNameAndDescriptor);
+
+ return offset;
+}
+
+
+static const value_string p7_MessageGroupRegistrations_item_vals[] = {
+ { 0, "register-group" },
+ { 1, "deregister-group" },
+ { 2, "change-descriptors" },
+ { 0, NULL }
+};
+
+static const ber_choice_t MessageGroupRegistrations_item_choice[] = {
+ { 0, &hf_p7_register_group , BER_CLASS_CON, 0, 0, dissect_p7_MessageGroupNameAndDescriptor },
+ { 1, &hf_p7_deregister_group , BER_CLASS_CON, 1, 0, dissect_p7_MessageGroupName },
+ { 2, &hf_p7_change_descriptors, BER_CLASS_CON, 2, 0, dissect_p7_MessageGroupNameAndDescriptor },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MessageGroupRegistrations_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_choice(actx, tree, tvb, offset,
+ MessageGroupRegistrations_item_choice, hf_index, ett_p7_MessageGroupRegistrations_item,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MessageGroupRegistrations_sequence_of[1] = {
+ { &hf_p7_MessageGroupRegistrations_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_MessageGroupRegistrations_item },
+};
+
+static int
+dissect_p7_MessageGroupRegistrations(gboolean implicit_tag _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,
+ MessageGroupRegistrations_sequence_of, hf_index, ett_p7_MessageGroupRegistrations);
+
+ return offset;
+}
+
+
+static const asn_namedbit T_registrations_bits[] = {
+ { 0, &hf_p7_T_registrations_auto_action_registrations, -1, -1, "auto-action-registrations", NULL },
+ { 1, &hf_p7_T_registrations_list_attribute_defaults, -1, -1, "list-attribute-defaults", NULL },
+ { 2, &hf_p7_T_registrations_fetch_attribute_defaults, -1, -1, "fetch-attribute-defaults", NULL },
+ { 3, &hf_p7_T_registrations_ua_registrations, -1, -1, "ua-registrations", NULL },
+ { 4, &hf_p7_T_registrations_submission_defaults, -1, -1, "submission-defaults", NULL },
+ { 5, &hf_p7_T_registrations_message_group_registrations, -1, -1, "message-group-registrations", NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_p7_T_registrations(gboolean implicit_tag _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_registrations_bits, hf_index, ett_p7_T_registrations,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_extended_registrations_set_of[1] = {
+ { &hf_p7_extended_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+};
+
+static int
+dissect_p7_T_extended_registrations(gboolean implicit_tag _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_extended_registrations_set_of, hf_index, ett_p7_T_extended_registrations);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MessageGroupsRestriction_set[] = {
+ { &hf_p7_parent_group , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_MessageGroupName },
+ { &hf_p7_immediate_descendants_only, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
+ { &hf_p7_omit_descriptors , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MessageGroupsRestriction(gboolean implicit_tag _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,
+ MessageGroupsRestriction_set, hf_index, ett_p7_MessageGroupsRestriction);
+
+ return offset;
+}
+
+
+static const ber_sequence_t RegistrationTypes_set[] = {
+ { &hf_p7_registrations , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_T_registrations },
+ { &hf_p7_extended_registrations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_extended_registrations },
+ { &hf_p7_restrict_message_groups, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_MessageGroupsRestriction },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_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_set(implicit_tag, actx, tree, tvb, offset,
+ RegistrationTypes_set, hf_index, ett_p7_RegistrationTypes);
+
+ return offset;
+}
+
+
+static const ber_sequence_t Register_MSArgument_set[] = {
+ { &hf_p7_auto_action_registrations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration },
+ { &hf_p7_auto_action_deregistrations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration },
+ { &hf_p7_list_attribute_defaults, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
+ { &hf_p7_fetch_attribute_defaults, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
+ { &hf_p7_change_credentials, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_T_change_credentials },
+ { &hf_p7_user_security_labels, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel },
+ { &hf_p7_ua_registrations , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration },
+ { &hf_p7_submission_defaults, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
+ { &hf_p7_message_group_registrations, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_p7_MessageGroupRegistrations },
+ { &hf_p7_registration_status_request, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_p7_RegistrationTypes },
+ { &hf_p7_register_ms_extensions, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Register_MSArgument(gboolean implicit_tag _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,
+ Register_MSArgument_set, hf_index, ett_p7_Register_MSArgument);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_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 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_password_delta , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p7_BIT_STRING },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ProtectedChangeCredentials(gboolean implicit_tag _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,
+ ProtectedChangeCredentials_sequence, hf_index, ett_p7_ProtectedChangeCredentials);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_default_registrations_OF_AttributeType_set_of[1] = {
+ { &hf_p7_registered_list_attribute_defaults_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType(gboolean implicit_tag _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_SIZE_1_ub_default_registrations_OF_AttributeType_set_of, hf_index, ett_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor_set_of[1] = {
+ { &hf_p7_registered_message_group_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_MessageGroupNameAndDescriptor },
+};
+
+static int
+dissect_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor(gboolean implicit_tag _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_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor_set_of, hf_index, ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_registered_information_set[] = {
+ { &hf_p7_auto_action_registrations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration },
+ { &hf_p7_registered_list_attribute_defaults, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType },
+ { &hf_p7_registered_fetch_attribute_defaults, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType },
+ { &hf_p7_ua_registrations , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration },
+ { &hf_p7_submission_defaults, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
+ { &hf_p7_registered_message_group_registrations, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor },
+ { &hf_p7_register_ms_result_extensions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_registered_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_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ T_registered_information_set, hf_index, ett_p7_T_registered_information);
+
+ return offset;
+}
+
+
+static const value_string p7_Register_MSResult_vals[] = {
+ { 0, "no-status-information" },
+ { 1, "registered-information" },
+ { 0, NULL }
+};
+
+static const ber_choice_t Register_MSResult_choice[] = {
+ { 0, &hf_p7_no_status_information, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p7_NULL },
+ { 1, &hf_p7_registered_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_registered_information },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_Register_MSResult(gboolean implicit_tag _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,
+ Register_MSResult_choice, hf_index, ett_p7_Register_MSResult,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_INTEGER_1_ub_auto_actions(gboolean implicit_tag _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 AlertArgument_set[] = {
+ { &hf_p7_alert_registration_identifier, BER_CLASS_CON, 0, 0, dissect_p7_INTEGER_1_ub_auto_actions },
+ { &hf_p7_new_entry , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformation },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AlertArgument(gboolean implicit_tag _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,
+ AlertArgument_set, hf_index, ett_p7_AlertArgument);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_AlertResult(gboolean implicit_tag _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 p7_T_entries_vals[] = {
+ { 1, "selector" },
+ { 2, "specific-entries" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_entries_choice[] = {
+ { 1, &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
+ { 2, &hf_p7_specific_entries , BER_CLASS_CON, 2, 0, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_entries(gboolean implicit_tag _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_entries_choice, hf_index, ett_p7_T_entries,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_OrderedAttributeValue(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 237 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t OrderedAttributeItem_sequence[] = {
+ { &hf_p7_ordered_attribute_value, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_OrderedAttributeValue },
+ { &hf_p7_ordered_position , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_attribute_values },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_OrderedAttributeItem(gboolean implicit_tag _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,
+ OrderedAttributeItem_sequence, hf_index, ett_p7_OrderedAttributeItem);
+
+ return offset;
+}
+
+
+static const ber_sequence_t OrderedAttributeValues_sequence_of[1] = {
+ { &hf_p7_ordered_attribute_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_OrderedAttributeItem },
+};
+
+static int
+dissect_p7_OrderedAttributeValues(gboolean implicit_tag _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,
+ OrderedAttributeValues_sequence_of, hf_index, ett_p7_OrderedAttributeValues);
+
+ return offset;
+}
+
+
+static const ber_sequence_t OrderedAttribute_sequence[] = {
+ { &hf_p7_attribute_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
+ { &hf_p7_ordered_attribute_values, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_OrderedAttributeValues },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_OrderedAttribute(gboolean implicit_tag _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,
+ OrderedAttribute_sequence, hf_index, ett_p7_OrderedAttribute);
+
+ return offset;
+}
+
+
+static const value_string p7_T_modification_vals[] = {
+ { 1, "add-attribute" },
+ { 2, "remove-attribute" },
+ { 3, "add-values" },
+ { 4, "remove-values" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_modification_choice[] = {
+ { 1, &hf_p7_add_attribute , BER_CLASS_CON, 1, 0, dissect_p7_Attribute },
+ { 2, &hf_p7_remove_attribute , BER_CLASS_CON, 2, 0, dissect_p7_AttributeType },
+ { 3, &hf_p7_add_values , BER_CLASS_CON, 3, 0, dissect_p7_OrderedAttribute },
+ { 4, &hf_p7_remove_values , BER_CLASS_CON, 4, 0, dissect_p7_OrderedAttribute },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_modification(gboolean implicit_tag _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_modification_choice, hf_index, ett_p7_T_modification,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EntryModification_set[] = {
+ { &hf_p7_strict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
+ { &hf_p7_modification , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_modification },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_EntryModification(gboolean implicit_tag _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,
+ EntryModification_set, hf_index, ett_p7_EntryModification);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification_sequence_of[1] = {
+ { &hf_p7_modifications_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_EntryModification },
+};
+
+static int
+dissect_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification(gboolean implicit_tag _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_SIZE_1_ub_modifications_OF_EntryModification_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ModifyArgument_set[] = {
+ { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
+ { &hf_p7_entries , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_entries },
+ { &hf_p7_modifications , BER_CLASS_CON, 3, 0, dissect_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification },
+ { &hf_p7_modify_extensions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ModifyArgument(gboolean implicit_tag _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,
+ ModifyArgument_set, hf_index, ett_p7_ModifyArgument);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ModifyResult_set[] = {
+ { &hf_p7_entries_modified , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
+ { &hf_p7_modify_result_extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ModifyResult(gboolean implicit_tag _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,
+ ModifyResult_set, hf_index, ett_p7_ModifyResult);
+
+ return 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_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSMessageSubmissionArgument(gboolean implicit_tag _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,
+ MSMessageSubmissionArgument_sequence, hf_index, ett_p7_MSMessageSubmissionArgument);
+
+ return offset;
+}
+
+
+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 },
+};
+
+static int
+dissect_p7_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_p7_SET_OF_ExtensionField);
+
+ return offset;
+}
+
+
+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_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 }
+};
+
+static int
+dissect_p7_T_mts_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_mts_result_set, hf_index, ett_p7_T_mts_result);
+
+ return offset;
+}
+
+
+static const value_string p7_MSMessageSubmissionResult_vals[] = {
+ { 0, "mts-result" },
+ { 1, "store-draft-result" },
+ { 0, NULL }
+};
+
+static const ber_choice_t MSMessageSubmissionResult_choice[] = {
+ { 0, &hf_p7_mts_result , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_mts_result },
+ { 1, &hf_p7_store_draft_result, BER_CLASS_CON, 4, 0, dissect_p7_CommonSubmissionResults },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSMessageSubmissionResult(gboolean implicit_tag _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,
+ MSMessageSubmissionResult_choice, hf_index, ett_p7_MSMessageSubmissionResult,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t MSProbeSubmissionArgument_set[] = {
+ { &hf_p7_probe_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionEnvelope },
+ { &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSProbeSubmissionArgument(gboolean implicit_tag _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,
+ MSProbeSubmissionArgument_set, hf_index, ett_p7_MSProbeSubmissionArgument);
+
+ return offset;
+}
+
+
+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, BER_FLAGS_IMPLTAG, dissect_x411_ProbeSubmissionTime },
+ { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_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 }
+};
+
+static int
+dissect_p7_MSProbeSubmissionResult(gboolean implicit_tag _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,
+ MSProbeSubmissionResult_set, hf_index, ett_p7_MSProbeSubmissionResult);
+
+ return offset;
+}
+
+
+static const value_string p7_AttributeProblem_vals[] = {
+ { 0, "invalid-attribute-value" },
+ { 1, "unavailable-attribute-type" },
+ { 2, "inappropriate-matching" },
+ { 3, "attribute-type-not-subscribed" },
+ { 4, "inappropriate-for-operation" },
+ { 5, "inappropriate-modification" },
+ { 6, "single-valued-attribute" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_AttributeProblem(gboolean implicit_tag _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_p7_AttributeErrorProblemValue(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 241 "p7.cnf"
+ if(object_identifier_id)
+ call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeErrorProblem_set[] = {
+ { &hf_p7_attribute_problem, BER_CLASS_CON, 0, 0, dissect_p7_AttributeProblem },
+ { &hf_p7_type , BER_CLASS_CON, 1, 0, dissect_p7_AttributeType },
+ { &hf_p7_problem_value , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_AttributeErrorProblemValue },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AttributeErrorProblem(gboolean implicit_tag _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,
+ AttributeErrorProblem_set, hf_index, ett_p7_AttributeErrorProblem);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeErrorProblems_set_of[1] = {
+ { &hf_p7_attribute_error_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeErrorProblem },
+};
+
+static int
+dissect_p7_AttributeErrorProblems(gboolean implicit_tag _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,
+ AttributeErrorProblems_set_of, hf_index, ett_p7_AttributeErrorProblems);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AttributeErrorParameter_set[] = {
+ { &hf_p7_attribute_error_problems, BER_CLASS_CON, 0, 0, dissect_p7_AttributeErrorProblems },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AttributeErrorParameter(gboolean implicit_tag _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,
+ AttributeErrorParameter_set, hf_index, ett_p7_AttributeErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_AutoActionRequestProblem_vals[] = {
+ { 0, "unavailable-auto-action-type" },
+ { 1, "auto-action-type-not-subscribed" },
+ { 2, "not-willing-to-perform" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_AutoActionRequestProblem(gboolean implicit_tag _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 T_auto_action_request_error_problems_item_set[] = {
+ { &hf_p7_auto_action_request_problem, BER_CLASS_CON, 0, 0, dissect_p7_AutoActionRequestProblem },
+ { &hf_p7_auto_action_type , BER_CLASS_CON, 1, 0, dissect_p7_AutoActionType },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_auto_action_request_error_problems_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,
+ T_auto_action_request_error_problems_item_set, hf_index, ett_p7_T_auto_action_request_error_problems_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_auto_action_request_error_problems_set_of[1] = {
+ { &hf_p7_auto_action_request_error_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_auto_action_request_error_problems_item },
+};
+
+static int
+dissect_p7_T_auto_action_request_error_problems(gboolean implicit_tag _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_auto_action_request_error_problems_set_of, hf_index, ett_p7_T_auto_action_request_error_problems);
+
+ return offset;
+}
+
+
+static const ber_sequence_t AutoActionRequestErrorParameter_set[] = {
+ { &hf_p7_auto_action_request_error_problems, BER_CLASS_CON, 0, 0, dissect_p7_T_auto_action_request_error_problems },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_AutoActionRequestErrorParameter(gboolean implicit_tag _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,
+ AutoActionRequestErrorParameter_set, hf_index, ett_p7_AutoActionRequestErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_DeleteProblem_vals[] = {
+ { 0, "child-entry-specified" },
+ { 1, "delete-restriction-problem" },
+ { 2, "new-entry-specified" },
+ { 3, "entry-class-restriction" },
+ { 4, "stored-message-exists" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_DeleteProblem(gboolean implicit_tag _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 DeleteErrorProblem_set[] = {
+ { &hf_p7_delete_problem , BER_CLASS_CON, 0, 0, dissect_p7_DeleteProblem },
+ { &hf_p7_sequence_number , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_DeleteErrorProblem(gboolean implicit_tag _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,
+ DeleteErrorProblem_set, hf_index, ett_p7_DeleteErrorProblem);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DeleteErrorProblems_set_of[1] = {
+ { &hf_p7_delete_error_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_DeleteErrorProblem },
+};
+
+static int
+dissect_p7_DeleteErrorProblems(gboolean implicit_tag _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,
+ DeleteErrorProblems_set_of, hf_index, ett_p7_DeleteErrorProblems);
+
+ return offset;
+}
+
+
+static const ber_sequence_t DeleteErrorParameter_set[] = {
+ { &hf_p7_delete_error_problems, BER_CLASS_CON, 0, 0, dissect_p7_DeleteErrorProblems },
+ { &hf_p7_entries_deleted , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_DeleteErrorParameter(gboolean implicit_tag _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,
+ DeleteErrorParameter_set, hf_index, ett_p7_DeleteErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_FetchRestrictionProblem_vals[] = {
+ { 1, "content-type-problem" },
+ { 2, "eit-problem" },
+ { 3, "maximum-length-problem" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_FetchRestrictionProblem(gboolean implicit_tag _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 p7_T_restriction_vals[] = {
+ { 0, "content-type" },
+ { 1, "eit" },
+ { 2, "attribute-length" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_restriction_choice[] = {
+ { 0, &hf_p7_content_type , BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER },
+ { 1, &hf_p7_eit , BER_CLASS_CON, 1, 0, dissect_p7_MS_EITs },
+ { 2, &hf_p7_attribute_length , BER_CLASS_CON, 2, 0, dissect_p7_INTEGER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_T_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_choice(actx, tree, tvb, offset,
+ T_restriction_choice, hf_index, ett_p7_T_restriction,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FetchRestrictionErrorProblem_set[] = {
+ { &hf_p7_fetch_restriction_problem, BER_CLASS_CON, 3, 0, dissect_p7_FetchRestrictionProblem },
+ { &hf_p7_restriction , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_restriction },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_FetchRestrictionErrorProblem(gboolean implicit_tag _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,
+ FetchRestrictionErrorProblem_set, hf_index, ett_p7_FetchRestrictionErrorProblem);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FetchRestrictionErrorProblems_set_of[1] = {
+ { &hf_p7_fetch_restriction_error_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_FetchRestrictionErrorProblem },
+};
+
+static int
+dissect_p7_FetchRestrictionErrorProblems(gboolean implicit_tag _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,
+ FetchRestrictionErrorProblems_set_of, hf_index, ett_p7_FetchRestrictionErrorProblems);
+
+ return offset;
+}
+
+
+static const ber_sequence_t FetchRestrictionErrorParameter_set[] = {
+ { &hf_p7_fetch_restriction_error_problems, BER_CLASS_CON, 0, 0, dissect_p7_FetchRestrictionErrorProblems },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_FetchRestrictionErrorParameter(gboolean implicit_tag _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,
+ FetchRestrictionErrorParameter_set, hf_index, ett_p7_FetchRestrictionErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_RangeProblem_vals[] = {
+ { 0, "reversed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_RangeProblem(gboolean implicit_tag _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 RangeErrorParameter_set[] = {
+ { &hf_p7_range_problem , BER_CLASS_CON, 0, 0, dissect_p7_RangeProblem },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_RangeErrorParameter(gboolean implicit_tag _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,
+ RangeErrorParameter_set, hf_index, ett_p7_RangeErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_SequenceNumberProblem_vals[] = {
+ { 0, "no-such-entry" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_SequenceNumberProblem(gboolean implicit_tag _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 SequenceNumberErrorProblem_set[] = {
+ { &hf_p7_sequence_number_problem, BER_CLASS_CON, 0, 0, dissect_p7_SequenceNumberProblem },
+ { &hf_p7_sequence_number , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_SequenceNumberErrorProblem(gboolean implicit_tag _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,
+ SequenceNumberErrorProblem_set, hf_index, ett_p7_SequenceNumberErrorProblem);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SequenceNumberErrorProblems_set_of[1] = {
+ { &hf_p7_sequence_number_error_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumberErrorProblem },
+};
+
+static int
+dissect_p7_SequenceNumberErrorProblems(gboolean implicit_tag _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,
+ SequenceNumberErrorProblems_set_of, hf_index, ett_p7_SequenceNumberErrorProblems);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SequenceNumberErrorParameter_set[] = {
+ { &hf_p7_sequence_number_error_problems, BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumberErrorProblems },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_SequenceNumberErrorParameter(gboolean implicit_tag _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,
+ SequenceNumberErrorParameter_set, hf_index, ett_p7_SequenceNumberErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_ServiceProblem_vals[] = {
+ { 0, "busy" },
+ { 1, "unavailable" },
+ { 2, "unwilling-to-perform" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_ServiceProblem(gboolean implicit_tag _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 ServiceErrorParameter_set[] = {
+ { &hf_p7_service_problem , BER_CLASS_CON, 0, 0, dissect_p7_ServiceProblem },
+ { &hf_p7_supplementary_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_supplementary_info_length },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ServiceErrorParameter(gboolean implicit_tag _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,
+ ServiceErrorParameter_set, hf_index, ett_p7_ServiceErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_MessageGroupProblem_vals[] = {
+ { 0, "name-not-registered" },
+ { 1, "name-already-registered" },
+ { 2, "parent-not-registered" },
+ { 3, "group-not-empty" },
+ { 4, "name-in-use" },
+ { 5, "child-group-registered" },
+ { 6, "group-depth-exceeded" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_MessageGroupProblem(gboolean implicit_tag _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 MessageGroupErrorParameter_set[] = {
+ { &hf_p7_message_group_problem, BER_CLASS_CON, 0, 0, dissect_p7_MessageGroupProblem },
+ { &hf_p7_name , BER_CLASS_CON, 1, 0, dissect_p7_MessageGroupName },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MessageGroupErrorParameter(gboolean implicit_tag _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,
+ MessageGroupErrorParameter_set, hf_index, ett_p7_MessageGroupErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_MSExtensionErrorParameter_vals[] = {
+ { 0, "ms-extension-problem" },
+ { 1, "unknown-ms-extension" },
+ { 0, NULL }
+};
+
+static const ber_choice_t MSExtensionErrorParameter_choice[] = {
+ { 0, &hf_p7_ms_extension_problem, BER_CLASS_CON, 0, 0, dissect_p7_MSExtensionItem },
+ { 1, &hf_p7_unknown_ms_extension, BER_CLASS_CON, 1, 0, dissect_p7_OBJECT_IDENTIFIER },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_MSExtensionErrorParameter(gboolean implicit_tag _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,
+ MSExtensionErrorParameter_choice, hf_index, ett_p7_MSExtensionErrorParameter,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string p7_RegistrationProblem_vals[] = {
+ { 0, "registration-not-supported" },
+ { 1, "registration-improperly-specified" },
+ { 2, "registration-limit-exceeded" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_RegistrationProblem(gboolean implicit_tag _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 RegisterMSErrorParameter_set[] = {
+ { &hf_p7_registration_problem, BER_CLASS_CON, 0, 0, dissect_p7_RegistrationProblem },
+ { &hf_p7_registration_type, BER_CLASS_CON, 1, 0, dissect_p7_RegistrationTypes },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_RegisterMSErrorParameter(gboolean implicit_tag _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,
+ RegisterMSErrorParameter_set, hf_index, ett_p7_RegisterMSErrorParameter);
+
+ return offset;
+}
+
+
+static const value_string p7_ModifyProblem_vals[] = {
+ { 0, "attribute-not-present" },
+ { 1, "value-not-present" },
+ { 2, "attribute-or-value-already-exists" },
+ { 3, "invalid-position" },
+ { 4, "modify-restriction-problem" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_ModifyProblem(gboolean implicit_tag _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 ModifyErrorParameter_set[] = {
+ { &hf_p7_entries_modified , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
+ { &hf_p7_failing_entry , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
+ { &hf_p7_modification_number, BER_CLASS_CON, 2, 0, dissect_p7_INTEGER },
+ { &hf_p7_modify_problem , BER_CLASS_CON, 3, 0, dissect_p7_ModifyProblem },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ModifyErrorParameter(gboolean implicit_tag _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,
+ ModifyErrorParameter_set, hf_index, ett_p7_ModifyErrorParameter);
+
+ return offset;
+}
+
+
+static const asn_namedbit T_entry_class_problem_bits[] = {
+ { 0, &hf_p7_T_entry_class_problem_unsupported_entry_class, -1, -1, "unsupported-entry-class", NULL },
+ { 1, &hf_p7_T_entry_class_problem_entry_class_not_subscribed, -1, -1, "entry-class-not-subscribed", NULL },
+ { 2, &hf_p7_T_entry_class_problem_inappropriate_entry_class, -1, -1, "inappropriate-entry-class", NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_p7_T_entry_class_problem(gboolean implicit_tag _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_entry_class_problem_bits, hf_index, ett_p7_T_entry_class_problem,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EntryClassErrorParameter_set[] = {
+ { &hf_p7_entry_class , BER_CLASS_CON, 0, 0, dissect_p7_EntryClass },
+ { &hf_p7_entry_class_problem, BER_CLASS_CON, 1, 0, dissect_p7_T_entry_class_problem },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_EntryClassErrorParameter(gboolean implicit_tag _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,
+ EntryClassErrorParameter_set, hf_index, ett_p7_EntryClassErrorParameter);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_INTEGER_1_ub_recipients(gboolean implicit_tag _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 PerRecipientReport_sequence[] = {
+ { &hf_p7_report_entry , BER_CLASS_CON, 0, 0, dissect_p7_SequenceNumber },
+ { &hf_p7_position , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_recipients },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_PerRecipientReport(gboolean implicit_tag _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,
+ PerRecipientReport_sequence, hf_index, ett_p7_PerRecipientReport);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SEQUENCE_OF_PerRecipientReport_sequence_of[1] = {
+ { &hf_p7_location_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_PerRecipientReport },
+};
+
+static int
+dissect_p7_SEQUENCE_OF_PerRecipientReport(gboolean implicit_tag _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_PerRecipientReport_sequence_of, hf_index, ett_p7_SEQUENCE_OF_PerRecipientReport);
+
+ return offset;
+}
+
+
+static const value_string p7_ReportLocation_vals[] = {
+ { 0, "no-correlated-reports" },
+ { 1, "location" },
+ { 0, NULL }
+};
+
+static const ber_choice_t ReportLocation_choice[] = {
+ { 0, &hf_p7_no_correlated_reports, BER_CLASS_CON, 0, 0, dissect_p7_NULL },
+ { 1, &hf_p7_location , BER_CLASS_CON, 1, 0, dissect_p7_SEQUENCE_OF_PerRecipientReport },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_ReportLocation(gboolean implicit_tag _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,
+ ReportLocation_choice, hf_index, ett_p7_ReportLocation,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string p7_ReportSummary_vals[] = {
+ { 0, "no-report-requested" },
+ { 1, "no-report-received" },
+ { 2, "report-outstanding" },
+ { 3, "delivery-cancelled" },
+ { 4, "delivery-report-from-another-recipient" },
+ { 5, "non-delivery-report-from-another-recipient" },
+ { 6, "delivery-report-from-intended-recipient" },
+ { 7, "non-delivery-report-from-intended-recipient" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_ReportSummary(gboolean implicit_tag _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_p7_DeferredDeliveryCancellationTime(gboolean implicit_tag _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_UTCTime,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_DeletionTime(gboolean implicit_tag _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_UTCTime,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string p7_SubmissionError_vals[] = {
+ { 1, "submission-control-violated" },
+ { 2, "originator-invalid" },
+ { 3, "recipient-improperly-specified" },
+ { 4, "element-of-service-not-subscribed" },
+ { 11, "inconsistent-request" },
+ { 12, "security-error" },
+ { 13, "unsupported-critical-function" },
+ { 15, "remote-bind-error" },
+ { 27, "service-error" },
+ { 30, "message-group-error" },
+ { 31, "ms-extension-error" },
+ { 34, "entry-class-error" },
+ { 0, NULL }
+};
+
+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 },
+ { 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 },
+ { 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 },
+ { 30, &hf_p7_message_group_error, BER_CLASS_CON, 30, 0, dissect_p7_MessageGroupErrorParameter },
+ { 31, &hf_p7_ms_extension_error, BER_CLASS_CON, 31, 0, dissect_p7_MSExtensionErrorParameter },
+ { 34, &hf_p7_entry_class_error, BER_CLASS_CON, 34, 0, dissect_p7_EntryClassErrorParameter },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_SubmissionError(gboolean implicit_tag _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,
+ SubmissionError_choice, hf_index, ett_p7_SubmissionError,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string p7_SignatureStatus_vals[] = {
+ { 0, "signature-absent" },
+ { 1, "verification-in-progress" },
+ { 2, "verification-succeeded" },
+ { 3, "verification-not-possible" },
+ { 4, "content-converted" },
+ { 5, "signature-encrypted" },
+ { 6, "algorithm-not-supported" },
+ { 7, "certificate-not-obtainable" },
+ { 8, "verification-failed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_SignatureStatus(gboolean implicit_tag _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 SignatureVerificationStatus_set[] = {
+ { &hf_p7_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
+ { &hf_p7_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
+ { &hf_p7_message_token , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
+ { &hf_p7_report_origin_authentication_check, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
+ { &hf_p7_proof_of_delivery, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
+ { &hf_p7_proof_of_submission, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_SignatureVerificationStatus(gboolean implicit_tag _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,
+ SignatureVerificationStatus_set, hf_index, ett_p7_SignatureVerificationStatus);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_StoragePeriod(gboolean implicit_tag _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_p7_StorageTime(gboolean implicit_tag _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_UTCTime,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+/*--- PDUs ---*/
+
+static void dissect_AutoActionType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_AutoActionType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AutoActionType_PDU);
+}
+static void dissect_AutoActionError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_AutoActionError(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AutoActionError_PDU);
+}
+static void dissect_EntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_EntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_EntryType_PDU);
+}
+static void dissect_SequenceNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_SequenceNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SequenceNumber_PDU);
+}
+static void dissect_RetrievalStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_RetrievalStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_RetrievalStatus_PDU);
+}
+static void dissect_MessageGroupName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MessageGroupName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MessageGroupName_PDU);
+}
+static void dissect_MSBindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSBindArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSBindArgument_PDU);
+}
+static void dissect_MS_EIT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MS_EIT(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MS_EIT_PDU);
+}
+static void dissect_MSBindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSBindResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSBindResult_PDU);
+}
+static void dissect_MSBindError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSBindError(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSBindError_PDU);
+}
+static void dissect_CreationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_CreationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_CreationTime_PDU);
+}
+static void dissect_SummarizeArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_SummarizeArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SummarizeArgument_PDU);
+}
+static void dissect_SummarizeResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_SummarizeResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SummarizeResult_PDU);
+}
+static void dissect_ListArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ListArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ListArgument_PDU);
+}
+static void dissect_ListResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ListResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ListResult_PDU);
+}
+static void dissect_FetchArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_FetchArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_FetchArgument_PDU);
+}
+static void dissect_FetchResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_FetchResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_FetchResult_PDU);
+}
+static void dissect_DeleteArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_DeleteArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeleteArgument_PDU);
+}
+static void dissect_DeleteResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_DeleteResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeleteResult_PDU);
+}
+static void dissect_Register_MSArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_Register_MSArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_Register_MSArgument_PDU);
+}
+static void dissect_Register_MSResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_Register_MSResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_Register_MSResult_PDU);
+}
+static void dissect_AlertArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_AlertArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AlertArgument_PDU);
+}
+static void dissect_AlertResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_AlertResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AlertResult_PDU);
+}
+static void dissect_ModifyArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ModifyArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ModifyArgument_PDU);
+}
+static void dissect_ModifyResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ModifyResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ModifyResult_PDU);
+}
+static void dissect_MSMessageSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSMessageSubmissionArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSMessageSubmissionArgument_PDU);
+}
+static void dissect_MSMessageSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSMessageSubmissionResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSMessageSubmissionResult_PDU);
+}
+static void dissect_MSProbeSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSProbeSubmissionArgument(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSProbeSubmissionArgument_PDU);
+}
+static void dissect_MSProbeSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSProbeSubmissionResult(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSProbeSubmissionResult_PDU);
+}
+static void dissect_AttributeErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_AttributeErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AttributeErrorParameter_PDU);
+}
+static void dissect_AutoActionRequestErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_AutoActionRequestErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AutoActionRequestErrorParameter_PDU);
+}
+static void dissect_DeleteErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_DeleteErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeleteErrorParameter_PDU);
+}
+static void dissect_FetchRestrictionErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_FetchRestrictionErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_FetchRestrictionErrorParameter_PDU);
+}
+static void dissect_RangeErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_RangeErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_RangeErrorParameter_PDU);
+}
+static void dissect_SequenceNumberErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_SequenceNumberErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SequenceNumberErrorParameter_PDU);
+}
+static void dissect_ServiceErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ServiceErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ServiceErrorParameter_PDU);
+}
+static void dissect_MessageGroupErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MessageGroupErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MessageGroupErrorParameter_PDU);
+}
+static void dissect_MSExtensionErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_MSExtensionErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MSExtensionErrorParameter_PDU);
+}
+static void dissect_RegisterMSErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_RegisterMSErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_RegisterMSErrorParameter_PDU);
+}
+static void dissect_ModifyErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ModifyErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ModifyErrorParameter_PDU);
+}
+static void dissect_EntryClassErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_EntryClassErrorParameter(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_EntryClassErrorParameter_PDU);
+}
+static void dissect_ReportLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ReportLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ReportLocation_PDU);
+}
+static void dissect_PerRecipientReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_PerRecipientReport(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_PerRecipientReport_PDU);
+}
+static void dissect_ReportSummary_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_ReportSummary(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ReportSummary_PDU);
+}
+static void dissect_DeferredDeliveryCancellationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_DeferredDeliveryCancellationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeferredDeliveryCancellationTime_PDU);
+}
+static void dissect_DeletionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_DeletionTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeletionTime_PDU);
+}
+static void dissect_SubmissionError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_SubmissionError(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SubmissionError_PDU);
+}
+static void dissect_SignatureVerificationStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_SignatureVerificationStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SignatureVerificationStatus_PDU);
+}
+static void dissect_StoragePeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_StoragePeriod(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_StoragePeriod_PDU);
+}
+static void dissect_StorageTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+ dissect_p7_StorageTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_StorageTime_PDU);
+}
+
+
+/*--- End of included file: packet-p7-fn.c ---*/
+#line 72 "packet-p7-template.c"
+
+/*
+* Dissect P7 PDUs inside a ROS PDUs
+*/
+static void
+dissect_p7(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 (*p7_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
+ char *p7_op_name;
+ int hf_p7_index = -1;
+ asn1_ctx_t asn1_ctx;
+
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+
+ /* 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_p7, tvb, 0, -1, FALSE);
+ tree = proto_item_add_subtree(item, ett_p7);
+ }
+ if (check_col(pinfo->cinfo, COL_PROTOCOL))
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "P7");
+ if (check_col(pinfo->cinfo, COL_INFO))
+ col_clear(pinfo->cinfo, COL_INFO);
+
+ switch(session->ros_op & ROS_OP_MASK) {
+ case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
+ p7_dissector = dissect_p7_MSBindArgument;
+ p7_op_name = "MS-Bind-Argument";
+ hf_p7_index = hf_p7_MSBindArgument_PDU;
+ break;
+ case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
+ p7_dissector = dissect_p7_MSBindResult;
+ p7_op_name = "MS-Bind-Result";
+ hf_p7_index = hf_p7_MSBindResult_PDU;
+ break;
+ case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
+ p7_dissector = dissect_p7_MSBindError;
+ p7_op_name = "MS-Bind-Error";
+ hf_p7_index = hf_p7_MSBindError_PDU;
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 3: /* msMessageSubmission */
+ p7_dissector = dissect_p7_MSMessageSubmissionArgument;
+ p7_op_name = "MS-Message-Submission-Argument";
+ hf_p7_index = hf_p7_MSMessageSubmissionArgument_PDU;
+ break;
+ case 4: /* msProbeSubmission */
+ p7_dissector = dissect_p7_MSProbeSubmissionArgument;
+ p7_op_name = "MS-Probe-Submission-Argument";
+ hf_p7_index = hf_p7_MSProbeSubmissionArgument_PDU;
+ break;
+ case 20: /* summarize */
+ p7_dissector = dissect_p7_SummarizeArgument;
+ p7_op_name = "Summarize-Argument";
+ hf_p7_index = hf_p7_SummarizeArgument_PDU;
+ break;
+ case 21: /* list */
+ p7_dissector = dissect_p7_ListArgument;
+ p7_op_name = "List-Argument";
+ hf_p7_index = hf_p7_ListArgument_PDU;
+ break;
+ case 22: /* fetch */
+ p7_dissector = dissect_p7_FetchArgument;
+ p7_op_name = "Fetch-Argument";
+ hf_p7_index = hf_p7_FetchArgument_PDU;
+ break;
+ case 23: /* delete */
+ p7_dissector = dissect_p7_DeleteArgument;
+ p7_op_name = "Delete-Argument";
+ hf_p7_index = hf_p7_DeleteArgument_PDU;
+ break;
+ case 24: /* register-ms */
+ p7_dissector = dissect_p7_Register_MSArgument;
+ p7_op_name = "RegisterMS-Argument";
+ hf_p7_index = hf_p7_Register_MSArgument_PDU;
+ break;
+ case 25: /* alert */
+ p7_dissector = dissect_p7_AlertArgument;
+ p7_op_name = "Alert-Argument";
+ hf_p7_index = hf_p7_AlertArgument_PDU;
+ break;
+ case 26: /* modify */
+ p7_dissector = dissect_p7_ModifyArgument;
+ p7_op_name = "Modify-Argument";
+ hf_p7_index = hf_p7_ModifyArgument_PDU;
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 argument opcode (%d)",
+ session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 3: /* msMessageSubmission */
+ p7_dissector = dissect_p7_MSMessageSubmissionResult;
+ p7_op_name = "MS-Message-Submission-Result";
+ hf_p7_index = hf_p7_MSMessageSubmissionResult_PDU;
+ break;
+ case 4: /* msProbeSubmission */
+ p7_dissector = dissect_p7_MSProbeSubmissionResult;
+ p7_op_name = "MS-Probe-Submission-Result";
+ hf_p7_index = hf_p7_MSProbeSubmissionResult_PDU;
+ break;
+ case 20: /* summarize */
+ p7_dissector = dissect_p7_SummarizeResult;
+ p7_op_name = "Summarize-Result";
+ hf_p7_index = hf_p7_SummarizeResult_PDU;
+ break;
+ case 21: /* list */
+ p7_dissector = dissect_p7_ListResult;
+ p7_op_name = "List-Result";
+ hf_p7_index = hf_p7_ListResult_PDU;
+ break;
+ case 22: /* fetch */
+ p7_dissector = dissect_p7_FetchResult;
+ p7_op_name = "Fetch-Result";
+ hf_p7_index = hf_p7_FetchResult_PDU;
+ break;
+ case 23: /* delete */
+ p7_dissector = dissect_p7_DeleteResult;
+ p7_op_name = "Delete-Result";
+ break;
+ case 24: /* register-ms */
+ p7_dissector = dissect_p7_Register_MSResult;
+ p7_op_name = "RegisterMS-Result";
+ hf_p7_index = hf_p7_Register_MSResult_PDU;
+ break;
+ case 25: /* alert */
+ p7_dissector = dissect_p7_AlertResult;
+ p7_op_name = "Alert-Result";
+ hf_p7_index = hf_p7_AlertResult_PDU;
+ break;
+ case 26: /* modify */
+ p7_dissector = dissect_p7_ModifyResult;
+ p7_op_name = "Modify-Result";
+ hf_p7_index = hf_p7_ModifyResult_PDU;
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 result opcode (%d)",
+ session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
+ switch(session->ros_op & ROS_OP_OPCODE_MASK) {
+ case 21: /* attributeError */
+ p7_dissector = dissect_p7_AttributeErrorParameter;
+ p7_op_name = "Attribute-Error";
+ hf_p7_index = hf_p7_AttributeErrorParameter_PDU;
+ break;
+ case 22: /* autoActionRequestError */
+ p7_dissector = dissect_p7_AutoActionRequestErrorParameter;
+ p7_op_name = "Auto-Action-Request-Error";
+ hf_p7_index = hf_p7_AutoActionRequestErrorParameter_PDU;
+ break;
+ case 23: /* deleteError */
+ p7_dissector = dissect_p7_DeleteErrorParameter;
+ p7_op_name = "Delete-Error";
+ hf_p7_index = hf_p7_DeleteErrorParameter_PDU;
+ break;
+ case 24: /* fetchRestrictionError */
+ p7_dissector = dissect_p7_FetchRestrictionErrorParameter;
+ p7_op_name = "Fetch-Restriction-Error";
+ hf_p7_index = hf_p7_FetchRestrictionErrorParameter_PDU;
+ break;
+ case 25: /* rangeError */
+ p7_dissector = dissect_p7_RangeErrorParameter;
+ p7_op_name = "Range-Error";
+ hf_p7_index = hf_p7_RangeErrorParameter_PDU;
+ break;
+ case 26: /* securityError */
+ p7_dissector = dissect_x411_SecurityProblem;
+ p7_op_name = "Security-Error";
+ break;
+ case 27: /* serviceError*/
+ p7_dissector = dissect_p7_ServiceErrorParameter;
+ p7_op_name = "Service-Error";
+ hf_p7_index = hf_p7_ServiceErrorParameter_PDU;
+ break;
+ case 28: /* sequenceNumberError */
+ p7_dissector = dissect_p7_SequenceNumberErrorParameter;
+ p7_op_name = "Sequence-Number-Error";
+ hf_p7_index = hf_p7_SequenceNumberErrorParameter_PDU;
+ break;
+ case 29: /* invalidParametersError */
+ p7_dissector = NULL;
+ p7_op_name = "Invalid-Parameters-Error";
+ break;
+ case 30: /* messageGroupError */
+ p7_dissector = dissect_p7_MessageGroupErrorParameter;
+ p7_op_name = "Message-Group-Error";
+ hf_p7_index = hf_p7_MessageGroupErrorParameter_PDU;
+ break;
+ case 31: /* msExtensioError */
+ p7_dissector = dissect_p7_MSExtensionErrorParameter;
+ p7_op_name = "MS-Extension-Error";
+ hf_p7_index = hf_p7_MSExtensionErrorParameter_PDU;
+ break;
+ case 32: /* registerMSError */
+ p7_dissector = dissect_p7_RegisterMSErrorParameter;
+ p7_op_name = "Register-MS-Error";
+ hf_p7_index = hf_p7_RegisterMSErrorParameter_PDU;
+ break;
+ case 33: /* sequenceNumberError */
+ p7_dissector = dissect_p7_ModifyErrorParameter;
+ p7_op_name = "Modify-Error";
+ hf_p7_index = hf_p7_ModifyErrorParameter_PDU;
+ break;
+ case 34: /* entryClassError */
+ p7_dissector = dissect_p7_EntryClassErrorParameter;
+ p7_op_name = "Entry-Class-Error";
+ hf_p7_index = hf_p7_EntryClassErrorParameter_PDU;
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 error opcode (%d)",
+ session->ros_op & ROS_OP_OPCODE_MASK);
+ break;
+ }
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 PDU");
+ return;
+ }
+
+ if(p7_dissector) {
+ if (check_col(pinfo->cinfo, COL_INFO))
+ col_set_str(pinfo->cinfo, COL_INFO, p7_op_name);
+
+ while (tvb_reported_length_remaining(tvb, offset) > 0){
+ old_offset=offset;
+ offset=(*p7_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_index);
+ if(offset == old_offset){
+ proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte P7 PDU");
+ offset = tvb_length(tvb);
+ break;
+ }
+ }
+ }
+}
+
+
+/*--- proto_register_p7 -------------------------------------------*/
+void proto_register_p7(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] =
+ {
+
+/*--- Included file: packet-p7-hfarr.c ---*/
+#line 1 "packet-p7-hfarr.c"
+ { &hf_p7_AutoActionType_PDU,
+ { "AutoActionType", "p7.AutoActionType",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AutoActionType", HFILL }},
+ { &hf_p7_AutoActionError_PDU,
+ { "AutoActionError", "p7.AutoActionError",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AutoActionError", HFILL }},
+ { &hf_p7_EntryType_PDU,
+ { "EntryType", "p7.EntryType",
+ FT_INT32, BASE_DEC, VALS(p7_EntryType_vals), 0,
+ "p7.EntryType", HFILL }},
+ { &hf_p7_SequenceNumber_PDU,
+ { "SequenceNumber", "p7.SequenceNumber",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_RetrievalStatus_PDU,
+ { "RetrievalStatus", "p7.RetrievalStatus",
+ FT_INT32, BASE_DEC, VALS(p7_RetrievalStatus_vals), 0,
+ "p7.RetrievalStatus", HFILL }},
+ { &hf_p7_MessageGroupName_PDU,
+ { "MessageGroupName", "p7.MessageGroupName",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupName", HFILL }},
+ { &hf_p7_MSBindArgument_PDU,
+ { "MSBindArgument", "p7.MSBindArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSBindArgument", HFILL }},
+ { &hf_p7_MS_EIT_PDU,
+ { "MS-EIT", "p7.MS_EIT",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.MS_EIT", HFILL }},
+ { &hf_p7_MSBindResult_PDU,
+ { "MSBindResult", "p7.MSBindResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSBindResult", HFILL }},
+ { &hf_p7_MSBindError_PDU,
+ { "MSBindError", "p7.MSBindError",
+ FT_UINT32, BASE_DEC, VALS(p7_MSBindError_vals), 0,
+ "p7.MSBindError", HFILL }},
+ { &hf_p7_CreationTime_PDU,
+ { "CreationTime", "p7.CreationTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.CreationTime", HFILL }},
+ { &hf_p7_SummarizeArgument_PDU,
+ { "SummarizeArgument", "p7.SummarizeArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.SummarizeArgument", HFILL }},
+ { &hf_p7_SummarizeResult_PDU,
+ { "SummarizeResult", "p7.SummarizeResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.SummarizeResult", HFILL }},
+ { &hf_p7_ListArgument_PDU,
+ { "ListArgument", "p7.ListArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ListArgument", HFILL }},
+ { &hf_p7_ListResult_PDU,
+ { "ListResult", "p7.ListResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ListResult", HFILL }},
+ { &hf_p7_FetchArgument_PDU,
+ { "FetchArgument", "p7.FetchArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.FetchArgument", HFILL }},
+ { &hf_p7_FetchResult_PDU,
+ { "FetchResult", "p7.FetchResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.FetchResult", HFILL }},
+ { &hf_p7_DeleteArgument_PDU,
+ { "DeleteArgument", "p7.DeleteArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.DeleteArgument", HFILL }},
+ { &hf_p7_DeleteResult_PDU,
+ { "DeleteResult", "p7.DeleteResult",
+ FT_UINT32, BASE_DEC, VALS(p7_DeleteResult_vals), 0,
+ "p7.DeleteResult", HFILL }},
+ { &hf_p7_Register_MSArgument_PDU,
+ { "Register-MSArgument", "p7.Register_MSArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Register_MSArgument", HFILL }},
+ { &hf_p7_Register_MSResult_PDU,
+ { "Register-MSResult", "p7.Register_MSResult",
+ FT_UINT32, BASE_DEC, VALS(p7_Register_MSResult_vals), 0,
+ "p7.Register_MSResult", HFILL }},
+ { &hf_p7_AlertArgument_PDU,
+ { "AlertArgument", "p7.AlertArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AlertArgument", HFILL }},
+ { &hf_p7_AlertResult_PDU,
+ { "AlertResult", "p7.AlertResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AlertResult", HFILL }},
+ { &hf_p7_ModifyArgument_PDU,
+ { "ModifyArgument", "p7.ModifyArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ModifyArgument", HFILL }},
+ { &hf_p7_ModifyResult_PDU,
+ { "ModifyResult", "p7.ModifyResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ModifyResult", HFILL }},
+ { &hf_p7_MSMessageSubmissionArgument_PDU,
+ { "MSMessageSubmissionArgument", "p7.MSMessageSubmissionArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSMessageSubmissionArgument", HFILL }},
+ { &hf_p7_MSMessageSubmissionResult_PDU,
+ { "MSMessageSubmissionResult", "p7.MSMessageSubmissionResult",
+ FT_UINT32, BASE_DEC, VALS(p7_MSMessageSubmissionResult_vals), 0,
+ "p7.MSMessageSubmissionResult", HFILL }},
+ { &hf_p7_MSProbeSubmissionArgument_PDU,
+ { "MSProbeSubmissionArgument", "p7.MSProbeSubmissionArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSProbeSubmissionArgument", HFILL }},
+ { &hf_p7_MSProbeSubmissionResult_PDU,
+ { "MSProbeSubmissionResult", "p7.MSProbeSubmissionResult",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSProbeSubmissionResult", HFILL }},
+ { &hf_p7_AttributeErrorParameter_PDU,
+ { "AttributeErrorParameter", "p7.AttributeErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeErrorParameter", HFILL }},
+ { &hf_p7_AutoActionRequestErrorParameter_PDU,
+ { "AutoActionRequestErrorParameter", "p7.AutoActionRequestErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AutoActionRequestErrorParameter", HFILL }},
+ { &hf_p7_DeleteErrorParameter_PDU,
+ { "DeleteErrorParameter", "p7.DeleteErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.DeleteErrorParameter", HFILL }},
+ { &hf_p7_FetchRestrictionErrorParameter_PDU,
+ { "FetchRestrictionErrorParameter", "p7.FetchRestrictionErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.FetchRestrictionErrorParameter", HFILL }},
+ { &hf_p7_RangeErrorParameter_PDU,
+ { "RangeErrorParameter", "p7.RangeErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.RangeErrorParameter", HFILL }},
+ { &hf_p7_SequenceNumberErrorParameter_PDU,
+ { "SequenceNumberErrorParameter", "p7.SequenceNumberErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.SequenceNumberErrorParameter", HFILL }},
+ { &hf_p7_ServiceErrorParameter_PDU,
+ { "ServiceErrorParameter", "p7.ServiceErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ServiceErrorParameter", HFILL }},
+ { &hf_p7_MessageGroupErrorParameter_PDU,
+ { "MessageGroupErrorParameter", "p7.MessageGroupErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MessageGroupErrorParameter", HFILL }},
+ { &hf_p7_MSExtensionErrorParameter_PDU,
+ { "MSExtensionErrorParameter", "p7.MSExtensionErrorParameter",
+ FT_UINT32, BASE_DEC, VALS(p7_MSExtensionErrorParameter_vals), 0,
+ "p7.MSExtensionErrorParameter", HFILL }},
+ { &hf_p7_RegisterMSErrorParameter_PDU,
+ { "RegisterMSErrorParameter", "p7.RegisterMSErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.RegisterMSErrorParameter", HFILL }},
+ { &hf_p7_ModifyErrorParameter_PDU,
+ { "ModifyErrorParameter", "p7.ModifyErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ModifyErrorParameter", HFILL }},
+ { &hf_p7_EntryClassErrorParameter_PDU,
+ { "EntryClassErrorParameter", "p7.EntryClassErrorParameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.EntryClassErrorParameter", HFILL }},
+ { &hf_p7_ReportLocation_PDU,
+ { "ReportLocation", "p7.ReportLocation",
+ FT_UINT32, BASE_DEC, VALS(p7_ReportLocation_vals), 0,
+ "p7.ReportLocation", HFILL }},
+ { &hf_p7_PerRecipientReport_PDU,
+ { "PerRecipientReport", "p7.PerRecipientReport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.PerRecipientReport", HFILL }},
+ { &hf_p7_ReportSummary_PDU,
+ { "ReportSummary", "p7.ReportSummary",
+ FT_UINT32, BASE_DEC, VALS(p7_ReportSummary_vals), 0,
+ "p7.ReportSummary", HFILL }},
+ { &hf_p7_DeferredDeliveryCancellationTime_PDU,
+ { "DeferredDeliveryCancellationTime", "p7.DeferredDeliveryCancellationTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.DeferredDeliveryCancellationTime", HFILL }},
+ { &hf_p7_DeletionTime_PDU,
+ { "DeletionTime", "p7.DeletionTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.DeletionTime", HFILL }},
+ { &hf_p7_SubmissionError_PDU,
+ { "SubmissionError", "p7.SubmissionError",
+ FT_UINT32, BASE_DEC, VALS(p7_SubmissionError_vals), 0,
+ "p7.SubmissionError", HFILL }},
+ { &hf_p7_SignatureVerificationStatus_PDU,
+ { "SignatureVerificationStatus", "p7.SignatureVerificationStatus",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.SignatureVerificationStatus", HFILL }},
+ { &hf_p7_StoragePeriod_PDU,
+ { "StoragePeriod", "p7.StoragePeriod",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "p7.StoragePeriod", HFILL }},
+ { &hf_p7_StorageTime_PDU,
+ { "StorageTime", "p7.StorageTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.StorageTime", HFILL }},
+ { &hf_p7_attribute_type,
+ { "attribute-type", "p7.attribute_type",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_attribute_values,
+ { "attribute-values", "p7.attribute_values",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.AttributeValues", HFILL }},
+ { &hf_p7_attribute_values_item,
+ { "Item", "p7.attribute_values_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeItem", HFILL }},
+ { &hf_p7_auto_action_type,
+ { "auto-action-type", "p7.auto_action_type",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AutoActionType", HFILL }},
+ { &hf_p7_registration_identifier,
+ { "registration-identifier", "p7.registration_identifier",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_per_auto_action", HFILL }},
+ { &hf_p7_registration_parameter,
+ { "registration-parameter", "p7.registration_parameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_registration_parameter", HFILL }},
+ { &hf_p7_error_code,
+ { "error-code", "p7.error_code",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.T_error_code", HFILL }},
+ { &hf_p7_error_parameter,
+ { "error-parameter", "p7.error_parameter",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_error_parameter", HFILL }},
+ { &hf_p7_MSExtensions_item,
+ { "Item", "p7.MSExtensions_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSExtensionItem", HFILL }},
+ { &hf_p7_MessageGroupName_item,
+ { "Item", "p7.MessageGroupName_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.GroupNamePart", HFILL }},
+ { &hf_p7_initiator_name,
+ { "initiator-name", "p7.initiator_name",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_initiator_name", HFILL }},
+ { &hf_p7_initiator_credentials,
+ { "initiator-credentials", "p7.initiator_credentials",
+ FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
+ "x411.InitiatorCredentials", HFILL }},
+ { &hf_p7_security_context,
+ { "security-context", "p7.security_context",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x411.SecurityContext", HFILL }},
+ { &hf_p7_fetch_restrictions,
+ { "fetch-restrictions", "p7.fetch_restrictions",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Restrictions", HFILL }},
+ { &hf_p7_ms_configuration_request,
+ { "ms-configuration-request", "p7.ms_configuration_request",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_ua_registration_identifier,
+ { "ua-registration-identifier", "p7.ua_registration_identifier",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.RegistrationIdentifier", HFILL }},
+ { &hf_p7_bind_extensions,
+ { "bind-extensions", "p7.bind_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_allowed_content_types,
+ { "allowed-content-types", "p7.allowed_content_types",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_allowed_content_types", HFILL }},
+ { &hf_p7_allowed_content_types_item,
+ { "Item", "p7.allowed_content_types_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_allowed_EITs,
+ { "allowed-EITs", "p7.allowed_EITs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MS_EITs", HFILL }},
+ { &hf_p7_maximum_attribute_length,
+ { "maximum-attribute-length", "p7.maximum_attribute_length",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER", HFILL }},
+ { &hf_p7_MS_EITs_item,
+ { "Item", "p7.MS_EITs_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.MS_EIT", HFILL }},
+ { &hf_p7_responder_credentials,
+ { "responder-credentials", "p7.responder_credentials",
+ FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
+ "x411.ResponderCredentials", HFILL }},
+ { &hf_p7_available_auto_actions,
+ { "available-auto-actions", "p7.available_auto_actions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_auto_actions_OF_AutoActionType", HFILL }},
+ { &hf_p7_available_auto_actions_item,
+ { "Item", "p7.available_auto_actions_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AutoActionType", HFILL }},
+ { &hf_p7_available_attribute_types,
+ { "available-attribute-types", "p7.available_attribute_types",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_attributes_supported_OF_AttributeType", HFILL }},
+ { &hf_p7_available_attribute_types_item,
+ { "Item", "p7.available_attribute_types_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_alert_indication,
+ { "alert-indication", "p7.alert_indication",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_content_types_supported,
+ { "content-types-supported", "p7.content_types_supported",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_content_types_supported", HFILL }},
+ { &hf_p7_content_types_supported_item,
+ { "Item", "p7.content_types_supported_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_entry_classes_supported,
+ { "entry-classes-supported", "p7.entry_classes_supported",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_entry_classes_OF_EntryClass", HFILL }},
+ { &hf_p7_entry_classes_supported_item,
+ { "Item", "p7.entry_classes_supported_item",
+ FT_UINT32, BASE_DEC, VALS(p7_EntryClass_vals), 0,
+ "p7.EntryClass", HFILL }},
+ { &hf_p7_matching_rules_supported,
+ { "matching-rules-supported", "p7.matching_rules_supported",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_matching_rules_supported", HFILL }},
+ { &hf_p7_matching_rules_supported_item,
+ { "Item", "p7.matching_rules_supported_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_bind_result_extensions,
+ { "bind-result-extensions", "p7.bind_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_message_group_depth,
+ { "message-group-depth", "p7.message_group_depth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_group_depth", HFILL }},
+ { &hf_p7_auto_action_error_indication,
+ { "auto-action-error-indication", "p7.auto_action_error_indication",
+ FT_UINT32, BASE_DEC, VALS(p7_AutoActionErrorIndication_vals), 0,
+ "p7.AutoActionErrorIndication", HFILL }},
+ { &hf_p7_unsupported_extensions,
+ { "unsupported-extensions", "p7.unsupported_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_unsupported_extensions", HFILL }},
+ { &hf_p7_unsupported_extensions_item,
+ { "Item", "p7.unsupported_extensions_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_ua_registration_id_unknown,
+ { "ua-registration-id-unknown", "p7.ua_registration_id_unknown",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_service_information,
+ { "service-information", "p7.service_information",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.GeneralString_SIZE_1_ub_service_information_length", HFILL }},
+ { &hf_p7_ChangeCredentialsAlgorithms_item,
+ { "Item", "p7.ChangeCredentialsAlgorithms_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_indication_only,
+ { "indication-only", "p7.indication_only",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_auto_action_log_entry,
+ { "auto-action-log-entry", "p7.auto_action_log_entry",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_unqualified_error,
+ { "unqualified-error", "p7.unqualified_error",
+ FT_UINT32, BASE_DEC, VALS(p7_BindProblem_vals), 0,
+ "p7.BindProblem", HFILL }},
+ { &hf_p7_qualified_error,
+ { "qualified-error", "p7.qualified_error",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_qualified_error", HFILL }},
+ { &hf_p7_bind_problem,
+ { "bind-problem", "p7.bind_problem",
+ FT_UINT32, BASE_DEC, VALS(p7_BindProblem_vals), 0,
+ "p7.BindProblem", HFILL }},
+ { &hf_p7_supplementary_information,
+ { "supplementary-information", "p7.supplementary_information",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.GeneralString_SIZE_1_ub_supplementary_info_length", HFILL }},
+ { &hf_p7_bind_extension_errors,
+ { "bind-extension-errors", "p7.bind_extension_errors",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_bind_extension_errors", HFILL }},
+ { &hf_p7_bind_extension_errors_item,
+ { "Item", "p7.bind_extension_errors_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_sequence_number_range,
+ { "sequence-number-range", "p7.sequence_number_range",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NumberRange", HFILL }},
+ { &hf_p7_creation_time_range,
+ { "creation-time-range", "p7.creation_time_range",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.TimeRange", HFILL }},
+ { &hf_p7_from_number,
+ { "from", "p7.from",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_from_number", HFILL }},
+ { &hf_p7_to_number,
+ { "to", "p7.to",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_to_number", HFILL }},
+ { &hf_p7_from_time,
+ { "from", "p7.from",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.CreationTime", HFILL }},
+ { &hf_p7_to_time,
+ { "to", "p7.to",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.CreationTime", HFILL }},
+ { &hf_p7_filter_item,
+ { "item", "p7.item",
+ FT_UINT32, BASE_DEC, VALS(p7_FilterItem_vals), 0,
+ "p7.FilterItem", HFILL }},
+ { &hf_p7_and,
+ { "and", "p7.and",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_OF_Filter", HFILL }},
+ { &hf_p7_and_item,
+ { "Item", "p7.and_item",
+ FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
+ "p7.Filter", HFILL }},
+ { &hf_p7_or,
+ { "or", "p7.or",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_OF_Filter", HFILL }},
+ { &hf_p7_or_item,
+ { "Item", "p7.or_item",
+ FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
+ "p7.Filter", HFILL }},
+ { &hf_p7_not,
+ { "not", "p7.not",
+ FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
+ "p7.Filter", HFILL }},
+ { &hf_p7_equality,
+ { "equality", "p7.equality",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeValueAssertion", HFILL }},
+ { &hf_p7_substrings,
+ { "substrings", "p7.substrings",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_substrings", HFILL }},
+ { &hf_p7_type,
+ { "type", "p7.type",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_strings,
+ { "strings", "p7.strings",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_strings", HFILL }},
+ { &hf_p7_strings_item,
+ { "Item", "p7.strings_item",
+ FT_UINT32, BASE_DEC, VALS(p7_T_strings_item_vals), 0,
+ "p7.T_strings_item", HFILL }},
+ { &hf_p7_initial,
+ { "initial", "p7.initial",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_initial", HFILL }},
+ { &hf_p7_any,
+ { "any", "p7.any",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_any", HFILL }},
+ { &hf_p7_final,
+ { "final", "p7.final",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_final", HFILL }},
+ { &hf_p7_greater_or_equal,
+ { "greater-or-equal", "p7.greater_or_equal",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeValueAssertion", HFILL }},
+ { &hf_p7_less_or_equal,
+ { "less-or-equal", "p7.less_or_equal",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeValueAssertion", HFILL }},
+ { &hf_p7_present,
+ { "present", "p7.present",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_approximate_match,
+ { "approximate-match", "p7.approximate_match",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeValueAssertion", HFILL }},
+ { &hf_p7_other_match,
+ { "other-match", "p7.other_match",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MatchingRuleAssertion", HFILL }},
+ { &hf_p7_matching_rule,
+ { "matching-rule", "p7.matching_rule",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_match_value,
+ { "match-value", "p7.match_value",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_match_value", HFILL }},
+ { &hf_p7_attribute_value,
+ { "attribute-value", "p7.attribute_value",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_attribute_value", HFILL }},
+ { &hf_p7_child_entries,
+ { "child-entries", "p7.child_entries",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_range,
+ { "range", "p7.range",
+ FT_UINT32, BASE_DEC, VALS(p7_Range_vals), 0,
+ "p7.Range", HFILL }},
+ { &hf_p7_filter,
+ { "filter", "p7.filter",
+ FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
+ "p7.Filter", HFILL }},
+ { &hf_p7_limit,
+ { "limit", "p7.limit",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_messages", HFILL }},
+ { &hf_p7_override,
+ { "override", "p7.override",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "p7.OverrideRestrictions", HFILL }},
+ { &hf_p7_EntryInformationSelection_item,
+ { "Item", "p7.EntryInformationSelection_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeSelection", HFILL }},
+ { &hf_p7_from,
+ { "from", "p7.from",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_attribute_values", HFILL }},
+ { &hf_p7_selection_count,
+ { "count", "p7.count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_0_ub_attribute_values", HFILL }},
+ { &hf_p7_sequence_number,
+ { "sequence-number", "p7.sequence_number",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_attributes,
+ { "attributes", "p7.attributes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_per_entry_OF_Attribute", HFILL }},
+ { &hf_p7_attributes_item,
+ { "Item", "p7.attributes_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Attribute", HFILL }},
+ { &hf_p7_value_count_exceeded,
+ { "value-count-exceeded", "p7.value_count_exceeded",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_per_entry_OF_AttributeValueCount", HFILL }},
+ { &hf_p7_value_count_exceeded_item,
+ { "Item", "p7.value_count_exceeded_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeValueCount", HFILL }},
+ { &hf_p7_total,
+ { "total", "p7.total",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER", HFILL }},
+ { &hf_p7_object_entry_class,
+ { "object-entry-class", "p7.object_entry_class",
+ FT_UINT32, BASE_DEC, VALS(p7_EntryClass_vals), 0,
+ "p7.EntryClass", HFILL }},
+ { &hf_p7_disable_auto_modify,
+ { "disable-auto-modify", "p7.disable_auto_modify",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_add_message_group_names,
+ { "add-message-group-names", "p7.add_message_group_names",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_message_groups_OF_MessageGroupName", HFILL }},
+ { &hf_p7_add_message_group_names_item,
+ { "Item", "p7.add_message_group_names_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupName", HFILL }},
+ { &hf_p7_ms_submission_extensions,
+ { "ms-submission-extensions", "p7.ms_submission_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_created_entry,
+ { "created-entry", "p7.created_entry",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_ms_submission_result_extensions,
+ { "ms-submission-result-extensions", "p7.ms_submission_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_entry_class,
+ { "entry-class", "p7.entry_class",
+ FT_UINT32, BASE_DEC, VALS(p7_EntryClass_vals), 0,
+ "p7.EntryClass", HFILL }},
+ { &hf_p7_selector,
+ { "selector", "p7.selector",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Selector", HFILL }},
+ { &hf_p7_summary_requests,
+ { "summary-requests", "p7.summary_requests",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType", HFILL }},
+ { &hf_p7_summary_requests_item,
+ { "Item", "p7.summary_requests_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_summarize_extensions,
+ { "summarize-extensions", "p7.summarize_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_next,
+ { "next", "p7.next",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_count,
+ { "count", "p7.count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_count", HFILL }},
+ { &hf_p7_span,
+ { "span", "p7.span",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Span", HFILL }},
+ { &hf_p7_summaries,
+ { "summaries", "p7.summaries",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_summaries_OF_Summary", HFILL }},
+ { &hf_p7_summaries_item,
+ { "Item", "p7.summaries_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Summary", HFILL }},
+ { &hf_p7_summarize_result_extensions,
+ { "summarize-result-extensions", "p7.summarize_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_lowest,
+ { "lowest", "p7.lowest",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_highest,
+ { "highest", "p7.highest",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_absent,
+ { "absent", "p7.absent",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_messages", HFILL }},
+ { &hf_p7_summary_present,
+ { "present", "p7.present",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_summary_present", HFILL }},
+ { &hf_p7_summary_present_item,
+ { "Item", "p7.present_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_summary_present_item", HFILL }},
+ { &hf_p7_value,
+ { "value", "p7.value",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.SummaryPresentItemValue", HFILL }},
+ { &hf_p7_summary_count,
+ { "count", "p7.count",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_messages", HFILL }},
+ { &hf_p7_requested_attributes,
+ { "requested-attributes", "p7.requested_attributes",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.EntryInformationSelection", HFILL }},
+ { &hf_p7_list_extensions,
+ { "list-extensions", "p7.list_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_requested,
+ { "requested", "p7.requested",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation", HFILL }},
+ { &hf_p7_requested_item,
+ { "Item", "p7.requested_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.EntryInformation", HFILL }},
+ { &hf_p7_list_result_extensions,
+ { "list-result-extensions", "p7.list_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_item,
+ { "item", "p7.item",
+ FT_UINT32, BASE_DEC, VALS(p7_T_item_vals), 0,
+ "p7.T_item", HFILL }},
+ { &hf_p7_search,
+ { "search", "p7.search",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Selector", HFILL }},
+ { &hf_p7_precise,
+ { "precise", "p7.precise",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_fetch_extensions,
+ { "fetch-extensions", "p7.fetch_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_entry_information,
+ { "entry-information", "p7.entry_information",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.EntryInformation", HFILL }},
+ { &hf_p7_list,
+ { "list", "p7.list",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
+ { &hf_p7_list_item,
+ { "Item", "p7.list_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_fetch_result_extensions,
+ { "fetch-result-extensions", "p7.fetch_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_items,
+ { "items", "p7.items",
+ FT_UINT32, BASE_DEC, VALS(p7_T_items_vals), 0,
+ "p7.T_items", HFILL }},
+ { &hf_p7_sequence_numbers,
+ { "sequence-numbers", "p7.sequence_numbers",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
+ { &hf_p7_sequence_numbers_item,
+ { "Item", "p7.sequence_numbers_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_delete_extensions,
+ { "delete-extensions", "p7.delete_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_delete_result_88,
+ { "delete-result-88", "p7.delete_result_88",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_delete_result_94,
+ { "delete-result-94", "p7.delete_result_94",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_delete_result_94", HFILL }},
+ { &hf_p7_entries_deleted_94,
+ { "entries-deleted", "p7.entries_deleted",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
+ { &hf_p7_entries_deleted_94_item,
+ { "Item", "p7.entries_deleted_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_delete_result_extensions,
+ { "delete-result-extensions", "p7.delete_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_auto_action_registrations,
+ { "auto-action-registrations", "p7.auto_action_registrations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration", HFILL }},
+ { &hf_p7_auto_action_registrations_item,
+ { "Item", "p7.auto_action_registrations_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AutoActionRegistration", HFILL }},
+ { &hf_p7_auto_action_deregistrations,
+ { "auto-action-deregistrations", "p7.auto_action_deregistrations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration", HFILL }},
+ { &hf_p7_auto_action_deregistrations_item,
+ { "Item", "p7.auto_action_deregistrations_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AutoActionDeregistration", HFILL }},
+ { &hf_p7_list_attribute_defaults,
+ { "list-attribute-defaults", "p7.list_attribute_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
+ { &hf_p7_list_attribute_defaults_item,
+ { "Item", "p7.list_attribute_defaults_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_fetch_attribute_defaults,
+ { "fetch-attribute-defaults", "p7.fetch_attribute_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
+ { &hf_p7_fetch_attribute_defaults_item,
+ { "Item", "p7.fetch_attribute_defaults_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_change_credentials,
+ { "change-credentials", "p7.change_credentials",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_change_credentials", HFILL }},
+ { &hf_p7_register_old_credentials,
+ { "old-credentials", "p7.old_credentials",
+ FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
+ "x411.Credentials", HFILL }},
+ { &hf_p7_new_credentials,
+ { "new-credentials", "p7.new_credentials",
+ FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
+ "x411.Credentials", HFILL }},
+ { &hf_p7_user_security_labels,
+ { "user-security-labels", "p7.user_security_labels",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel", HFILL }},
+ { &hf_p7_user_security_labels_item,
+ { "Item", "p7.user_security_labels_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.SecurityLabel", HFILL }},
+ { &hf_p7_ua_registrations,
+ { "ua-registrations", "p7.ua_registrations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_ua_registrations_OF_UARegistration", HFILL }},
+ { &hf_p7_ua_registrations_item,
+ { "Item", "p7.ua_registrations_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.UARegistration", HFILL }},
+ { &hf_p7_submission_defaults,
+ { "submission-defaults", "p7.submission_defaults",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSSubmissionOptions", HFILL }},
+ { &hf_p7_message_group_registrations,
+ { "message-group-registrations", "p7.message_group_registrations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupRegistrations", HFILL }},
+ { &hf_p7_registration_status_request,
+ { "registration-status-request", "p7.registration_status_request",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.RegistrationTypes", HFILL }},
+ { &hf_p7_register_ms_extensions,
+ { "register-ms-extensions", "p7.register_ms_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_ua_list_attribute_defaults,
+ { "ua-list-attribute-defaults", "p7.ua_list_attribute_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
+ { &hf_p7_ua_list_attribute_defaults_item,
+ { "Item", "p7.ua_list_attribute_defaults_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_ua_fetch_attribute_defaults,
+ { "ua-fetch-attribute-defaults", "p7.ua_fetch_attribute_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
+ { &hf_p7_ua_fetch_attribute_defaults_item,
+ { "Item", "p7.ua_fetch_attribute_defaults_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_ua_submission_defaults,
+ { "ua-submission-defaults", "p7.ua_submission_defaults",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSSubmissionOptions", HFILL }},
+ { &hf_p7_content_specific_defaults,
+ { "content-specific-defaults", "p7.content_specific_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_MessageGroupRegistrations_item,
+ { "Item", "p7.MessageGroupRegistrations_item",
+ FT_UINT32, BASE_DEC, VALS(p7_MessageGroupRegistrations_item_vals), 0,
+ "p7.MessageGroupRegistrations_item", HFILL }},
+ { &hf_p7_register_group,
+ { "register-group", "p7.register_group",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MessageGroupNameAndDescriptor", HFILL }},
+ { &hf_p7_deregister_group,
+ { "deregister-group", "p7.deregister_group",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupName", HFILL }},
+ { &hf_p7_change_descriptors,
+ { "change-descriptors", "p7.change_descriptors",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MessageGroupNameAndDescriptor", HFILL }},
+ { &hf_p7_message_group_name,
+ { "message-group-name", "p7.message_group_name",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupName", HFILL }},
+ { &hf_p7_message_group_descriptor,
+ { "message-group-descriptor", "p7.message_group_descriptor",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "p7.GeneralString_SIZE_1_ub_group_descriptor_length", HFILL }},
+ { &hf_p7_registrations,
+ { "registrations", "p7.registrations",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "p7.T_registrations", HFILL }},
+ { &hf_p7_extended_registrations,
+ { "extended-registrations", "p7.extended_registrations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_extended_registrations", HFILL }},
+ { &hf_p7_extended_registrations_item,
+ { "Item", "p7.extended_registrations_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_restrict_message_groups,
+ { "restrict-message-groups", "p7.restrict_message_groups",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MessageGroupsRestriction", HFILL }},
+ { &hf_p7_parent_group,
+ { "parent-group", "p7.parent_group",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupName", HFILL }},
+ { &hf_p7_immediate_descendants_only,
+ { "immediate-descendants-only", "p7.immediate_descendants_only",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_omit_descriptors,
+ { "omit-descriptors", "p7.omit_descriptors",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_algorithm_identifier,
+ { "algorithm-identifier", "p7.algorithm_identifier",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_old_credentials,
+ { "old-credentials", "p7.old_credentials",
+ FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
+ "x411.InitiatorCredentials", HFILL }},
+ { &hf_p7_password_delta,
+ { "password-delta", "p7.password_delta",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "p7.BIT_STRING", HFILL }},
+ { &hf_p7_no_status_information,
+ { "no-status-information", "p7.no_status_information",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_registered_information,
+ { "registered-information", "p7.registered_information",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_registered_information", HFILL }},
+ { &hf_p7_registered_list_attribute_defaults,
+ { "list-attribute-defaults", "p7.list_attribute_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_default_registrations_OF_AttributeType", HFILL }},
+ { &hf_p7_registered_list_attribute_defaults_item,
+ { "Item", "p7.list_attribute_defaults_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_registered_fetch_attribute_defaults,
+ { "fetch-attribute-defaults", "p7.fetch_attribute_defaults",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_default_registrations_OF_AttributeType", HFILL }},
+ { &hf_p7_registered_fetch_attribute_defaults_item,
+ { "Item", "p7.fetch_attribute_defaults_item",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_registered_message_group_registrations,
+ { "message-group-registrations", "p7.message_group_registrations",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor", HFILL }},
+ { &hf_p7_registered_message_group_registrations_item,
+ { "Item", "p7.message_group_registrations_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MessageGroupNameAndDescriptor", HFILL }},
+ { &hf_p7_register_ms_result_extensions,
+ { "register-ms-result-extensions", "p7.register_ms_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_alert_registration_identifier,
+ { "alert-registration-identifier", "p7.alert_registration_identifier",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_auto_actions", HFILL }},
+ { &hf_p7_new_entry,
+ { "new-entry", "p7.new_entry",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.EntryInformation", HFILL }},
+ { &hf_p7_entries,
+ { "entries", "p7.entries",
+ FT_UINT32, BASE_DEC, VALS(p7_T_entries_vals), 0,
+ "p7.T_entries", HFILL }},
+ { &hf_p7_specific_entries,
+ { "specific-entries", "p7.specific_entries",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
+ { &hf_p7_specific_entries_item,
+ { "Item", "p7.specific_entries_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_modifications,
+ { "modifications", "p7.modifications",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification", HFILL }},
+ { &hf_p7_modifications_item,
+ { "Item", "p7.modifications_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.EntryModification", HFILL }},
+ { &hf_p7_modify_extensions,
+ { "modify-extensions", "p7.modify_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_strict,
+ { "strict", "p7.strict",
+ FT_BOOLEAN, 8, NULL, 0,
+ "p7.BOOLEAN", HFILL }},
+ { &hf_p7_modification,
+ { "modification", "p7.modification",
+ FT_UINT32, BASE_DEC, VALS(p7_T_modification_vals), 0,
+ "p7.T_modification", HFILL }},
+ { &hf_p7_add_attribute,
+ { "add-attribute", "p7.add_attribute",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.Attribute", HFILL }},
+ { &hf_p7_remove_attribute,
+ { "remove-attribute", "p7.remove_attribute",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.AttributeType", HFILL }},
+ { &hf_p7_add_values,
+ { "add-values", "p7.add_values",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.OrderedAttribute", HFILL }},
+ { &hf_p7_remove_values,
+ { "remove-values", "p7.remove_values",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.OrderedAttribute", HFILL }},
+ { &hf_p7_ordered_attribute_values,
+ { "attribute-values", "p7.attribute_values",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.OrderedAttributeValues", HFILL }},
+ { &hf_p7_ordered_attribute_values_item,
+ { "Item", "p7.attribute_values_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.OrderedAttributeItem", HFILL }},
+ { &hf_p7_ordered_attribute_value,
+ { "value", "p7.value",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.OrderedAttributeValue", HFILL }},
+ { &hf_p7_ordered_position,
+ { "position", "p7.position",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_attribute_values", HFILL }},
+ { &hf_p7_entries_modified,
+ { "entries-modified", "p7.entries_modified",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
+ { &hf_p7_entries_modified_item,
+ { "Item", "p7.entries_modified_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_modify_result_extensions,
+ { "modify-result-extensions", "p7.modify_result_extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MSExtensions", HFILL }},
+ { &hf_p7_envelope,
+ { "envelope", "p7.envelope",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.MessageSubmissionEnvelope", HFILL }},
+ { &hf_p7_content,
+ { "content", "p7.content",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x411.Content", HFILL }},
+ { &hf_p7_submission_options,
+ { "submission-options", "p7.submission_options",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSSubmissionOptions", HFILL }},
+ { &hf_p7_mts_result,
+ { "mts-result", "p7.mts_result",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_mts_result", HFILL }},
+ { &hf_p7_message_submission_identifier,
+ { "message-submission-identifier", "p7.message_submission_identifier",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.MessageSubmissionIdentifier", HFILL }},
+ { &hf_p7_message_submission_time,
+ { "message-submission-time", "p7.message_submission_time",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x411.MessageSubmissionTime", HFILL }},
+ { &hf_p7_content_identifier,
+ { "content-identifier", "p7.content_identifier",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x411.ContentIdentifier", HFILL }},
+ { &hf_p7_extensions,
+ { "extensions", "p7.extensions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_OF_ExtensionField", HFILL }},
+ { &hf_p7_extensions_item,
+ { "Item", "p7.extensions_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.ExtensionField", HFILL }},
+ { &hf_p7_ms_message_result,
+ { "ms-message-result", "p7.ms_message_result",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.CommonSubmissionResults", HFILL }},
+ { &hf_p7_store_draft_result,
+ { "store-draft-result", "p7.store_draft_result",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.CommonSubmissionResults", HFILL }},
+ { &hf_p7_probe_submission_envelope,
+ { "probe-submission-envelope", "p7.probe_submission_envelope",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.ProbeSubmissionEnvelope", HFILL }},
+ { &hf_p7_probe_submission_identifier,
+ { "probe-submission-identifier", "p7.probe_submission_identifier",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.ProbeSubmissionIdentifier", HFILL }},
+ { &hf_p7_probe_submission_time,
+ { "probe-submission-time", "p7.probe_submission_time",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x411.ProbeSubmissionTime", HFILL }},
+ { &hf_p7_ms_probe_result,
+ { "ms-probe-result", "p7.ms_probe_result",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.CommonSubmissionResults", HFILL }},
+ { &hf_p7_attribute_error_problems,
+ { "problems", "p7.problems",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.AttributeErrorProblems", HFILL }},
+ { &hf_p7_attribute_error_problem_item,
+ { "Item", "p7.problems_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeErrorProblem", HFILL }},
+ { &hf_p7_attribute_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_AttributeProblem_vals), 0,
+ "p7.AttributeProblem", HFILL }},
+ { &hf_p7_problem_value,
+ { "value", "p7.value",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.AttributeErrorProblemValue", HFILL }},
+ { &hf_p7_auto_action_request_error_problems,
+ { "problems", "p7.problems",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.T_auto_action_request_error_problems", HFILL }},
+ { &hf_p7_auto_action_request_error_problem_item,
+ { "Item", "p7.problems_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_auto_action_request_error_problems_item", HFILL }},
+ { &hf_p7_auto_action_request_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_AutoActionRequestProblem_vals), 0,
+ "p7.AutoActionRequestProblem", HFILL }},
+ { &hf_p7_delete_error_problems,
+ { "problems", "p7.problems",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.DeleteErrorProblems", HFILL }},
+ { &hf_p7_delete_error_problem_item,
+ { "Item", "p7.problems_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.DeleteErrorProblem", HFILL }},
+ { &hf_p7_delete_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_DeleteProblem_vals), 0,
+ "p7.DeleteProblem", HFILL }},
+ { &hf_p7_entries_deleted,
+ { "entries-deleted", "p7.entries_deleted",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SET_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
+ { &hf_p7_entries_deleted_item,
+ { "Item", "p7.entries_deleted_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_fetch_restriction_error_problems,
+ { "problems", "p7.problems",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.FetchRestrictionErrorProblems", HFILL }},
+ { &hf_p7_fetch_restriction_error_problem_item,
+ { "Item", "p7.problems_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.FetchRestrictionErrorProblem", HFILL }},
+ { &hf_p7_fetch_restriction_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_FetchRestrictionProblem_vals), 0,
+ "p7.FetchRestrictionProblem", HFILL }},
+ { &hf_p7_restriction,
+ { "restriction", "p7.restriction",
+ FT_UINT32, BASE_DEC, VALS(p7_T_restriction_vals), 0,
+ "p7.T_restriction", HFILL }},
+ { &hf_p7_content_type,
+ { "content-type", "p7.content_type",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_eit,
+ { "eit", "p7.eit",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MS_EITs", HFILL }},
+ { &hf_p7_attribute_length,
+ { "attribute-length", "p7.attribute_length",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER", HFILL }},
+ { &hf_p7_range_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_RangeProblem_vals), 0,
+ "p7.RangeProblem", HFILL }},
+ { &hf_p7_sequence_number_error_problems,
+ { "problems", "p7.problems",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumberErrorProblems", HFILL }},
+ { &hf_p7_sequence_number_error_problem_item,
+ { "Item", "p7.problems_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.SequenceNumberErrorProblem", HFILL }},
+ { &hf_p7_sequence_number_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_SequenceNumberProblem_vals), 0,
+ "p7.SequenceNumberProblem", HFILL }},
+ { &hf_p7_service_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_ServiceProblem_vals), 0,
+ "p7.ServiceProblem", HFILL }},
+ { &hf_p7_message_group_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_MessageGroupProblem_vals), 0,
+ "p7.MessageGroupProblem", HFILL }},
+ { &hf_p7_name,
+ { "name", "p7.name",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.MessageGroupName", HFILL }},
+ { &hf_p7_ms_extension_problem,
+ { "ms-extension-problem", "p7.ms_extension_problem",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MSExtensionItem", HFILL }},
+ { &hf_p7_unknown_ms_extension,
+ { "unknown-ms-extension", "p7.unknown_ms_extension",
+ FT_OID, BASE_NONE, NULL, 0,
+ "p7.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_p7_registration_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_RegistrationProblem_vals), 0,
+ "p7.RegistrationProblem", HFILL }},
+ { &hf_p7_registration_type,
+ { "registration-type", "p7.registration_type",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.RegistrationTypes", HFILL }},
+ { &hf_p7_failing_entry,
+ { "failing-entry", "p7.failing_entry",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_modification_number,
+ { "modification-number", "p7.modification_number",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER", HFILL }},
+ { &hf_p7_modify_problem,
+ { "problem", "p7.problem",
+ FT_UINT32, BASE_DEC, VALS(p7_ModifyProblem_vals), 0,
+ "p7.ModifyProblem", HFILL }},
+ { &hf_p7_entry_class_problem,
+ { "problem", "p7.problem",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "p7.T_entry_class_problem", HFILL }},
+ { &hf_p7_no_correlated_reports,
+ { "no-correlated-reports", "p7.no_correlated_reports",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_location,
+ { "location", "p7.location",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_OF_PerRecipientReport", HFILL }},
+ { &hf_p7_location_item,
+ { "Item", "p7.location_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.PerRecipientReport", HFILL }},
+ { &hf_p7_report_entry,
+ { "report-entry", "p7.report_entry",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_p7_position,
+ { "position", "p7.position",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.INTEGER_1_ub_recipients", HFILL }},
+ { &hf_p7_submission_control_violated,
+ { "submission-control-violated", "p7.submission_control_violated",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_originator_invalid,
+ { "originator-invalid", "p7.originator_invalid",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_recipient_improperly_specified,
+ { "recipient-improperly-specified", "p7.recipient_improperly_specified",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.ImproperlySpecifiedRecipients", HFILL }},
+ { &hf_p7_element_of_service_not_subscribed,
+ { "element-of-service-not-subscribed", "p7.element_of_service_not_subscribed",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_inconsistent_request,
+ { "inconsistent-request", "p7.inconsistent_request",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_security_error,
+ { "security-error", "p7.security_error",
+ FT_UINT32, BASE_DEC, VALS(x411_SecurityProblem_vals), 0,
+ "x411.SecurityProblem", HFILL }},
+ { &hf_p7_unsupported_critical_function,
+ { "unsupported-critical-function", "p7.unsupported_critical_function",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_remote_bind_error,
+ { "remote-bind-error", "p7.remote_bind_error",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.NULL", HFILL }},
+ { &hf_p7_service_error,
+ { "service-error", "p7.service_error",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.ServiceErrorParameter", HFILL }},
+ { &hf_p7_message_group_error,
+ { "message-group-error", "p7.message_group_error",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.MessageGroupErrorParameter", HFILL }},
+ { &hf_p7_ms_extension_error,
+ { "ms-extension-error", "p7.ms_extension_error",
+ FT_UINT32, BASE_DEC, VALS(p7_MSExtensionErrorParameter_vals), 0,
+ "p7.MSExtensionErrorParameter", HFILL }},
+ { &hf_p7_entry_class_error,
+ { "entry-class-error", "p7.entry_class_error",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.EntryClassErrorParameter", HFILL }},
+ { &hf_p7_content_integrity_check,
+ { "content-integrity-check", "p7.content_integrity_check",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_p7_message_origin_authentication_check,
+ { "message-origin-authentication-check", "p7.message_origin_authentication_check",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_p7_message_token,
+ { "message-token", "p7.message_token",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_p7_report_origin_authentication_check,
+ { "report-origin-authentication-check", "p7.report_origin_authentication_check",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_p7_proof_of_delivery,
+ { "proof-of-delivery", "p7.proof_of_delivery",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_p7_proof_of_submission,
+ { "proof-of-submission", "p7.proof_of_submission",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_p7_OverrideRestrictions_override_content_types_restriction,
+ { "override-content-types-restriction", "p7.override-content-types-restriction",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_p7_OverrideRestrictions_override_EITs_restriction,
+ { "override-EITs-restriction", "p7.override-EITs-restriction",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_p7_OverrideRestrictions_override_attribute_length_restriction,
+ { "override-attribute-length-restriction", "p7.override-attribute-length-restriction",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_p7_T_registrations_auto_action_registrations,
+ { "auto-action-registrations", "p7.auto-action-registrations",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_p7_T_registrations_list_attribute_defaults,
+ { "list-attribute-defaults", "p7.list-attribute-defaults",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_p7_T_registrations_fetch_attribute_defaults,
+ { "fetch-attribute-defaults", "p7.fetch-attribute-defaults",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_p7_T_registrations_ua_registrations,
+ { "ua-registrations", "p7.ua-registrations",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_p7_T_registrations_submission_defaults,
+ { "submission-defaults", "p7.submission-defaults",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ "", HFILL }},
+ { &hf_p7_T_registrations_message_group_registrations,
+ { "message-group-registrations", "p7.message-group-registrations",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ "", HFILL }},
+ { &hf_p7_T_entry_class_problem_unsupported_entry_class,
+ { "unsupported-entry-class", "p7.unsupported-entry-class",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_p7_T_entry_class_problem_entry_class_not_subscribed,
+ { "entry-class-not-subscribed", "p7.entry-class-not-subscribed",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_p7_T_entry_class_problem_inappropriate_entry_class,
+ { "inappropriate-entry-class", "p7.inappropriate-entry-class",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+
+/*--- End of included file: packet-p7-hfarr.c ---*/
+#line 336 "packet-p7-template.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+ &ett_p7,
+
+/*--- Included file: packet-p7-ettarr.c ---*/
+#line 1 "packet-p7-ettarr.c"
+ &ett_p7_Attribute,
+ &ett_p7_AttributeValues,
+ &ett_p7_AutoActionRegistration,
+ &ett_p7_AutoActionError,
+ &ett_p7_MSExtensions,
+ &ett_p7_MessageGroupName,
+ &ett_p7_MSBindArgument,
+ &ett_p7_Restrictions,
+ &ett_p7_T_allowed_content_types,
+ &ett_p7_MS_EITs,
+ &ett_p7_MSBindResult,
+ &ett_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType,
+ &ett_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType,
+ &ett_p7_T_content_types_supported,
+ &ett_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass,
+ &ett_p7_T_matching_rules_supported,
+ &ett_p7_T_unsupported_extensions,
+ &ett_p7_ChangeCredentialsAlgorithms,
+ &ett_p7_AutoActionErrorIndication,
+ &ett_p7_MSBindError,
+ &ett_p7_T_qualified_error,
+ &ett_p7_T_bind_extension_errors,
+ &ett_p7_Range,
+ &ett_p7_NumberRange,
+ &ett_p7_TimeRange,
+ &ett_p7_Filter,
+ &ett_p7_SET_OF_Filter,
+ &ett_p7_FilterItem,
+ &ett_p7_T_substrings,
+ &ett_p7_T_strings,
+ &ett_p7_T_strings_item,
+ &ett_p7_MatchingRuleAssertion,
+ &ett_p7_AttributeValueAssertion,
+ &ett_p7_Selector,
+ &ett_p7_OverrideRestrictions,
+ &ett_p7_EntryInformationSelection,
+ &ett_p7_AttributeSelection,
+ &ett_p7_EntryInformation,
+ &ett_p7_SET_SIZE_1_ub_per_entry_OF_Attribute,
+ &ett_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount,
+ &ett_p7_AttributeValueCount,
+ &ett_p7_MSSubmissionOptions,
+ &ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName,
+ &ett_p7_CommonSubmissionResults,
+ &ett_p7_SummarizeArgument,
+ &ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType,
+ &ett_p7_SummarizeResult,
+ &ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary,
+ &ett_p7_Span,
+ &ett_p7_Summary,
+ &ett_p7_T_summary_present,
+ &ett_p7_T_summary_present_item,
+ &ett_p7_ListArgument,
+ &ett_p7_ListResult,
+ &ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation,
+ &ett_p7_FetchArgument,
+ &ett_p7_T_item,
+ &ett_p7_FetchResult,
+ &ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber,
+ &ett_p7_DeleteArgument,
+ &ett_p7_T_items,
+ &ett_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber,
+ &ett_p7_DeleteResult,
+ &ett_p7_T_delete_result_94,
+ &ett_p7_Register_MSArgument,
+ &ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration,
+ &ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration,
+ &ett_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType,
+ &ett_p7_T_change_credentials,
+ &ett_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel,
+ &ett_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration,
+ &ett_p7_AutoActionDeregistration,
+ &ett_p7_UARegistration,
+ &ett_p7_MessageGroupRegistrations,
+ &ett_p7_MessageGroupRegistrations_item,
+ &ett_p7_MessageGroupNameAndDescriptor,
+ &ett_p7_RegistrationTypes,
+ &ett_p7_T_registrations,
+ &ett_p7_T_extended_registrations,
+ &ett_p7_MessageGroupsRestriction,
+ &ett_p7_ProtectedChangeCredentials,
+ &ett_p7_Register_MSResult,
+ &ett_p7_T_registered_information,
+ &ett_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType,
+ &ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor,
+ &ett_p7_AlertArgument,
+ &ett_p7_ModifyArgument,
+ &ett_p7_T_entries,
+ &ett_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification,
+ &ett_p7_EntryModification,
+ &ett_p7_T_modification,
+ &ett_p7_OrderedAttribute,
+ &ett_p7_OrderedAttributeValues,
+ &ett_p7_OrderedAttributeItem,
+ &ett_p7_ModifyResult,
+ &ett_p7_MSMessageSubmissionArgument,
+ &ett_p7_MSMessageSubmissionResult,
+ &ett_p7_T_mts_result,
+ &ett_p7_SET_OF_ExtensionField,
+ &ett_p7_MSProbeSubmissionArgument,
+ &ett_p7_MSProbeSubmissionResult,
+ &ett_p7_AttributeErrorParameter,
+ &ett_p7_AttributeErrorProblems,
+ &ett_p7_AttributeErrorProblem,
+ &ett_p7_AutoActionRequestErrorParameter,
+ &ett_p7_T_auto_action_request_error_problems,
+ &ett_p7_T_auto_action_request_error_problems_item,
+ &ett_p7_DeleteErrorParameter,
+ &ett_p7_DeleteErrorProblems,
+ &ett_p7_DeleteErrorProblem,
+ &ett_p7_FetchRestrictionErrorParameter,
+ &ett_p7_FetchRestrictionErrorProblems,
+ &ett_p7_FetchRestrictionErrorProblem,
+ &ett_p7_T_restriction,
+ &ett_p7_RangeErrorParameter,
+ &ett_p7_SequenceNumberErrorParameter,
+ &ett_p7_SequenceNumberErrorProblems,
+ &ett_p7_SequenceNumberErrorProblem,
+ &ett_p7_ServiceErrorParameter,
+ &ett_p7_MessageGroupErrorParameter,
+ &ett_p7_MSExtensionErrorParameter,
+ &ett_p7_RegisterMSErrorParameter,
+ &ett_p7_ModifyErrorParameter,
+ &ett_p7_EntryClassErrorParameter,
+ &ett_p7_T_entry_class_problem,
+ &ett_p7_ReportLocation,
+ &ett_p7_SEQUENCE_OF_PerRecipientReport,
+ &ett_p7_PerRecipientReport,
+ &ett_p7_SubmissionError,
+ &ett_p7_SignatureVerificationStatus,
+
+/*--- End of included file: packet-p7-ettarr.c ---*/
+#line 342 "packet-p7-template.c"
+ };
+ module_t *p7_module;
+
+ /* Register protocol */
+ proto_p7 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ register_dissector("p7", dissect_p7, proto_p7);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_p7, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+
+ /* Register our configuration options for P7, particularly our port */
+
+ p7_module = prefs_register_protocol_subtree("OSI/X.400", proto_p7, prefs_register_p7);
+
+ prefs_register_uint_preference(p7_module, "tcp.port", "P7 TCP Port",
+ "Set the port for P7 operations (if other"
+ " than the default of 102)",
+ 10, &global_p7_tcp_port);
+
+}
+
+
+/*--- proto_reg_handoff_p7 --- */
+void proto_reg_handoff_p7(void) {
+ dissector_handle_t handle = NULL;
+
+ /* #include "packet-p7-dis-tab.c" */
+
+ /* APPLICATION CONTEXT */
+
+ oid_add_from_string("id-ac-ms-access","2.6.0.1.11");
+ oid_add_from_string("id-ac-ms-reliable-access","2.6.0.1.12");
+
+ /* ABSTRACT SYNTAXES */
+
+ /* Register P7 with ROS (with no use of RTSE) */
+ if((handle = find_dissector("p7"))) {
+ register_ros_oid_dissector_handle("2.6.0.2.9", handle, 0, "id-as-ms", FALSE);
+ register_ros_oid_dissector_handle("2.6.0.2.5", handle, 0, "id-as-mrse", FALSE);
+ register_ros_oid_dissector_handle("2.6.0.2.1", handle, 0, "id-as-msse", FALSE);
+ }
+
+ /* remember the tpkt handler for change in preferences */
+ tpkt_handle = find_dissector("tpkt");
+}
+
+
+void prefs_register_p7(void) {
+
+ /* de-register the old port */
+ /* port 102 is registered by TPKT - don't undo this! */
+ if((tcp_port != 102) && tpkt_handle)
+ dissector_delete("tcp.port", tcp_port, tpkt_handle);
+
+ /* Set our port number for future use */
+ tcp_port = global_p7_tcp_port;
+
+ if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
+ dissector_add("tcp.port", global_p7_tcp_port, tpkt_handle);
+
+}