HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / epan / dissectors / packet-p7.c
blob1375ab7e45963f00a4649cb95ff242dd39d2b6b4
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-p7.c */
4 /* ../../tools/asn2wrs.py -b -L -C -p p7 -c ./p7.cnf -s ./packet-p7-template -D . -O ../../epan/dissectors MSAbstractService.asn MSGeneralAttributeTypes.asn MSAccessProtocol.asn MSUpperBounds.asn */
6 /* Input file: packet-p7-template.c */
8 #line 1 "../../asn1/p7/packet-p7-template.c"
9 /* packet-p7.c
10 * Routines for X.413 (P7) packet dissection
11 * Graeme Lunt 2007
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
34 #include "config.h"
36 #include <glib.h>
37 #include <epan/packet.h>
38 #include <epan/prefs.h>
39 #include <epan/oids.h>
40 #include <epan/asn1.h>
42 #include "packet-ber.h"
43 #include "packet-acse.h"
44 #include "packet-ros.h"
45 #include "packet-rtse.h"
47 #include "packet-p1.h"
48 #include <epan/strutil.h>
50 #define PNAME "X.413 Message Store Service"
51 #define PSNAME "P7"
52 #define PFNAME "p7"
54 static guint global_p7_tcp_port = 102;
55 static dissector_handle_t tpkt_handle;
56 static int seqno = 0;
58 static void prefs_register_p7(void); /* forward declaration for use in preferences registration */
61 /* Initialize the protocol and registered fields */
62 static int proto_p7 = -1;
65 /*--- Included file: packet-p7-val.h ---*/
66 #line 1 "../../asn1/p7/packet-p7-val.h"
67 #define op_ms_submission_control 2
68 #define op_ms_message_submission 3
69 #define op_ms_probe_submission 4
70 #define op_ms_cancel_deferred_delivery 7
71 #define op_summarize 20
72 #define op_list 21
73 #define op_fetch 22
74 #define op_delete 23
75 #define op_register_ms 24
76 #define op_alert 25
77 #define op_modify 26
78 #define err_attribute_error 21
79 #define err_auto_action_request_error 22
80 #define err_delete_error 23
81 #define err_fetch_restriction_error 24
82 #define err_range_error 25
83 #define err_ub_security_error 26
84 #define err_service_error 27
85 #define err_sequence_number_error 28
86 #define err_invalid_parameters_error 29
87 #define err_message_group_error 30
88 #define err_ms_extension_error 31
89 #define err_register_ms_error 32
90 #define err_modify_error 33
91 #define err_entry_class_error 34
92 #define ub_alert_addresses 16
93 #define ub_attribute_values 32767
94 #define ub_attributes_supported 1024
95 #define ub_auto_action_errors 32767
96 #define ub_auto_actions 128
97 #define ub_auto_registrations 1024
98 #define ub_default_registrations 1024
99 #define ub_entry_classes 128
100 #define ub_entry_types 16
101 #define ub_error_reasons 16
102 #define ub_extensions 32
103 #define ub_group_depth 64
104 #define ub_group_descriptor_length 256
105 #define ub_group_part_length 128
106 #define ub_information_bases 16
107 #define ub_matching_rules 1024
108 #define ub_message_groups 8192
109 #define ub_message_notes_length 1024
110 #define ub_messages 2147483647
111 #define ub_modifications 32767
112 #define ub_msstring_match 512
113 #define ub_per_auto_action 32767
114 #define ub_per_entry 1024
115 #define ub_service_information_length 2048
116 #define ub_summaries 16
117 #define ub_supplementary_info_length 256
118 #define ub_ua_registration_identifier_length 32
119 #define ub_ua_registrations 128
120 #define ub_ua_restrictions 16
122 /*--- End of included file: packet-p7-val.h ---*/
123 #line 57 "../../asn1/p7/packet-p7-template.c"
126 /*--- Included file: packet-p7-hf.c ---*/
127 #line 1 "../../asn1/p7/packet-p7-hf.c"
128 static int hf_p7_AutoActionType_PDU = -1; /* AutoActionType */
129 static int hf_p7_AutoActionError_PDU = -1; /* AutoActionError */
130 static int hf_p7_EntryType_PDU = -1; /* EntryType */
131 static int hf_p7_SequenceNumber_PDU = -1; /* SequenceNumber */
132 static int hf_p7_RetrievalStatus_PDU = -1; /* RetrievalStatus */
133 static int hf_p7_MessageGroupName_PDU = -1; /* MessageGroupName */
134 static int hf_p7_MSBindArgument_PDU = -1; /* MSBindArgument */
135 static int hf_p7_MSBindResult_PDU = -1; /* MSBindResult */
136 static int hf_p7_MS_EIT_PDU = -1; /* MS_EIT */
137 static int hf_p7_ChangeCredentialsAlgorithms_PDU = -1; /* ChangeCredentialsAlgorithms */
138 static int hf_p7_PAR_ms_bind_error_PDU = -1; /* PAR_ms_bind_error */
139 static int hf_p7_CreationTime_PDU = -1; /* CreationTime */
140 static int hf_p7_OriginatorToken_PDU = -1; /* OriginatorToken */
141 static int hf_p7_SummarizeArgument_PDU = -1; /* SummarizeArgument */
142 static int hf_p7_SummarizeResult_PDU = -1; /* SummarizeResult */
143 static int hf_p7_ListArgument_PDU = -1; /* ListArgument */
144 static int hf_p7_ListResult_PDU = -1; /* ListResult */
145 static int hf_p7_FetchArgument_PDU = -1; /* FetchArgument */
146 static int hf_p7_FetchResult_PDU = -1; /* FetchResult */
147 static int hf_p7_DeleteArgument_PDU = -1; /* DeleteArgument */
148 static int hf_p7_DeleteResult_PDU = -1; /* DeleteResult */
149 static int hf_p7_Register_MSArgument_PDU = -1; /* Register_MSArgument */
150 static int hf_p7_Register_MSResult_PDU = -1; /* Register_MSResult */
151 static int hf_p7_ProtectedChangeCredentials_PDU = -1; /* ProtectedChangeCredentials */
152 static int hf_p7_AlertArgument_PDU = -1; /* AlertArgument */
153 static int hf_p7_AlertResult_PDU = -1; /* AlertResult */
154 static int hf_p7_ModifyArgument_PDU = -1; /* ModifyArgument */
155 static int hf_p7_ModifyResult_PDU = -1; /* ModifyResult */
156 static int hf_p7_MSMessageSubmissionArgument_PDU = -1; /* MSMessageSubmissionArgument */
157 static int hf_p7_MSMessageSubmissionResult_PDU = -1; /* MSMessageSubmissionResult */
158 static int hf_p7_MSProbeSubmissionArgument_PDU = -1; /* MSProbeSubmissionArgument */
159 static int hf_p7_MSProbeSubmissionResult_PDU = -1; /* MSProbeSubmissionResult */
160 static int hf_p7_PAR_attribute_error_PDU = -1; /* PAR_attribute_error */
161 static int hf_p7_PAR_auto_action_request_error_PDU = -1; /* PAR_auto_action_request_error */
162 static int hf_p7_PAR_delete_error_PDU = -1; /* PAR_delete_error */
163 static int hf_p7_PAR_fetch_restriction_error_PDU = -1; /* PAR_fetch_restriction_error */
164 static int hf_p7_PAR_invalid_parameters_error_PDU = -1; /* PAR_invalid_parameters_error */
165 static int hf_p7_PAR_range_error_PDU = -1; /* PAR_range_error */
166 static int hf_p7_PAR_sequence_number_error_PDU = -1; /* PAR_sequence_number_error */
167 static int hf_p7_ServiceErrorParameter_PDU = -1; /* ServiceErrorParameter */
168 static int hf_p7_MessageGroupErrorParameter_PDU = -1; /* MessageGroupErrorParameter */
169 static int hf_p7_MSExtensionErrorParameter_PDU = -1; /* MSExtensionErrorParameter */
170 static int hf_p7_PAR_register_ms_error_PDU = -1; /* PAR_register_ms_error */
171 static int hf_p7_ModifyErrorParameter_PDU = -1; /* ModifyErrorParameter */
172 static int hf_p7_EntryClassErrorParameter_PDU = -1; /* EntryClassErrorParameter */
173 static int hf_p7_ReportLocation_PDU = -1; /* ReportLocation */
174 static int hf_p7_PerRecipientReport_PDU = -1; /* PerRecipientReport */
175 static int hf_p7_ReportSummary_PDU = -1; /* ReportSummary */
176 static int hf_p7_DeferredDeliveryCancellationTime_PDU = -1; /* DeferredDeliveryCancellationTime */
177 static int hf_p7_DeletionTime_PDU = -1; /* DeletionTime */
178 static int hf_p7_SubmissionError_PDU = -1; /* SubmissionError */
179 static int hf_p7_SignatureVerificationStatus_PDU = -1; /* SignatureVerificationStatus */
180 static int hf_p7_StoragePeriod_PDU = -1; /* StoragePeriod */
181 static int hf_p7_StorageTime_PDU = -1; /* StorageTime */
182 static int hf_p7_RTSE_apdus_PDU = -1; /* RTSE_apdus */
183 static int hf_p7_attribute_type = -1; /* AttributeType */
184 static int hf_p7_attribute_values = -1; /* AttributeValues */
185 static int hf_p7_attribute_values_item = -1; /* AttributeItem */
186 static int hf_p7_auto_action_type = -1; /* AutoActionType */
187 static int hf_p7_registration_identifier = -1; /* INTEGER_1_ub_per_auto_action */
188 static int hf_p7_registration_parameter = -1; /* T_registration_parameter */
189 static int hf_p7_error_code = -1; /* T_error_code */
190 static int hf_p7_error_parameter = -1; /* T_error_parameter */
191 static int hf_p7_MSExtensions_item = -1; /* MSExtensionItem */
192 static int hf_p7_MessageGroupName_item = -1; /* GroupNamePart */
193 static int hf_p7_initiator_name = -1; /* T_initiator_name */
194 static int hf_p7_initiator_credentials = -1; /* InitiatorCredentials */
195 static int hf_p7_security_context = -1; /* SecurityContext */
196 static int hf_p7_fetch_restrictions = -1; /* Restrictions */
197 static int hf_p7_ms_configuration_request = -1; /* BOOLEAN */
198 static int hf_p7_ua_registration_identifier = -1; /* RegistrationIdentifier */
199 static int hf_p7_bind_extensions = -1; /* MSExtensions */
200 static int hf_p7_allowed_content_types = -1; /* T_allowed_content_types */
201 static int hf_p7_allowed_content_types_item = -1; /* OBJECT_IDENTIFIER */
202 static int hf_p7_allowed_EITs = -1; /* MS_EITs */
203 static int hf_p7_maximum_attribute_length = -1; /* INTEGER */
204 static int hf_p7_MS_EITs_item = -1; /* MS_EIT */
205 static int hf_p7_responder_credentials = -1; /* ResponderCredentials */
206 static int hf_p7_available_auto_actions = -1; /* SET_SIZE_1_ub_auto_actions_OF_AutoActionType */
207 static int hf_p7_available_auto_actions_item = -1; /* AutoActionType */
208 static int hf_p7_available_attribute_types = -1; /* SET_SIZE_1_ub_attributes_supported_OF_AttributeType */
209 static int hf_p7_available_attribute_types_item = -1; /* AttributeType */
210 static int hf_p7_alert_indication = -1; /* BOOLEAN */
211 static int hf_p7_content_types_supported = -1; /* T_content_types_supported */
212 static int hf_p7_content_types_supported_item = -1; /* OBJECT_IDENTIFIER */
213 static int hf_p7_entry_classes_supported = -1; /* SET_SIZE_1_ub_entry_classes_OF_EntryClass */
214 static int hf_p7_entry_classes_supported_item = -1; /* EntryClass */
215 static int hf_p7_matching_rules_supported = -1; /* T_matching_rules_supported */
216 static int hf_p7_matching_rules_supported_item = -1; /* OBJECT_IDENTIFIER */
217 static int hf_p7_bind_result_extensions = -1; /* MSExtensions */
218 static int hf_p7_message_group_depth = -1; /* INTEGER_1_ub_group_depth */
219 static int hf_p7_auto_action_error_indication = -1; /* AutoActionErrorIndication */
220 static int hf_p7_unsupported_extensions = -1; /* T_unsupported_extensions */
221 static int hf_p7_unsupported_extensions_item = -1; /* OBJECT_IDENTIFIER */
222 static int hf_p7_ua_registration_id_unknown = -1; /* BOOLEAN */
223 static int hf_p7_service_information = -1; /* GeneralString_SIZE_1_ub_service_information_length */
224 static int hf_p7_ChangeCredentialsAlgorithms_item = -1; /* OBJECT_IDENTIFIER */
225 static int hf_p7_indication_only = -1; /* NULL */
226 static int hf_p7_auto_action_log_entry = -1; /* SequenceNumber */
227 static int hf_p7_unqualified_error = -1; /* BindProblem */
228 static int hf_p7_qualified_error = -1; /* T_qualified_error */
229 static int hf_p7_bind_problem = -1; /* BindProblem */
230 static int hf_p7_supplementary_information = -1; /* GeneralString_SIZE_1_ub_supplementary_info_length */
231 static int hf_p7_bind_extension_errors = -1; /* T_bind_extension_errors */
232 static int hf_p7_bind_extension_errors_item = -1; /* OBJECT_IDENTIFIER */
233 static int hf_p7_sequence_number_range = -1; /* NumberRange */
234 static int hf_p7_creation_time_range = -1; /* TimeRange */
235 static int hf_p7_from_number = -1; /* T_from_number */
236 static int hf_p7_to_number = -1; /* T_to_number */
237 static int hf_p7_from_time = -1; /* CreationTime */
238 static int hf_p7_to_time = -1; /* CreationTime */
239 static int hf_p7_filter_item = -1; /* FilterItem */
240 static int hf_p7_and = -1; /* SET_OF_Filter */
241 static int hf_p7_and_item = -1; /* Filter */
242 static int hf_p7_or = -1; /* SET_OF_Filter */
243 static int hf_p7_or_item = -1; /* Filter */
244 static int hf_p7_not = -1; /* Filter */
245 static int hf_p7_equality = -1; /* AttributeValueAssertion */
246 static int hf_p7_substrings = -1; /* T_substrings */
247 static int hf_p7_type = -1; /* AttributeType */
248 static int hf_p7_strings = -1; /* T_strings */
249 static int hf_p7_strings_item = -1; /* T_strings_item */
250 static int hf_p7_initial = -1; /* T_initial */
251 static int hf_p7_any = -1; /* T_any */
252 static int hf_p7_final = -1; /* T_final */
253 static int hf_p7_greater_or_equal = -1; /* AttributeValueAssertion */
254 static int hf_p7_less_or_equal = -1; /* AttributeValueAssertion */
255 static int hf_p7_present = -1; /* AttributeType */
256 static int hf_p7_approximate_match = -1; /* AttributeValueAssertion */
257 static int hf_p7_other_match = -1; /* MatchingRuleAssertion */
258 static int hf_p7_matching_rule = -1; /* OBJECT_IDENTIFIER */
259 static int hf_p7_match_value = -1; /* T_match_value */
260 static int hf_p7_attribute_value = -1; /* T_attribute_value */
261 static int hf_p7_child_entries = -1; /* BOOLEAN */
262 static int hf_p7_range = -1; /* Range */
263 static int hf_p7_filter = -1; /* Filter */
264 static int hf_p7_limit = -1; /* INTEGER_1_ub_messages */
265 static int hf_p7_override = -1; /* OverrideRestrictions */
266 static int hf_p7_EntryInformationSelection_item = -1; /* AttributeSelection */
267 static int hf_p7_from = -1; /* INTEGER_1_ub_attribute_values */
268 static int hf_p7_selection_count = -1; /* INTEGER_0_ub_attribute_values */
269 static int hf_p7_sequence_number = -1; /* SequenceNumber */
270 static int hf_p7_attributes = -1; /* SET_SIZE_1_ub_per_entry_OF_Attribute */
271 static int hf_p7_attributes_item = -1; /* Attribute */
272 static int hf_p7_value_count_exceeded = -1; /* SET_SIZE_1_ub_per_entry_OF_AttributeValueCount */
273 static int hf_p7_value_count_exceeded_item = -1; /* AttributeValueCount */
274 static int hf_p7_total = -1; /* INTEGER */
275 static int hf_p7_object_entry_class = -1; /* EntryClass */
276 static int hf_p7_disable_auto_modify = -1; /* BOOLEAN */
277 static int hf_p7_add_message_group_names = -1; /* SET_SIZE_1_ub_message_groups_OF_MessageGroupName */
278 static int hf_p7_add_message_group_names_item = -1; /* MessageGroupName */
279 static int hf_p7_ms_submission_extensions = -1; /* MSExtensions */
280 static int hf_p7_created_entry = -1; /* SequenceNumber */
281 static int hf_p7_ms_submission_result_extensions = -1; /* MSExtensions */
282 static int hf_p7_entry_class = -1; /* EntryClass */
283 static int hf_p7_selector = -1; /* Selector */
284 static int hf_p7_summary_requests = -1; /* SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType */
285 static int hf_p7_summary_requests_item = -1; /* AttributeType */
286 static int hf_p7_summarize_extensions = -1; /* MSExtensions */
287 static int hf_p7_next = -1; /* SequenceNumber */
288 static int hf_p7_count = -1; /* T_count */
289 static int hf_p7_span = -1; /* Span */
290 static int hf_p7_summaries = -1; /* SEQUENCE_SIZE_1_ub_summaries_OF_Summary */
291 static int hf_p7_summaries_item = -1; /* Summary */
292 static int hf_p7_summarize_result_extensions = -1; /* MSExtensions */
293 static int hf_p7_lowest = -1; /* SequenceNumber */
294 static int hf_p7_highest = -1; /* SequenceNumber */
295 static int hf_p7_absent = -1; /* INTEGER_1_ub_messages */
296 static int hf_p7_summary_present = -1; /* T_summary_present */
297 static int hf_p7_summary_present_item = -1; /* T_summary_present_item */
298 static int hf_p7_value = -1; /* SummaryPresentItemValue */
299 static int hf_p7_summary_count = -1; /* INTEGER_1_ub_messages */
300 static int hf_p7_requested_attributes = -1; /* EntryInformationSelection */
301 static int hf_p7_list_extensions = -1; /* MSExtensions */
302 static int hf_p7_requested = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation */
303 static int hf_p7_requested_item = -1; /* EntryInformation */
304 static int hf_p7_list_result_extensions = -1; /* MSExtensions */
305 static int hf_p7_item = -1; /* T_item */
306 static int hf_p7_search = -1; /* Selector */
307 static int hf_p7_precise = -1; /* SequenceNumber */
308 static int hf_p7_fetch_extensions = -1; /* MSExtensions */
309 static int hf_p7_entry_information = -1; /* EntryInformation */
310 static int hf_p7_list = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
311 static int hf_p7_list_item = -1; /* SequenceNumber */
312 static int hf_p7_fetch_result_extensions = -1; /* MSExtensions */
313 static int hf_p7_items = -1; /* T_items */
314 static int hf_p7_sequence_numbers = -1; /* SET_SIZE_1_ub_messages_OF_SequenceNumber */
315 static int hf_p7_sequence_numbers_item = -1; /* SequenceNumber */
316 static int hf_p7_delete_extensions = -1; /* MSExtensions */
317 static int hf_p7_delete_result_88 = -1; /* NULL */
318 static int hf_p7_delete_result_94 = -1; /* T_delete_result_94 */
319 static int hf_p7_entries_deleted_94 = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
320 static int hf_p7_entries_deleted_94_item = -1; /* SequenceNumber */
321 static int hf_p7_delete_result_extensions = -1; /* MSExtensions */
322 static int hf_p7_auto_action_registrations = -1; /* SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration */
323 static int hf_p7_auto_action_registrations_item = -1; /* AutoActionRegistration */
324 static int hf_p7_auto_action_deregistrations = -1; /* SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration */
325 static int hf_p7_auto_action_deregistrations_item = -1; /* AutoActionDeregistration */
326 static int hf_p7_list_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
327 static int hf_p7_list_attribute_defaults_item = -1; /* AttributeType */
328 static int hf_p7_fetch_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
329 static int hf_p7_fetch_attribute_defaults_item = -1; /* AttributeType */
330 static int hf_p7_change_credentials = -1; /* T_change_credentials */
331 static int hf_p7_register_old_credentials = -1; /* Credentials */
332 static int hf_p7_new_credentials = -1; /* Credentials */
333 static int hf_p7_user_security_labels = -1; /* SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel */
334 static int hf_p7_user_security_labels_item = -1; /* SecurityLabel */
335 static int hf_p7_ua_registrations = -1; /* SET_SIZE_1_ub_ua_registrations_OF_UARegistration */
336 static int hf_p7_ua_registrations_item = -1; /* UARegistration */
337 static int hf_p7_submission_defaults = -1; /* MSSubmissionOptions */
338 static int hf_p7_message_group_registrations = -1; /* MessageGroupRegistrations */
339 static int hf_p7_registration_status_request = -1; /* RegistrationTypes */
340 static int hf_p7_register_ms_extensions = -1; /* MSExtensions */
341 static int hf_p7_ua_list_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
342 static int hf_p7_ua_list_attribute_defaults_item = -1; /* AttributeType */
343 static int hf_p7_ua_fetch_attribute_defaults = -1; /* SET_SIZE_0_ub_default_registrations_OF_AttributeType */
344 static int hf_p7_ua_fetch_attribute_defaults_item = -1; /* AttributeType */
345 static int hf_p7_ua_submission_defaults = -1; /* MSSubmissionOptions */
346 static int hf_p7_content_specific_defaults = -1; /* MSExtensions */
347 static int hf_p7_MessageGroupRegistrations_item = -1; /* MessageGroupRegistrations_item */
348 static int hf_p7_register_group = -1; /* MessageGroupNameAndDescriptor */
349 static int hf_p7_deregister_group = -1; /* MessageGroupName */
350 static int hf_p7_change_descriptors = -1; /* MessageGroupNameAndDescriptor */
351 static int hf_p7_message_group_name = -1; /* MessageGroupName */
352 static int hf_p7_message_group_descriptor = -1; /* GeneralString_SIZE_1_ub_group_descriptor_length */
353 static int hf_p7_registrations = -1; /* T_registrations */
354 static int hf_p7_extended_registrations = -1; /* T_extended_registrations */
355 static int hf_p7_extended_registrations_item = -1; /* T_extended_registrations_item */
356 static int hf_p7_restrict_message_groups = -1; /* MessageGroupsRestriction */
357 static int hf_p7_parent_group = -1; /* MessageGroupName */
358 static int hf_p7_immediate_descendants_only = -1; /* BOOLEAN */
359 static int hf_p7_omit_descriptors = -1; /* BOOLEAN */
360 static int hf_p7_algorithm_identifier = -1; /* OBJECT_IDENTIFIER */
361 static int hf_p7_old_credentials = -1; /* InitiatorCredentials */
362 static int hf_p7_password_delta = -1; /* BIT_STRING */
363 static int hf_p7_no_status_information = -1; /* NULL */
364 static int hf_p7_registered_information = -1; /* T_registered_information */
365 static int hf_p7_registered_list_attribute_defaults = -1; /* SET_SIZE_1_ub_default_registrations_OF_AttributeType */
366 static int hf_p7_registered_list_attribute_defaults_item = -1; /* AttributeType */
367 static int hf_p7_registered_fetch_attribute_defaults = -1; /* SET_SIZE_1_ub_default_registrations_OF_AttributeType */
368 static int hf_p7_registered_fetch_attribute_defaults_item = -1; /* AttributeType */
369 static int hf_p7_registered_message_group_registrations = -1; /* SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor */
370 static int hf_p7_registered_message_group_registrations_item = -1; /* MessageGroupNameAndDescriptor */
371 static int hf_p7_register_ms_result_extensions = -1; /* MSExtensions */
372 static int hf_p7_alert_registration_identifier = -1; /* INTEGER_1_ub_auto_actions */
373 static int hf_p7_new_entry = -1; /* EntryInformation */
374 static int hf_p7_entries = -1; /* T_entries */
375 static int hf_p7_specific_entries = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
376 static int hf_p7_specific_entries_item = -1; /* SequenceNumber */
377 static int hf_p7_modifications = -1; /* SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification */
378 static int hf_p7_modifications_item = -1; /* EntryModification */
379 static int hf_p7_modify_extensions = -1; /* MSExtensions */
380 static int hf_p7_strict = -1; /* BOOLEAN */
381 static int hf_p7_modification = -1; /* T_modification */
382 static int hf_p7_add_attribute = -1; /* Attribute */
383 static int hf_p7_remove_attribute = -1; /* AttributeType */
384 static int hf_p7_add_values = -1; /* OrderedAttribute */
385 static int hf_p7_remove_values = -1; /* OrderedAttribute */
386 static int hf_p7_ordered_attribute_values = -1; /* OrderedAttributeValues */
387 static int hf_p7_ordered_attribute_values_item = -1; /* OrderedAttributeItem */
388 static int hf_p7_ordered_attribute_value = -1; /* OrderedAttributeValue */
389 static int hf_p7_ordered_position = -1; /* INTEGER_1_ub_attribute_values */
390 static int hf_p7_entries_modified = -1; /* SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber */
391 static int hf_p7_entries_modified_item = -1; /* SequenceNumber */
392 static int hf_p7_modify_result_extensions = -1; /* MSExtensions */
393 static int hf_p7_envelope = -1; /* MessageSubmissionEnvelope */
394 static int hf_p7_content = -1; /* Content */
395 static int hf_p7_submission_options = -1; /* MSSubmissionOptions */
396 static int hf_p7_mts_result = -1; /* T_mts_result */
397 static int hf_p7_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
398 static int hf_p7_message_submission_time = -1; /* MessageSubmissionTime */
399 static int hf_p7_content_identifier = -1; /* ContentIdentifier */
400 static int hf_p7_extensions = -1; /* SET_OF_ExtensionField */
401 static int hf_p7_extensions_item = -1; /* ExtensionField */
402 static int hf_p7_ms_message_result = -1; /* CommonSubmissionResults */
403 static int hf_p7_store_draft_result = -1; /* CommonSubmissionResults */
404 static int hf_p7_originator_name = -1; /* OriginatorName */
405 static int hf_p7_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
406 static int hf_p7_content_type = -1; /* ContentType */
407 static int hf_p7_content_length = -1; /* ContentLength */
408 static int hf_p7_per_message_indicators = -1; /* PerMessageIndicators */
409 static int hf_p7_per_recipient_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
410 static int hf_p7_per_recipient_fields_item = -1; /* PerRecipientProbeSubmissionFields */
411 static int hf_p7_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
412 static int hf_p7_probe_submission_time = -1; /* ProbeSubmissionTime */
413 static int hf_p7_ms_probe_result = -1; /* CommonSubmissionResults */
414 static int hf_p7_attribute_problems = -1; /* AttributeProblems */
415 static int hf_p7_attribute_problem_item = -1; /* AttributeProblemItem */
416 static int hf_p7_attribute_problem = -1; /* AttributeProblem */
417 static int hf_p7_attr_value = -1; /* T_attr_value */
418 static int hf_p7_auto_action_request_problems = -1; /* AutoActionRequestProblems */
419 static int hf_p7_auto_action_request_problem_item = -1; /* AutoActionRequestProblemItem */
420 static int hf_p7_auto_action_request_problem = -1; /* AutoActionRequestProblem */
421 static int hf_p7_delete_problems = -1; /* DeleteProblems */
422 static int hf_p7_delete_problem_item = -1; /* DeleteProblemItem */
423 static int hf_p7_delete_problem = -1; /* DeleteProblem */
424 static int hf_p7_entries_deleted = -1; /* SET_SIZE_1_ub_messages_OF_SequenceNumber */
425 static int hf_p7_entries_deleted_item = -1; /* SequenceNumber */
426 static int hf_p7_fetch_restriction_problems = -1; /* FetchRestrictionProblems */
427 static int hf_p7_fetch_restriction_problem_item = -1; /* FetchRestrictionProblemItem */
428 static int hf_p7_fetch_restriction_problem = -1; /* FetchRestrictionProblem */
429 static int hf_p7_restriction = -1; /* T_restriction */
430 static int hf_p7_extended_content_type = -1; /* OBJECT_IDENTIFIER */
431 static int hf_p7_eit = -1; /* MS_EITs */
432 static int hf_p7_attribute_length = -1; /* INTEGER */
433 static int hf_p7_range_problem = -1; /* RangeProblem */
434 static int hf_p7_sequence_number_problems = -1; /* SequenceNumberProblems */
435 static int hf_p7_sequence_number_problem_item = -1; /* SequenceNumberProblemItem */
436 static int hf_p7_sequence_number_problem = -1; /* SequenceNumberProblem */
437 static int hf_p7_service_problem = -1; /* ServiceProblem */
438 static int hf_p7_message_group_problem = -1; /* MessageGroupProblem */
439 static int hf_p7_name = -1; /* MessageGroupName */
440 static int hf_p7_ms_extension_problem = -1; /* MSExtensionItem */
441 static int hf_p7_unknown_ms_extension = -1; /* OBJECT_IDENTIFIER */
442 static int hf_p7_register_ms_problem = -1; /* RegistrationProblem */
443 static int hf_p7_registration_type = -1; /* RegistrationTypes */
444 static int hf_p7_failing_entry = -1; /* SequenceNumber */
445 static int hf_p7_modification_number = -1; /* INTEGER */
446 static int hf_p7_modify_problem = -1; /* ModifyProblem */
447 static int hf_p7_entry_class_problem = -1; /* T_entry_class_problem */
448 static int hf_p7_no_correlated_reports = -1; /* NULL */
449 static int hf_p7_location = -1; /* SEQUENCE_OF_PerRecipientReport */
450 static int hf_p7_location_item = -1; /* PerRecipientReport */
451 static int hf_p7_report_entry = -1; /* SequenceNumber */
452 static int hf_p7_position = -1; /* INTEGER_1_ub_recipients */
453 static int hf_p7_submission_control_violated = -1; /* NULL */
454 static int hf_p7_originator_invalid = -1; /* NULL */
455 static int hf_p7_recipient_improperly_specified = -1; /* ImproperlySpecifiedRecipients */
456 static int hf_p7_element_of_service_not_subscribed = -1; /* NULL */
457 static int hf_p7_inconsistent_request = -1; /* NULL */
458 static int hf_p7_security_error = -1; /* SecurityProblem */
459 static int hf_p7_unsupported_critical_function = -1; /* NULL */
460 static int hf_p7_remote_bind_error = -1; /* NULL */
461 static int hf_p7_service_error = -1; /* ServiceErrorParameter */
462 static int hf_p7_message_group_error = -1; /* MessageGroupErrorParameter */
463 static int hf_p7_ms_extension_error = -1; /* MSExtensionErrorParameter */
464 static int hf_p7_entry_class_error = -1; /* EntryClassErrorParameter */
465 static int hf_p7_content_integrity_check = -1; /* SignatureStatus */
466 static int hf_p7_message_origin_authentication_check = -1; /* SignatureStatus */
467 static int hf_p7_message_token = -1; /* SignatureStatus */
468 static int hf_p7_report_origin_authentication_check = -1; /* SignatureStatus */
469 static int hf_p7_proof_of_delivery = -1; /* SignatureStatus */
470 static int hf_p7_proof_of_submission = -1; /* SignatureStatus */
471 static int hf_p7_rtorq_apdu = -1; /* RTORQapdu */
472 static int hf_p7_rtoac_apdu = -1; /* RTOACapdu */
473 static int hf_p7_rtorj_apdu = -1; /* RTORJapdu */
474 static int hf_p7_rttp_apdu = -1; /* RTTPapdu */
475 static int hf_p7_rttr_apdu = -1; /* RTTRapdu */
476 static int hf_p7_rtab_apdu = -1; /* RTABapdu */
477 static int hf_p7_abortReason = -1; /* AbortReason */
478 static int hf_p7_reflectedParameter = -1; /* BIT_STRING */
479 static int hf_p7_userdataAB = -1; /* T_userdataAB */
480 /* named bits */
481 static int hf_p7_OverrideRestrictions_override_content_types_restriction = -1;
482 static int hf_p7_OverrideRestrictions_override_EITs_restriction = -1;
483 static int hf_p7_OverrideRestrictions_override_attribute_length_restriction = -1;
484 static int hf_p7_T_registrations_auto_action_registrations = -1;
485 static int hf_p7_T_registrations_list_attribute_defaults = -1;
486 static int hf_p7_T_registrations_fetch_attribute_defaults = -1;
487 static int hf_p7_T_registrations_ua_registrations = -1;
488 static int hf_p7_T_registrations_submission_defaults = -1;
489 static int hf_p7_T_registrations_message_group_registrations = -1;
490 static int hf_p7_T_entry_class_problem_unsupported_entry_class = -1;
491 static int hf_p7_T_entry_class_problem_entry_class_not_subscribed = -1;
492 static int hf_p7_T_entry_class_problem_inappropriate_entry_class = -1;
494 /*--- End of included file: packet-p7-hf.c ---*/
495 #line 59 "../../asn1/p7/packet-p7-template.c"
497 /* Initialize the subtree pointers */
498 static gint ett_p7 = -1;
500 /*--- Included file: packet-p7-ett.c ---*/
501 #line 1 "../../asn1/p7/packet-p7-ett.c"
502 static gint ett_p7_Attribute = -1;
503 static gint ett_p7_AttributeValues = -1;
504 static gint ett_p7_AutoActionRegistration = -1;
505 static gint ett_p7_AutoActionError = -1;
506 static gint ett_p7_MSExtensions = -1;
507 static gint ett_p7_MessageGroupName = -1;
508 static gint ett_p7_MSBindArgument = -1;
509 static gint ett_p7_Restrictions = -1;
510 static gint ett_p7_T_allowed_content_types = -1;
511 static gint ett_p7_MS_EITs = -1;
512 static gint ett_p7_MSBindResult = -1;
513 static gint ett_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType = -1;
514 static gint ett_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType = -1;
515 static gint ett_p7_T_content_types_supported = -1;
516 static gint ett_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass = -1;
517 static gint ett_p7_T_matching_rules_supported = -1;
518 static gint ett_p7_T_unsupported_extensions = -1;
519 static gint ett_p7_ChangeCredentialsAlgorithms = -1;
520 static gint ett_p7_AutoActionErrorIndication = -1;
521 static gint ett_p7_PAR_ms_bind_error = -1;
522 static gint ett_p7_T_qualified_error = -1;
523 static gint ett_p7_T_bind_extension_errors = -1;
524 static gint ett_p7_Range = -1;
525 static gint ett_p7_NumberRange = -1;
526 static gint ett_p7_TimeRange = -1;
527 static gint ett_p7_Filter = -1;
528 static gint ett_p7_SET_OF_Filter = -1;
529 static gint ett_p7_FilterItem = -1;
530 static gint ett_p7_T_substrings = -1;
531 static gint ett_p7_T_strings = -1;
532 static gint ett_p7_T_strings_item = -1;
533 static gint ett_p7_MatchingRuleAssertion = -1;
534 static gint ett_p7_AttributeValueAssertion = -1;
535 static gint ett_p7_Selector = -1;
536 static gint ett_p7_OverrideRestrictions = -1;
537 static gint ett_p7_EntryInformationSelection = -1;
538 static gint ett_p7_AttributeSelection = -1;
539 static gint ett_p7_EntryInformation = -1;
540 static gint ett_p7_SET_SIZE_1_ub_per_entry_OF_Attribute = -1;
541 static gint ett_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount = -1;
542 static gint ett_p7_AttributeValueCount = -1;
543 static gint ett_p7_MSSubmissionOptions = -1;
544 static gint ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName = -1;
545 static gint ett_p7_CommonSubmissionResults = -1;
546 static gint ett_p7_SummarizeArgument = -1;
547 static gint ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType = -1;
548 static gint ett_p7_SummarizeResult = -1;
549 static gint ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary = -1;
550 static gint ett_p7_Span = -1;
551 static gint ett_p7_Summary = -1;
552 static gint ett_p7_T_summary_present = -1;
553 static gint ett_p7_T_summary_present_item = -1;
554 static gint ett_p7_ListArgument = -1;
555 static gint ett_p7_ListResult = -1;
556 static gint ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation = -1;
557 static gint ett_p7_FetchArgument = -1;
558 static gint ett_p7_T_item = -1;
559 static gint ett_p7_FetchResult = -1;
560 static gint ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber = -1;
561 static gint ett_p7_DeleteArgument = -1;
562 static gint ett_p7_T_items = -1;
563 static gint ett_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber = -1;
564 static gint ett_p7_DeleteResult = -1;
565 static gint ett_p7_T_delete_result_94 = -1;
566 static gint ett_p7_Register_MSArgument = -1;
567 static gint ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration = -1;
568 static gint ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration = -1;
569 static gint ett_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType = -1;
570 static gint ett_p7_T_change_credentials = -1;
571 static gint ett_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel = -1;
572 static gint ett_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration = -1;
573 static gint ett_p7_AutoActionDeregistration = -1;
574 static gint ett_p7_UARegistration = -1;
575 static gint ett_p7_MessageGroupRegistrations = -1;
576 static gint ett_p7_MessageGroupRegistrations_item = -1;
577 static gint ett_p7_MessageGroupNameAndDescriptor = -1;
578 static gint ett_p7_RegistrationTypes = -1;
579 static gint ett_p7_T_registrations = -1;
580 static gint ett_p7_T_extended_registrations = -1;
581 static gint ett_p7_MessageGroupsRestriction = -1;
582 static gint ett_p7_ProtectedChangeCredentials = -1;
583 static gint ett_p7_Register_MSResult = -1;
584 static gint ett_p7_T_registered_information = -1;
585 static gint ett_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType = -1;
586 static gint ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor = -1;
587 static gint ett_p7_AlertArgument = -1;
588 static gint ett_p7_ModifyArgument = -1;
589 static gint ett_p7_T_entries = -1;
590 static gint ett_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification = -1;
591 static gint ett_p7_EntryModification = -1;
592 static gint ett_p7_T_modification = -1;
593 static gint ett_p7_OrderedAttribute = -1;
594 static gint ett_p7_OrderedAttributeValues = -1;
595 static gint ett_p7_OrderedAttributeItem = -1;
596 static gint ett_p7_ModifyResult = -1;
597 static gint ett_p7_MSMessageSubmissionArgument = -1;
598 static gint ett_p7_MSMessageSubmissionResult = -1;
599 static gint ett_p7_T_mts_result = -1;
600 static gint ett_p7_SET_OF_ExtensionField = -1;
601 static gint ett_p7_MSProbeSubmissionArgument = -1;
602 static gint ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
603 static gint ett_p7_MSProbeSubmissionResult = -1;
604 static gint ett_p7_PAR_attribute_error = -1;
605 static gint ett_p7_AttributeProblems = -1;
606 static gint ett_p7_AttributeProblemItem = -1;
607 static gint ett_p7_PAR_auto_action_request_error = -1;
608 static gint ett_p7_AutoActionRequestProblems = -1;
609 static gint ett_p7_AutoActionRequestProblemItem = -1;
610 static gint ett_p7_PAR_delete_error = -1;
611 static gint ett_p7_DeleteProblems = -1;
612 static gint ett_p7_DeleteProblemItem = -1;
613 static gint ett_p7_PAR_fetch_restriction_error = -1;
614 static gint ett_p7_FetchRestrictionProblems = -1;
615 static gint ett_p7_FetchRestrictionProblemItem = -1;
616 static gint ett_p7_T_restriction = -1;
617 static gint ett_p7_PAR_range_error = -1;
618 static gint ett_p7_PAR_sequence_number_error = -1;
619 static gint ett_p7_SequenceNumberProblems = -1;
620 static gint ett_p7_SequenceNumberProblemItem = -1;
621 static gint ett_p7_ServiceErrorParameter = -1;
622 static gint ett_p7_MessageGroupErrorParameter = -1;
623 static gint ett_p7_MSExtensionErrorParameter = -1;
624 static gint ett_p7_PAR_register_ms_error = -1;
625 static gint ett_p7_ModifyErrorParameter = -1;
626 static gint ett_p7_EntryClassErrorParameter = -1;
627 static gint ett_p7_T_entry_class_problem = -1;
628 static gint ett_p7_ReportLocation = -1;
629 static gint ett_p7_SEQUENCE_OF_PerRecipientReport = -1;
630 static gint ett_p7_PerRecipientReport = -1;
631 static gint ett_p7_SubmissionError = -1;
632 static gint ett_p7_SignatureVerificationStatus = -1;
633 static gint ett_p7_RTSE_apdus = -1;
634 static gint ett_p7_RTABapdu = -1;
636 /*--- End of included file: packet-p7-ett.c ---*/
637 #line 63 "../../asn1/p7/packet-p7-template.c"
640 /*--- Included file: packet-p7-table.c ---*/
641 #line 1 "../../asn1/p7/packet-p7-table.c"
643 /* P7 ABSTRACT-OPERATIONS */
644 const value_string p7_opr_code_string_vals[] = {
645 { op_ros_bind, "ms_bind" },
646 { op_summarize, "summarize" },
647 { op_list, "list" },
648 { op_fetch, "fetch" },
649 { op_delete, "delete" },
650 { op_register_ms, "register_MS" },
651 { op_alert, "alert" },
652 { op_modify, "modify" },
653 { op_ms_message_submission, "ms_message_submission" },
654 { op_ms_probe_submission, "ms_probe_submission" },
655 { 0, NULL }
659 /* P7 ERRORS */
660 static const value_string p7_err_code_string_vals[] = {
661 { err_ros_bind, "ms_bind_error" },
662 { err_attribute_error, "attribute_error" },
663 { err_auto_action_request_error, "auto_action_request_error" },
664 { err_delete_error, "delete_error" },
665 { err_fetch_restriction_error, "fetch_restriction_error" },
666 { err_invalid_parameters_error, "invalid_parameters_error" },
667 { err_range_error, "range_error" },
668 { err_sequence_number_error, "sequence_number_error" },
669 { err_service_error, "service_error" },
670 { err_message_group_error, "message_group_error" },
671 { err_ms_extension_error, "ms_extension_error" },
672 { err_register_ms_error, "register_ms_error" },
673 { err_modify_error, "modify_error" },
674 { err_entry_class_error, "entry_class_error" },
675 { 0, NULL }
679 /*--- End of included file: packet-p7-table.c ---*/
680 #line 65 "../../asn1/p7/packet-p7-template.c"
683 /*--- Included file: packet-p7-fn.c ---*/
684 #line 1 "../../asn1/p7/packet-p7-fn.c"
685 /*--- Cyclic dependencies ---*/
687 /* Filter -> Filter/and -> Filter */
688 /* Filter -> Filter */
689 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_);
694 static int
695 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_) {
696 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
698 return offset;
703 static int
704 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_) {
705 if(actx->external.direct_reference)
706 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
709 return offset;
713 static const ber_sequence_t AttributeValues_sequence_of[1] = {
714 { &hf_p7_attribute_values_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeItem },
717 static int
718 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_) {
719 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
720 1, ub_attribute_values, AttributeValues_sequence_of, hf_index, ett_p7_AttributeValues);
722 return offset;
726 static const ber_sequence_t Attribute_sequence[] = {
727 { &hf_p7_attribute_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
728 { &hf_p7_attribute_values , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeValues },
729 { NULL, 0, 0, 0, NULL }
732 static int
733 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_) {
734 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
735 Attribute_sequence, hf_index, ett_p7_Attribute);
737 return offset;
742 static int
743 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_) {
744 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
746 return offset;
751 static int
752 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_) {
753 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
754 1U, ub_per_auto_action, hf_index, NULL);
756 return offset;
761 static int
762 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_) {
763 if(actx->external.direct_reference)
764 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
768 return offset;
772 static const ber_sequence_t AutoActionRegistration_sequence[] = {
773 { &hf_p7_auto_action_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionType },
774 { &hf_p7_registration_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_per_auto_action },
775 { &hf_p7_registration_parameter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_registration_parameter },
776 { NULL, 0, 0, 0, NULL }
779 static int
780 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_) {
781 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
782 AutoActionRegistration_sequence, hf_index, ett_p7_AutoActionRegistration);
784 return offset;
789 static int
790 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_) {
791 /* XXX: Is this really the best way to do this? */
792 offset = dissect_ros_Code(implicit_tag, tvb, offset, actx, tree, hf_index);
795 return offset;
800 static int
801 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_) {
802 if(actx->external.direct_reference)
803 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
806 return offset;
810 static const ber_sequence_t AutoActionError_set[] = {
811 { &hf_p7_error_code , BER_CLASS_CON, 0, 0, dissect_p7_T_error_code },
812 { &hf_p7_error_parameter , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_error_parameter },
813 { NULL, 0, 0, 0, NULL }
816 static int
817 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_) {
818 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
819 AutoActionError_set, hf_index, ett_p7_AutoActionError);
821 return offset;
826 static int
827 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_) {
828 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
830 return offset;
834 static const ber_sequence_t MSExtensions_sequence_of[1] = {
835 { &hf_p7_MSExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_p7_MSExtensionItem },
838 static int
839 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_) {
840 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
841 1, ub_extensions, MSExtensions_sequence_of, hf_index, ett_p7_MSExtensions);
843 return offset;
847 static const value_string p7_EntryClass_vals[] = {
848 { 0, "delivery" },
849 { 1, "submission" },
850 { 2, "draft" },
851 { 3, "stored-message" },
852 { 4, "delivery-log" },
853 { 5, "submission-log" },
854 { 6, "message-log" },
855 { 7, "auto-action-log" },
856 { 0, NULL }
860 static int
861 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_) {
862 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
863 0U, ub_entry_classes, hf_index, NULL);
865 return offset;
869 static const value_string p7_EntryType_vals[] = {
870 { 0, "delivered-message" },
871 { 1, "delivered-report" },
872 { 2, "returned-content" },
873 { 3, "submitted-message" },
874 { 4, "submitted-probe" },
875 { 5, "draft-message" },
876 { 6, "auto-action-event" },
877 { 0, NULL }
881 static int
882 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_) {
883 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
884 NULL);
886 return offset;
892 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_) {
893 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
894 0U, ub_messages, hf_index, &seqno);
896 return offset;
900 static const value_string p7_RetrievalStatus_vals[] = {
901 { 0, "new" },
902 { 1, "listed" },
903 { 2, "processed" },
904 { 0, NULL }
908 static int
909 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_) {
910 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
911 NULL);
913 return offset;
918 static int
919 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_) {
920 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
921 actx, tree, tvb, offset,
922 1, ub_group_part_length, hf_index, NULL);
924 return offset;
928 static const ber_sequence_t MessageGroupName_sequence_of[1] = {
929 { &hf_p7_MessageGroupName_item, BER_CLASS_UNI, BER_UNI_TAG_GeneralString, BER_FLAGS_NOOWNTAG, dissect_p7_GroupNamePart },
932 static int
933 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_) {
934 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
935 1, ub_group_depth, MessageGroupName_sequence_of, hf_index, ett_p7_MessageGroupName);
937 return offset;
942 static int
943 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_) {
944 const char *ora = NULL;
946 offset = dissect_p1_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
949 if ((ora = p1_get_last_oraddress(actx))) {
950 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (initiator=%s)", ora);
954 return offset;
959 static int
960 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_) {
961 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
963 return offset;
967 static const ber_sequence_t T_allowed_content_types_set_of[1] = {
968 { &hf_p7_allowed_content_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
971 static int
972 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_) {
973 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
974 1, ub_content_types, T_allowed_content_types_set_of, hf_index, ett_p7_T_allowed_content_types);
976 return offset;
981 static int
982 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_) {
983 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
985 return offset;
989 static const ber_sequence_t MS_EITs_set_of[1] = {
990 { &hf_p7_MS_EITs_item , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_MS_EIT },
993 static int
994 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_) {
995 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
996 1, ub_encoded_information_types, MS_EITs_set_of, hf_index, ett_p7_MS_EITs);
998 return offset;
1003 static int
1004 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_) {
1005 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1006 NULL);
1008 return offset;
1012 static const ber_sequence_t Restrictions_set[] = {
1013 { &hf_p7_allowed_content_types, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_T_allowed_content_types },
1014 { &hf_p7_allowed_EITs , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_MS_EITs },
1015 { &hf_p7_maximum_attribute_length, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER },
1016 { NULL, 0, 0, 0, NULL }
1019 static int
1020 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_) {
1021 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1022 Restrictions_set, hf_index, ett_p7_Restrictions);
1024 return offset;
1029 static int
1030 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_) {
1031 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1033 return offset;
1038 static int
1039 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_) {
1040 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1041 actx, tree, tvb, offset,
1042 1, ub_ua_registration_identifier_length, hf_index, NULL);
1044 return offset;
1048 static const ber_sequence_t MSBindArgument_set[] = {
1049 { &hf_p7_initiator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_initiator_name },
1050 { &hf_p7_initiator_credentials, BER_CLASS_CON, 2, 0, dissect_p1_InitiatorCredentials },
1051 { &hf_p7_security_context , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityContext },
1052 { &hf_p7_fetch_restrictions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_Restrictions },
1053 { &hf_p7_ms_configuration_request, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
1054 { &hf_p7_ua_registration_identifier, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_RegistrationIdentifier },
1055 { &hf_p7_bind_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1056 { NULL, 0, 0, 0, NULL }
1059 static int
1060 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_) {
1061 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1062 MSBindArgument_set, hf_index, ett_p7_MSBindArgument);
1064 return offset;
1068 static const ber_sequence_t SET_SIZE_1_ub_auto_actions_OF_AutoActionType_set_of[1] = {
1069 { &hf_p7_available_auto_actions_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionType },
1072 static int
1073 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_) {
1074 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1075 1, ub_auto_actions, SET_SIZE_1_ub_auto_actions_OF_AutoActionType_set_of, hf_index, ett_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType);
1077 return offset;
1081 static const ber_sequence_t SET_SIZE_1_ub_attributes_supported_OF_AttributeType_set_of[1] = {
1082 { &hf_p7_available_attribute_types_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
1085 static int
1086 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_) {
1087 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1088 1, ub_attributes_supported, SET_SIZE_1_ub_attributes_supported_OF_AttributeType_set_of, hf_index, ett_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType);
1090 return offset;
1094 static const ber_sequence_t T_content_types_supported_set_of[1] = {
1095 { &hf_p7_content_types_supported_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
1098 static int
1099 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_) {
1100 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1101 1, ub_content_types, T_content_types_supported_set_of, hf_index, ett_p7_T_content_types_supported);
1103 return offset;
1107 static const ber_sequence_t SET_SIZE_1_ub_entry_classes_OF_EntryClass_set_of[1] = {
1108 { &hf_p7_entry_classes_supported_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_EntryClass },
1111 static int
1112 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_) {
1113 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1114 1, ub_entry_classes, SET_SIZE_1_ub_entry_classes_OF_EntryClass_set_of, hf_index, ett_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass);
1116 return offset;
1120 static const ber_sequence_t T_matching_rules_supported_set_of[1] = {
1121 { &hf_p7_matching_rules_supported_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
1124 static int
1125 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_) {
1126 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1127 1, ub_matching_rules, T_matching_rules_supported_set_of, hf_index, ett_p7_T_matching_rules_supported);
1129 return offset;
1134 static int
1135 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_) {
1136 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1137 1U, ub_group_depth, hf_index, NULL);
1139 return offset;
1144 static int
1145 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_) {
1146 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1148 return offset;
1152 static const value_string p7_AutoActionErrorIndication_vals[] = {
1153 { 0, "indication-only" },
1154 { 1, "auto-action-log-entry" },
1155 { 0, NULL }
1158 static const ber_choice_t AutoActionErrorIndication_choice[] = {
1159 { 0, &hf_p7_indication_only , BER_CLASS_CON, 0, 0, dissect_p7_NULL },
1160 { 1, &hf_p7_auto_action_log_entry, BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
1161 { 0, NULL, 0, 0, 0, NULL }
1164 static int
1165 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_) {
1166 offset = dissect_ber_choice(actx, tree, tvb, offset,
1167 AutoActionErrorIndication_choice, hf_index, ett_p7_AutoActionErrorIndication,
1168 NULL);
1170 return offset;
1174 static const ber_sequence_t T_unsupported_extensions_set_of[1] = {
1175 { &hf_p7_unsupported_extensions_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
1178 static int
1179 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_) {
1180 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1181 1, ub_extensions, T_unsupported_extensions_set_of, hf_index, ett_p7_T_unsupported_extensions);
1183 return offset;
1188 static int
1189 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_) {
1190 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
1191 actx, tree, tvb, offset,
1192 1, ub_service_information_length, hf_index, NULL);
1194 return offset;
1198 static const ber_sequence_t MSBindResult_set[] = {
1199 { &hf_p7_responder_credentials, BER_CLASS_CON, 2, 0, dissect_p1_ResponderCredentials },
1200 { &hf_p7_available_auto_actions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType },
1201 { &hf_p7_available_attribute_types, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType },
1202 { &hf_p7_alert_indication , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
1203 { &hf_p7_content_types_supported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_T_content_types_supported },
1204 { &hf_p7_entry_classes_supported, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass },
1205 { &hf_p7_matching_rules_supported, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_p7_T_matching_rules_supported },
1206 { &hf_p7_bind_result_extensions, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1207 { &hf_p7_message_group_depth, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_group_depth },
1208 { &hf_p7_auto_action_error_indication, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_AutoActionErrorIndication },
1209 { &hf_p7_unsupported_extensions, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_p7_T_unsupported_extensions },
1210 { &hf_p7_ua_registration_id_unknown, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
1211 { &hf_p7_service_information, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_service_information_length },
1212 { NULL, 0, 0, 0, NULL }
1215 static int
1216 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_) {
1217 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1218 MSBindResult_set, hf_index, ett_p7_MSBindResult);
1220 return offset;
1224 static const ber_sequence_t ChangeCredentialsAlgorithms_set_of[1] = {
1225 { &hf_p7_ChangeCredentialsAlgorithms_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
1228 static int
1229 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_) {
1230 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1231 ChangeCredentialsAlgorithms_set_of, hf_index, ett_p7_ChangeCredentialsAlgorithms);
1233 return offset;
1237 static const value_string p7_BindProblem_vals[] = {
1238 { 0, "authentication-error" },
1239 { 1, "unacceptable-security-context" },
1240 { 2, "unable-to-establish-association" },
1241 { 3, "bind-extension-problem" },
1242 { 4, "inadequate-association-confidentiality" },
1243 { 0, NULL }
1247 static int
1248 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_) {
1249 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1250 NULL);
1252 return offset;
1257 static int
1258 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_) {
1259 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
1260 actx, tree, tvb, offset,
1261 1, ub_supplementary_info_length, hf_index, NULL);
1263 return offset;
1267 static const ber_sequence_t T_bind_extension_errors_set_of[1] = {
1268 { &hf_p7_bind_extension_errors_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
1271 static int
1272 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_) {
1273 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1274 1, ub_extensions, T_bind_extension_errors_set_of, hf_index, ett_p7_T_bind_extension_errors);
1276 return offset;
1280 static const ber_sequence_t T_qualified_error_set[] = {
1281 { &hf_p7_bind_problem , BER_CLASS_CON, 0, 0, dissect_p7_BindProblem },
1282 { &hf_p7_supplementary_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_supplementary_info_length },
1283 { &hf_p7_bind_extension_errors, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_T_bind_extension_errors },
1284 { NULL, 0, 0, 0, NULL }
1287 static int
1288 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_) {
1289 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1290 T_qualified_error_set, hf_index, ett_p7_T_qualified_error);
1292 return offset;
1296 static const value_string p7_PAR_ms_bind_error_vals[] = {
1297 { 0, "unqualified-error" },
1298 { 1, "qualified-error" },
1299 { 0, NULL }
1302 static const ber_choice_t PAR_ms_bind_error_choice[] = {
1303 { 0, &hf_p7_unqualified_error, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_p7_BindProblem },
1304 { 1, &hf_p7_qualified_error , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_qualified_error },
1305 { 0, NULL, 0, 0, 0, NULL }
1308 static int
1309 dissect_p7_PAR_ms_bind_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1310 offset = dissect_ber_choice(actx, tree, tvb, offset,
1311 PAR_ms_bind_error_choice, hf_index, ett_p7_PAR_ms_bind_error,
1312 NULL);
1314 return offset;
1319 static int
1320 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_) {
1321 offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
1323 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno);
1325 return offset;
1330 static int
1331 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_) {
1332 offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
1334 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " to %d", seqno);
1336 return offset;
1340 static const ber_sequence_t NumberRange_sequence[] = {
1341 { &hf_p7_from_number , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_T_from_number },
1342 { &hf_p7_to_number , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_to_number },
1343 { NULL, 0, 0, 0, NULL }
1346 static int
1347 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_) {
1348 col_append_str(actx->pinfo->cinfo, COL_INFO, " (range=");
1349 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1350 NumberRange_sequence, hf_index, ett_p7_NumberRange);
1352 col_append_str(actx->pinfo->cinfo, COL_INFO, ")");
1355 return offset;
1360 static int
1361 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_) {
1362 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
1364 return offset;
1368 static const ber_sequence_t TimeRange_sequence[] = {
1369 { &hf_p7_from_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_CreationTime },
1370 { &hf_p7_to_time , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_CreationTime },
1371 { NULL, 0, 0, 0, NULL }
1374 static int
1375 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_) {
1376 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1377 TimeRange_sequence, hf_index, ett_p7_TimeRange);
1379 return offset;
1383 static const value_string p7_Range_vals[] = {
1384 { 0, "sequence-number-range" },
1385 { 1, "creation-time-range" },
1386 { 0, NULL }
1389 static const ber_choice_t Range_choice[] = {
1390 { 0, &hf_p7_sequence_number_range, BER_CLASS_CON, 0, 0, dissect_p7_NumberRange },
1391 { 1, &hf_p7_creation_time_range, BER_CLASS_CON, 1, 0, dissect_p7_TimeRange },
1392 { 0, NULL, 0, 0, 0, NULL }
1395 static int
1396 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_) {
1397 offset = dissect_ber_choice(actx, tree, tvb, offset,
1398 Range_choice, hf_index, ett_p7_Range,
1399 NULL);
1401 return offset;
1406 static int
1407 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_) {
1408 if(actx->external.direct_reference)
1409 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1412 return offset;
1416 static const ber_sequence_t AttributeValueAssertion_sequence[] = {
1417 { &hf_p7_attribute_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
1418 { &hf_p7_attribute_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_attribute_value },
1419 { NULL, 0, 0, 0, NULL }
1422 static int
1423 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_) {
1424 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1425 AttributeValueAssertion_sequence, hf_index, ett_p7_AttributeValueAssertion);
1427 return offset;
1432 static int
1433 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_) {
1434 if(actx->external.direct_reference)
1435 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1438 return offset;
1443 static int
1444 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_) {
1445 if(actx->external.direct_reference)
1446 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1449 return offset;
1454 static int
1455 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_) {
1456 if(actx->external.direct_reference)
1457 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1460 return offset;
1464 static const value_string p7_T_strings_item_vals[] = {
1465 { 0, "initial" },
1466 { 1, "any" },
1467 { 2, "final" },
1468 { 0, NULL }
1471 static const ber_choice_t T_strings_item_choice[] = {
1472 { 0, &hf_p7_initial , BER_CLASS_CON, 0, 0, dissect_p7_T_initial },
1473 { 1, &hf_p7_any , BER_CLASS_CON, 1, 0, dissect_p7_T_any },
1474 { 2, &hf_p7_final , BER_CLASS_CON, 2, 0, dissect_p7_T_final },
1475 { 0, NULL, 0, 0, 0, NULL }
1478 static int
1479 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_) {
1480 offset = dissect_ber_choice(actx, tree, tvb, offset,
1481 T_strings_item_choice, hf_index, ett_p7_T_strings_item,
1482 NULL);
1484 return offset;
1488 static const ber_sequence_t T_strings_sequence_of[1] = {
1489 { &hf_p7_strings_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_strings_item },
1492 static int
1493 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_) {
1494 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1495 T_strings_sequence_of, hf_index, ett_p7_T_strings);
1497 return offset;
1501 static const ber_sequence_t T_substrings_sequence[] = {
1502 { &hf_p7_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
1503 { &hf_p7_strings , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_T_strings },
1504 { NULL, 0, 0, 0, NULL }
1507 static int
1508 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_) {
1509 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1510 T_substrings_sequence, hf_index, ett_p7_T_substrings);
1512 return offset;
1517 static int
1518 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_) {
1519 if(actx->external.direct_reference)
1520 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1523 return offset;
1527 static const ber_sequence_t MatchingRuleAssertion_sequence[] = {
1528 { &hf_p7_matching_rule , BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER },
1529 { &hf_p7_attribute_type , BER_CLASS_CON, 1, 0, dissect_p7_AttributeType },
1530 { &hf_p7_match_value , BER_CLASS_CON, 2, 0, dissect_p7_T_match_value },
1531 { NULL, 0, 0, 0, NULL }
1534 static int
1535 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_) {
1536 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1537 MatchingRuleAssertion_sequence, hf_index, ett_p7_MatchingRuleAssertion);
1539 return offset;
1543 static const value_string p7_FilterItem_vals[] = {
1544 { 0, "equality" },
1545 { 1, "substrings" },
1546 { 2, "greater-or-equal" },
1547 { 3, "less-or-equal" },
1548 { 4, "present" },
1549 { 5, "approximate-match" },
1550 { 6, "other-match" },
1551 { 0, NULL }
1554 static const ber_choice_t FilterItem_choice[] = {
1555 { 0, &hf_p7_equality , BER_CLASS_CON, 0, 0, dissect_p7_AttributeValueAssertion },
1556 { 1, &hf_p7_substrings , BER_CLASS_CON, 1, 0, dissect_p7_T_substrings },
1557 { 2, &hf_p7_greater_or_equal , BER_CLASS_CON, 2, 0, dissect_p7_AttributeValueAssertion },
1558 { 3, &hf_p7_less_or_equal , BER_CLASS_CON, 3, 0, dissect_p7_AttributeValueAssertion },
1559 { 4, &hf_p7_present , BER_CLASS_CON, 4, 0, dissect_p7_AttributeType },
1560 { 5, &hf_p7_approximate_match, BER_CLASS_CON, 5, 0, dissect_p7_AttributeValueAssertion },
1561 { 6, &hf_p7_other_match , BER_CLASS_CON, 6, 0, dissect_p7_MatchingRuleAssertion },
1562 { 0, NULL, 0, 0, 0, NULL }
1565 static int
1566 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_) {
1567 offset = dissect_ber_choice(actx, tree, tvb, offset,
1568 FilterItem_choice, hf_index, ett_p7_FilterItem,
1569 NULL);
1571 return offset;
1575 static const ber_sequence_t SET_OF_Filter_set_of[1] = {
1576 { &hf_p7_and_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_Filter },
1579 static int
1580 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_) {
1581 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1582 SET_OF_Filter_set_of, hf_index, ett_p7_SET_OF_Filter);
1584 return offset;
1588 static const value_string p7_Filter_vals[] = {
1589 { 0, "item" },
1590 { 1, "and" },
1591 { 2, "or" },
1592 { 3, "not" },
1593 { 0, NULL }
1596 static const ber_choice_t Filter_choice[] = {
1597 { 0, &hf_p7_filter_item , BER_CLASS_CON, 0, 0, dissect_p7_FilterItem },
1598 { 1, &hf_p7_and , BER_CLASS_CON, 1, 0, dissect_p7_SET_OF_Filter },
1599 { 2, &hf_p7_or , BER_CLASS_CON, 2, 0, dissect_p7_SET_OF_Filter },
1600 { 3, &hf_p7_not , BER_CLASS_CON, 3, 0, dissect_p7_Filter },
1601 { 0, NULL, 0, 0, 0, NULL }
1604 static int
1605 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_) {
1606 offset = dissect_ber_choice(actx, tree, tvb, offset,
1607 Filter_choice, hf_index, ett_p7_Filter,
1608 NULL);
1610 return offset;
1615 static int
1616 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_) {
1617 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1618 1U, ub_messages, hf_index, NULL);
1620 return offset;
1624 static const asn_namedbit OverrideRestrictions_bits[] = {
1625 { 0, &hf_p7_OverrideRestrictions_override_content_types_restriction, -1, -1, "override-content-types-restriction", NULL },
1626 { 1, &hf_p7_OverrideRestrictions_override_EITs_restriction, -1, -1, "override-EITs-restriction", NULL },
1627 { 2, &hf_p7_OverrideRestrictions_override_attribute_length_restriction, -1, -1, "override-attribute-length-restriction", NULL },
1628 { 0, NULL, 0, 0, NULL, NULL }
1631 static int
1632 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_) {
1633 offset = dissect_ber_constrained_bitstring(implicit_tag, actx, tree, tvb, offset,
1634 1, ub_ua_restrictions, OverrideRestrictions_bits, hf_index, ett_p7_OverrideRestrictions,
1635 NULL);
1637 return offset;
1641 static const ber_sequence_t Selector_set[] = {
1642 { &hf_p7_child_entries , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
1643 { &hf_p7_range , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_Range },
1644 { &hf_p7_filter , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_Filter },
1645 { &hf_p7_limit , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_messages },
1646 { &hf_p7_override , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_OverrideRestrictions },
1647 { NULL, 0, 0, 0, NULL }
1650 static int
1651 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_) {
1652 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1653 Selector_set, hf_index, ett_p7_Selector);
1655 return offset;
1660 static int
1661 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_) {
1662 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1663 1U, ub_attribute_values, hf_index, NULL);
1665 return offset;
1670 static int
1671 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_) {
1672 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1673 0U, ub_attribute_values, hf_index, NULL);
1675 return offset;
1679 static const ber_sequence_t AttributeSelection_set[] = {
1680 { &hf_p7_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
1681 { &hf_p7_from , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_attribute_values },
1682 { &hf_p7_selection_count , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_0_ub_attribute_values },
1683 { NULL, 0, 0, 0, NULL }
1686 static int
1687 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_) {
1688 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1689 AttributeSelection_set, hf_index, ett_p7_AttributeSelection);
1691 return offset;
1695 static const ber_sequence_t EntryInformationSelection_set_of[1] = {
1696 { &hf_p7_EntryInformationSelection_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeSelection },
1699 static int
1700 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_) {
1701 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1702 0, ub_per_entry, EntryInformationSelection_set_of, hf_index, ett_p7_EntryInformationSelection);
1704 return offset;
1708 static const ber_sequence_t SET_SIZE_1_ub_per_entry_OF_Attribute_set_of[1] = {
1709 { &hf_p7_attributes_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_Attribute },
1712 static int
1713 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_) {
1714 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1715 1, ub_per_entry, SET_SIZE_1_ub_per_entry_OF_Attribute_set_of, hf_index, ett_p7_SET_SIZE_1_ub_per_entry_OF_Attribute);
1717 return offset;
1721 static const ber_sequence_t AttributeValueCount_sequence[] = {
1722 { &hf_p7_type , BER_CLASS_CON, 0, 0, dissect_p7_AttributeType },
1723 { &hf_p7_total , BER_CLASS_CON, 1, 0, dissect_p7_INTEGER },
1724 { NULL, 0, 0, 0, NULL }
1727 static int
1728 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_) {
1729 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1730 AttributeValueCount_sequence, hf_index, ett_p7_AttributeValueCount);
1732 return offset;
1736 static const ber_sequence_t SET_SIZE_1_ub_per_entry_OF_AttributeValueCount_set_of[1] = {
1737 { &hf_p7_value_count_exceeded_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeValueCount },
1740 static int
1741 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_) {
1742 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1743 1, ub_per_entry, SET_SIZE_1_ub_per_entry_OF_AttributeValueCount_set_of, hf_index, ett_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount);
1745 return offset;
1749 static const ber_sequence_t EntryInformation_sequence[] = {
1750 { &hf_p7_sequence_number , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
1751 { &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 },
1752 { &hf_p7_value_count_exceeded, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount },
1753 { NULL, 0, 0, 0, NULL }
1756 static int
1757 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_) {
1758 p1_initialize_content_globals (actx, NULL, FALSE);
1759 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1760 EntryInformation_sequence, hf_index, ett_p7_EntryInformation);
1762 p1_initialize_content_globals (actx, NULL, FALSE);
1765 return offset;
1769 static const ber_sequence_t SET_SIZE_1_ub_message_groups_OF_MessageGroupName_set_of[1] = {
1770 { &hf_p7_add_message_group_names_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_MessageGroupName },
1773 static int
1774 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_) {
1775 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1776 1, ub_message_groups, SET_SIZE_1_ub_message_groups_OF_MessageGroupName_set_of, hf_index, ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName);
1778 return offset;
1782 static const ber_sequence_t MSSubmissionOptions_set[] = {
1783 { &hf_p7_object_entry_class, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
1784 { &hf_p7_disable_auto_modify, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
1785 { &hf_p7_add_message_group_names, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName },
1786 { &hf_p7_ms_submission_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1787 { NULL, 0, 0, 0, NULL }
1790 static int
1791 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_) {
1792 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1793 MSSubmissionOptions_set, hf_index, ett_p7_MSSubmissionOptions);
1795 return offset;
1800 static int
1801 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_) {
1802 offset = dissect_p1_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index);
1804 return offset;
1808 static const ber_sequence_t CommonSubmissionResults_set[] = {
1809 { &hf_p7_created_entry , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
1810 { &hf_p7_auto_action_error_indication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_p7_AutoActionErrorIndication },
1811 { &hf_p7_ms_submission_result_extensions, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1812 { NULL, 0, 0, 0, NULL }
1815 static int
1816 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_) {
1817 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1818 CommonSubmissionResults_set, hf_index, ett_p7_CommonSubmissionResults);
1820 return offset;
1824 static const ber_sequence_t SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType_sequence_of[1] = {
1825 { &hf_p7_summary_requests_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
1828 static int
1829 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_) {
1830 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1831 1, ub_summaries, SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType);
1833 return offset;
1837 static const ber_sequence_t SummarizeArgument_set[] = {
1838 { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
1839 { &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
1840 { &hf_p7_summary_requests , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType },
1841 { &hf_p7_summarize_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1842 { NULL, 0, 0, 0, NULL }
1845 static int
1846 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_) {
1847 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1848 SummarizeArgument_set, hf_index, ett_p7_SummarizeArgument);
1850 return offset;
1855 static int
1856 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_) {
1857 int count = 0;
1859 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
1860 0U, ub_messages, hf_index, &count);
1863 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%d)", count);
1866 return offset;
1870 static const ber_sequence_t Span_sequence[] = {
1871 { &hf_p7_lowest , BER_CLASS_CON, 0, 0, dissect_p7_SequenceNumber },
1872 { &hf_p7_highest , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
1873 { NULL, 0, 0, 0, NULL }
1876 static int
1877 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_) {
1878 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1879 Span_sequence, hf_index, ett_p7_Span);
1881 return offset;
1886 static int
1887 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_) {
1888 if(actx->external.direct_reference)
1889 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1892 return offset;
1896 static const ber_sequence_t T_summary_present_item_sequence[] = {
1897 { &hf_p7_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
1898 { &hf_p7_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_SummaryPresentItemValue },
1899 { &hf_p7_summary_count , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_INTEGER_1_ub_messages },
1900 { NULL, 0, 0, 0, NULL }
1903 static int
1904 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_) {
1905 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1906 T_summary_present_item_sequence, hf_index, ett_p7_T_summary_present_item);
1908 return offset;
1912 static const ber_sequence_t T_summary_present_set_of[1] = {
1913 { &hf_p7_summary_present_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_T_summary_present_item },
1916 static int
1917 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_) {
1918 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1919 1, ub_attribute_values, T_summary_present_set_of, hf_index, ett_p7_T_summary_present);
1921 return offset;
1925 static const ber_sequence_t Summary_set[] = {
1926 { &hf_p7_absent , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_messages },
1927 { &hf_p7_summary_present , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_summary_present },
1928 { NULL, 0, 0, 0, NULL }
1931 static int
1932 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_) {
1933 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1934 Summary_set, hf_index, ett_p7_Summary);
1936 return offset;
1940 static const ber_sequence_t SEQUENCE_SIZE_1_ub_summaries_OF_Summary_sequence_of[1] = {
1941 { &hf_p7_summaries_item , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_Summary },
1944 static int
1945 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_) {
1946 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1947 1, ub_summaries, SEQUENCE_SIZE_1_ub_summaries_OF_Summary_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary);
1949 return offset;
1953 static const ber_sequence_t SummarizeResult_set[] = {
1954 { &hf_p7_next , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
1955 { &hf_p7_count , BER_CLASS_CON, 1, 0, dissect_p7_T_count },
1956 { &hf_p7_span , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_Span },
1957 { &hf_p7_summaries , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary },
1958 { &hf_p7_summarize_result_extensions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1959 { NULL, 0, 0, 0, NULL }
1962 static int
1963 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_) {
1964 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1965 SummarizeResult_set, hf_index, ett_p7_SummarizeResult);
1967 return offset;
1971 static const ber_sequence_t ListArgument_set[] = {
1972 { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
1973 { &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
1974 { &hf_p7_requested_attributes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformationSelection },
1975 { &hf_p7_list_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
1976 { NULL, 0, 0, 0, NULL }
1979 static int
1980 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_) {
1981 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1982 ListArgument_set, hf_index, ett_p7_ListArgument);
1984 return offset;
1988 static const ber_sequence_t SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation_sequence_of[1] = {
1989 { &hf_p7_requested_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_EntryInformation },
1992 static int
1993 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_) {
1994 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1995 1, ub_messages, SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation);
1997 return offset;
2001 static const ber_sequence_t ListResult_set[] = {
2002 { &hf_p7_next , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
2003 { &hf_p7_requested , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation },
2004 { &hf_p7_list_result_extensions, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2005 { NULL, 0, 0, 0, NULL }
2008 static int
2009 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_) {
2010 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2011 ListResult_set, hf_index, ett_p7_ListResult);
2013 return offset;
2017 static const value_string p7_T_item_vals[] = {
2018 { 1, "search" },
2019 { 2, "precise" },
2020 { 0, NULL }
2023 static const ber_choice_t T_item_choice[] = {
2024 { 1, &hf_p7_search , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
2025 { 2, &hf_p7_precise , BER_CLASS_CON, 2, 0, dissect_p7_SequenceNumber },
2026 { 0, NULL, 0, 0, 0, NULL }
2029 static int
2030 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_) {
2031 offset = dissect_ber_choice(actx, tree, tvb, offset,
2032 T_item_choice, hf_index, ett_p7_T_item,
2033 NULL);
2035 return offset;
2039 static const ber_sequence_t FetchArgument_set[] = {
2040 { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
2041 { &hf_p7_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_item },
2042 { &hf_p7_requested_attributes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformationSelection },
2043 { &hf_p7_fetch_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2044 { NULL, 0, 0, 0, NULL }
2047 static int
2048 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_) {
2049 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2050 FetchArgument_set, hf_index, ett_p7_FetchArgument);
2052 return offset;
2056 static const ber_sequence_t SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber_sequence_of[1] = {
2057 { &hf_p7_list_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
2060 static int
2061 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_) {
2062 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2063 1, ub_messages, SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber);
2065 return offset;
2069 static const ber_sequence_t FetchResult_set[] = {
2070 { &hf_p7_entry_information, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformation },
2071 { &hf_p7_list , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
2072 { &hf_p7_next , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SequenceNumber },
2073 { &hf_p7_fetch_result_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2074 { NULL, 0, 0, 0, NULL }
2077 static int
2078 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_) {
2079 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2080 FetchResult_set, hf_index, ett_p7_FetchResult);
2082 return offset;
2086 static const ber_sequence_t SET_SIZE_1_ub_messages_OF_SequenceNumber_set_of[1] = {
2087 { &hf_p7_sequence_numbers_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
2090 static int
2091 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_) {
2092 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2093 1, ub_messages, SET_SIZE_1_ub_messages_OF_SequenceNumber_set_of, hf_index, ett_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber);
2095 return offset;
2099 static const value_string p7_T_items_vals[] = {
2100 { 1, "selector" },
2101 { 2, "sequence-numbers" },
2102 { 0, NULL }
2105 static const ber_choice_t T_items_choice[] = {
2106 { 1, &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
2107 { 2, &hf_p7_sequence_numbers , BER_CLASS_CON, 2, 0, dissect_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber },
2108 { 0, NULL, 0, 0, 0, NULL }
2111 static int
2112 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_) {
2113 offset = dissect_ber_choice(actx, tree, tvb, offset,
2114 T_items_choice, hf_index, ett_p7_T_items,
2115 NULL);
2117 return offset;
2121 static const ber_sequence_t DeleteArgument_set[] = {
2122 { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
2123 { &hf_p7_items , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_items },
2124 { &hf_p7_delete_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2125 { NULL, 0, 0, 0, NULL }
2128 static int
2129 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_) {
2130 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2131 DeleteArgument_set, hf_index, ett_p7_DeleteArgument);
2133 return offset;
2137 static const ber_sequence_t T_delete_result_94_set[] = {
2138 { &hf_p7_entries_deleted_94, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
2139 { &hf_p7_delete_result_extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2140 { NULL, 0, 0, 0, NULL }
2143 static int
2144 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_) {
2145 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2146 T_delete_result_94_set, hf_index, ett_p7_T_delete_result_94);
2148 return offset;
2152 static const value_string p7_DeleteResult_vals[] = {
2153 { 0, "delete-result-88" },
2154 { 1, "delete-result-94" },
2155 { 0, NULL }
2158 static const ber_choice_t DeleteResult_choice[] = {
2159 { 0, &hf_p7_delete_result_88 , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p7_NULL },
2160 { 1, &hf_p7_delete_result_94 , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_delete_result_94 },
2161 { 0, NULL, 0, 0, 0, NULL }
2164 static int
2165 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_) {
2166 offset = dissect_ber_choice(actx, tree, tvb, offset,
2167 DeleteResult_choice, hf_index, ett_p7_DeleteResult,
2168 NULL);
2170 return offset;
2174 static const ber_sequence_t SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration_set_of[1] = {
2175 { &hf_p7_auto_action_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionRegistration },
2178 static int
2179 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_) {
2180 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2181 1, ub_auto_registrations, SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration_set_of, hf_index, ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration);
2183 return offset;
2187 static const ber_sequence_t AutoActionDeregistration_sequence[] = {
2188 { &hf_p7_auto_action_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionType },
2189 { &hf_p7_registration_identifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_per_auto_action },
2190 { NULL, 0, 0, 0, NULL }
2193 static int
2194 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_) {
2195 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2196 AutoActionDeregistration_sequence, hf_index, ett_p7_AutoActionDeregistration);
2198 return offset;
2202 static const ber_sequence_t SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration_set_of[1] = {
2203 { &hf_p7_auto_action_deregistrations_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionDeregistration },
2206 static int
2207 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_) {
2208 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2209 1, ub_auto_registrations, SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration_set_of, hf_index, ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration);
2211 return offset;
2215 static const ber_sequence_t SET_SIZE_0_ub_default_registrations_OF_AttributeType_set_of[1] = {
2216 { &hf_p7_list_attribute_defaults_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
2219 static int
2220 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_) {
2221 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2222 0, ub_default_registrations, SET_SIZE_0_ub_default_registrations_OF_AttributeType_set_of, hf_index, ett_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType);
2224 return offset;
2228 static const ber_sequence_t T_change_credentials_sequence[] = {
2229 { &hf_p7_register_old_credentials, BER_CLASS_CON, 0, 0, dissect_p1_Credentials },
2230 { &hf_p7_new_credentials , BER_CLASS_CON, 1, 0, dissect_p1_Credentials },
2231 { NULL, 0, 0, 0, NULL }
2234 static int
2235 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_) {
2236 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2237 T_change_credentials_sequence, hf_index, ett_p7_T_change_credentials);
2239 return offset;
2243 static const ber_sequence_t SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel_set_of[1] = {
2244 { &hf_p7_user_security_labels_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_SecurityLabel },
2247 static int
2248 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_) {
2249 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2250 1, ub_labels_and_redirections, SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel_set_of, hf_index, ett_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel);
2252 return offset;
2256 static const ber_sequence_t UARegistration_set[] = {
2257 { &hf_p7_ua_registration_identifier, BER_CLASS_CON, 0, 0, dissect_p7_RegistrationIdentifier },
2258 { &hf_p7_ua_list_attribute_defaults, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
2259 { &hf_p7_ua_fetch_attribute_defaults, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
2260 { &hf_p7_ua_submission_defaults, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
2261 { &hf_p7_content_specific_defaults, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2262 { NULL, 0, 0, 0, NULL }
2265 static int
2266 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_) {
2267 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2268 UARegistration_set, hf_index, ett_p7_UARegistration);
2270 return offset;
2274 static const ber_sequence_t SET_SIZE_1_ub_ua_registrations_OF_UARegistration_set_of[1] = {
2275 { &hf_p7_ua_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_UARegistration },
2278 static int
2279 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_) {
2280 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2281 1, ub_ua_registrations, SET_SIZE_1_ub_ua_registrations_OF_UARegistration_set_of, hf_index, ett_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration);
2283 return offset;
2288 static int
2289 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_) {
2290 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
2291 actx, tree, tvb, offset,
2292 1, ub_group_descriptor_length, hf_index, NULL);
2294 return offset;
2298 static const ber_sequence_t MessageGroupNameAndDescriptor_set[] = {
2299 { &hf_p7_message_group_name, BER_CLASS_CON, 0, 0, dissect_p7_MessageGroupName },
2300 { &hf_p7_message_group_descriptor, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_group_descriptor_length },
2301 { NULL, 0, 0, 0, NULL }
2304 static int
2305 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_) {
2306 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2307 MessageGroupNameAndDescriptor_set, hf_index, ett_p7_MessageGroupNameAndDescriptor);
2309 return offset;
2313 static const value_string p7_MessageGroupRegistrations_item_vals[] = {
2314 { 0, "register-group" },
2315 { 1, "deregister-group" },
2316 { 2, "change-descriptors" },
2317 { 0, NULL }
2320 static const ber_choice_t MessageGroupRegistrations_item_choice[] = {
2321 { 0, &hf_p7_register_group , BER_CLASS_CON, 0, 0, dissect_p7_MessageGroupNameAndDescriptor },
2322 { 1, &hf_p7_deregister_group , BER_CLASS_CON, 1, 0, dissect_p7_MessageGroupName },
2323 { 2, &hf_p7_change_descriptors, BER_CLASS_CON, 2, 0, dissect_p7_MessageGroupNameAndDescriptor },
2324 { 0, NULL, 0, 0, 0, NULL }
2327 static int
2328 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_) {
2329 offset = dissect_ber_choice(actx, tree, tvb, offset,
2330 MessageGroupRegistrations_item_choice, hf_index, ett_p7_MessageGroupRegistrations_item,
2331 NULL);
2333 return offset;
2337 static const ber_sequence_t MessageGroupRegistrations_sequence_of[1] = {
2338 { &hf_p7_MessageGroupRegistrations_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_MessageGroupRegistrations_item },
2341 static int
2342 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_) {
2343 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2344 1, ub_default_registrations, MessageGroupRegistrations_sequence_of, hf_index, ett_p7_MessageGroupRegistrations);
2346 return offset;
2350 static const asn_namedbit T_registrations_bits[] = {
2351 { 0, &hf_p7_T_registrations_auto_action_registrations, -1, -1, "auto-action-registrations", NULL },
2352 { 1, &hf_p7_T_registrations_list_attribute_defaults, -1, -1, "list-attribute-defaults", NULL },
2353 { 2, &hf_p7_T_registrations_fetch_attribute_defaults, -1, -1, "fetch-attribute-defaults", NULL },
2354 { 3, &hf_p7_T_registrations_ua_registrations, -1, -1, "ua-registrations", NULL },
2355 { 4, &hf_p7_T_registrations_submission_defaults, -1, -1, "submission-defaults", NULL },
2356 { 5, &hf_p7_T_registrations_message_group_registrations, -1, -1, "message-group-registrations", NULL },
2357 { 0, NULL, 0, 0, NULL, NULL }
2360 static int
2361 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_) {
2362 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2363 T_registrations_bits, hf_index, ett_p7_T_registrations,
2364 NULL);
2366 return offset;
2371 static int
2372 dissect_p7_T_extended_registrations_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_) {
2373 /* XXX: Is this really the best way to do this? */
2374 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
2377 return offset;
2381 static const ber_sequence_t T_extended_registrations_set_of[1] = {
2382 { &hf_p7_extended_registrations_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_extended_registrations_item },
2385 static int
2386 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_) {
2387 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2388 T_extended_registrations_set_of, hf_index, ett_p7_T_extended_registrations);
2390 return offset;
2394 static const ber_sequence_t MessageGroupsRestriction_set[] = {
2395 { &hf_p7_parent_group , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_MessageGroupName },
2396 { &hf_p7_immediate_descendants_only, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
2397 { &hf_p7_omit_descriptors , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
2398 { NULL, 0, 0, 0, NULL }
2401 static int
2402 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_) {
2403 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2404 MessageGroupsRestriction_set, hf_index, ett_p7_MessageGroupsRestriction);
2406 return offset;
2410 static const ber_sequence_t RegistrationTypes_set[] = {
2411 { &hf_p7_registrations , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_T_registrations },
2412 { &hf_p7_extended_registrations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_T_extended_registrations },
2413 { &hf_p7_restrict_message_groups, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_MessageGroupsRestriction },
2414 { NULL, 0, 0, 0, NULL }
2417 static int
2418 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_) {
2419 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2420 RegistrationTypes_set, hf_index, ett_p7_RegistrationTypes);
2422 return offset;
2426 static const ber_sequence_t Register_MSArgument_set[] = {
2427 { &hf_p7_auto_action_registrations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration },
2428 { &hf_p7_auto_action_deregistrations, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration },
2429 { &hf_p7_list_attribute_defaults, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
2430 { &hf_p7_fetch_attribute_defaults, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType },
2431 { &hf_p7_change_credentials, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_T_change_credentials },
2432 { &hf_p7_user_security_labels, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel },
2433 { &hf_p7_ua_registrations , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration },
2434 { &hf_p7_submission_defaults, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
2435 { &hf_p7_message_group_registrations, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_p7_MessageGroupRegistrations },
2436 { &hf_p7_registration_status_request, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_p7_RegistrationTypes },
2437 { &hf_p7_register_ms_extensions, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2438 { NULL, 0, 0, 0, NULL }
2441 static int
2442 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_) {
2443 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2444 Register_MSArgument_set, hf_index, ett_p7_Register_MSArgument);
2446 return offset;
2451 static int
2452 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_) {
2453 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2454 NULL, hf_index, -1,
2455 NULL);
2457 return offset;
2461 static const ber_sequence_t ProtectedChangeCredentials_sequence[] = {
2462 { &hf_p7_algorithm_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_OBJECT_IDENTIFIER },
2463 { &hf_p7_old_credentials , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_InitiatorCredentials },
2464 { &hf_p7_password_delta , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p7_BIT_STRING },
2465 { NULL, 0, 0, 0, NULL }
2468 static int
2469 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_) {
2470 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2471 ProtectedChangeCredentials_sequence, hf_index, ett_p7_ProtectedChangeCredentials);
2473 return offset;
2477 static const ber_sequence_t SET_SIZE_1_ub_default_registrations_OF_AttributeType_set_of[1] = {
2478 { &hf_p7_registered_list_attribute_defaults_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
2481 static int
2482 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_) {
2483 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2484 1, ub_default_registrations, SET_SIZE_1_ub_default_registrations_OF_AttributeType_set_of, hf_index, ett_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType);
2486 return offset;
2490 static const ber_sequence_t SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor_set_of[1] = {
2491 { &hf_p7_registered_message_group_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_MessageGroupNameAndDescriptor },
2494 static int
2495 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_) {
2496 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2497 1, ub_message_groups, SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor_set_of, hf_index, ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor);
2499 return offset;
2503 static const ber_sequence_t T_registered_information_set[] = {
2504 { &hf_p7_auto_action_registrations, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration },
2505 { &hf_p7_registered_list_attribute_defaults, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType },
2506 { &hf_p7_registered_fetch_attribute_defaults, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType },
2507 { &hf_p7_ua_registrations , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration },
2508 { &hf_p7_submission_defaults, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
2509 { &hf_p7_registered_message_group_registrations, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor },
2510 { &hf_p7_register_ms_result_extensions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2511 { NULL, 0, 0, 0, NULL }
2514 static int
2515 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_) {
2516 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2517 T_registered_information_set, hf_index, ett_p7_T_registered_information);
2519 return offset;
2523 static const value_string p7_Register_MSResult_vals[] = {
2524 { 0, "no-status-information" },
2525 { 1, "registered-information" },
2526 { 0, NULL }
2529 static const ber_choice_t Register_MSResult_choice[] = {
2530 { 0, &hf_p7_no_status_information, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p7_NULL },
2531 { 1, &hf_p7_registered_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_registered_information },
2532 { 0, NULL, 0, 0, 0, NULL }
2535 static int
2536 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_) {
2537 offset = dissect_ber_choice(actx, tree, tvb, offset,
2538 Register_MSResult_choice, hf_index, ett_p7_Register_MSResult,
2539 NULL);
2541 return offset;
2546 static int
2547 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_) {
2548 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2549 1U, ub_auto_actions, hf_index, NULL);
2551 return offset;
2555 static const ber_sequence_t AlertArgument_set[] = {
2556 { &hf_p7_alert_registration_identifier, BER_CLASS_CON, 0, 0, dissect_p7_INTEGER_1_ub_auto_actions },
2557 { &hf_p7_new_entry , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_EntryInformation },
2558 { NULL, 0, 0, 0, NULL }
2561 static int
2562 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_) {
2563 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2564 AlertArgument_set, hf_index, ett_p7_AlertArgument);
2566 return offset;
2571 static int
2572 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_) {
2573 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2575 return offset;
2579 static const value_string p7_T_entries_vals[] = {
2580 { 1, "selector" },
2581 { 2, "specific-entries" },
2582 { 0, NULL }
2585 static const ber_choice_t T_entries_choice[] = {
2586 { 1, &hf_p7_selector , BER_CLASS_CON, 1, 0, dissect_p7_Selector },
2587 { 2, &hf_p7_specific_entries , BER_CLASS_CON, 2, 0, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
2588 { 0, NULL, 0, 0, 0, NULL }
2591 static int
2592 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_) {
2593 offset = dissect_ber_choice(actx, tree, tvb, offset,
2594 T_entries_choice, hf_index, ett_p7_T_entries,
2595 NULL);
2597 return offset;
2602 static int
2603 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_) {
2604 if(actx->external.direct_reference)
2605 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
2608 return offset;
2612 static const ber_sequence_t OrderedAttributeItem_sequence[] = {
2613 { &hf_p7_ordered_attribute_value, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_OrderedAttributeValue },
2614 { &hf_p7_ordered_position , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_attribute_values },
2615 { NULL, 0, 0, 0, NULL }
2618 static int
2619 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_) {
2620 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2621 OrderedAttributeItem_sequence, hf_index, ett_p7_OrderedAttributeItem);
2623 return offset;
2627 static const ber_sequence_t OrderedAttributeValues_sequence_of[1] = {
2628 { &hf_p7_ordered_attribute_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_OrderedAttributeItem },
2631 static int
2632 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_) {
2633 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2634 1, ub_attribute_values, OrderedAttributeValues_sequence_of, hf_index, ett_p7_OrderedAttributeValues);
2636 return offset;
2640 static const ber_sequence_t OrderedAttribute_sequence[] = {
2641 { &hf_p7_attribute_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeType },
2642 { &hf_p7_ordered_attribute_values, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_OrderedAttributeValues },
2643 { NULL, 0, 0, 0, NULL }
2646 static int
2647 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_) {
2648 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2649 OrderedAttribute_sequence, hf_index, ett_p7_OrderedAttribute);
2651 return offset;
2655 static const value_string p7_T_modification_vals[] = {
2656 { 1, "add-attribute" },
2657 { 2, "remove-attribute" },
2658 { 3, "add-values" },
2659 { 4, "remove-values" },
2660 { 0, NULL }
2663 static const ber_choice_t T_modification_choice[] = {
2664 { 1, &hf_p7_add_attribute , BER_CLASS_CON, 1, 0, dissect_p7_Attribute },
2665 { 2, &hf_p7_remove_attribute , BER_CLASS_CON, 2, 0, dissect_p7_AttributeType },
2666 { 3, &hf_p7_add_values , BER_CLASS_CON, 3, 0, dissect_p7_OrderedAttribute },
2667 { 4, &hf_p7_remove_values , BER_CLASS_CON, 4, 0, dissect_p7_OrderedAttribute },
2668 { 0, NULL, 0, 0, 0, NULL }
2671 static int
2672 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_) {
2673 offset = dissect_ber_choice(actx, tree, tvb, offset,
2674 T_modification_choice, hf_index, ett_p7_T_modification,
2675 NULL);
2677 return offset;
2681 static const ber_sequence_t EntryModification_set[] = {
2682 { &hf_p7_strict , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_BOOLEAN },
2683 { &hf_p7_modification , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_modification },
2684 { NULL, 0, 0, 0, NULL }
2687 static int
2688 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_) {
2689 p1_initialize_content_globals (actx, NULL, FALSE);
2690 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2691 EntryModification_set, hf_index, ett_p7_EntryModification);
2693 p1_initialize_content_globals (actx, NULL, FALSE);
2695 return offset;
2699 static const ber_sequence_t SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification_sequence_of[1] = {
2700 { &hf_p7_modifications_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_EntryModification },
2703 static int
2704 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_) {
2705 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2706 1, ub_modifications, SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification_sequence_of, hf_index, ett_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification);
2708 return offset;
2712 static const ber_sequence_t ModifyArgument_set[] = {
2713 { &hf_p7_entry_class , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_EntryClass },
2714 { &hf_p7_entries , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_entries },
2715 { &hf_p7_modifications , BER_CLASS_CON, 3, 0, dissect_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification },
2716 { &hf_p7_modify_extensions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2717 { NULL, 0, 0, 0, NULL }
2720 static int
2721 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_) {
2722 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2723 ModifyArgument_set, hf_index, ett_p7_ModifyArgument);
2725 return offset;
2729 static const ber_sequence_t ModifyResult_set[] = {
2730 { &hf_p7_entries_modified , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
2731 { &hf_p7_modify_result_extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_MSExtensions },
2732 { NULL, 0, 0, 0, NULL }
2735 static int
2736 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_) {
2737 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2738 ModifyResult_set, hf_index, ett_p7_ModifyResult);
2740 return offset;
2744 static const ber_sequence_t MSMessageSubmissionArgument_sequence[] = {
2745 { &hf_p7_envelope , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionEnvelope },
2746 { &hf_p7_content , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p1_Content },
2747 { &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
2748 { NULL, 0, 0, 0, NULL }
2751 static int
2752 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_) {
2753 p1_initialize_content_globals (actx, tree, TRUE);
2754 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2755 MSMessageSubmissionArgument_sequence, hf_index, ett_p7_MSMessageSubmissionArgument);
2757 p1_initialize_content_globals (actx, NULL, FALSE);
2760 return offset;
2764 static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = {
2765 { &hf_p7_extensions_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_ExtensionField },
2768 static int
2769 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_) {
2770 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2771 SET_OF_ExtensionField_set_of, hf_index, ett_p7_SET_OF_ExtensionField);
2773 return offset;
2777 static const ber_sequence_t T_mts_result_set[] = {
2778 { &hf_p7_message_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionIdentifier },
2779 { &hf_p7_message_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_MessageSubmissionTime },
2780 { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
2781 { &hf_p7_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField },
2782 { &hf_p7_ms_message_result, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_CommonSubmissionResults },
2783 { NULL, 0, 0, 0, NULL }
2786 static int
2787 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_) {
2788 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2789 T_mts_result_set, hf_index, ett_p7_T_mts_result);
2791 return offset;
2795 static const value_string p7_MSMessageSubmissionResult_vals[] = {
2796 { 0, "mts-result" },
2797 { 1, "store-draft-result" },
2798 { 0, NULL }
2801 static const ber_choice_t MSMessageSubmissionResult_choice[] = {
2802 { 0, &hf_p7_mts_result , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_T_mts_result },
2803 { 1, &hf_p7_store_draft_result, BER_CLASS_CON, 4, 0, dissect_p7_CommonSubmissionResults },
2804 { 0, NULL, 0, 0, 0, NULL }
2807 static int
2808 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_) {
2809 offset = dissect_ber_choice(actx, tree, tvb, offset,
2810 MSMessageSubmissionResult_choice, hf_index, ett_p7_MSMessageSubmissionResult,
2811 NULL);
2813 return offset;
2817 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
2818 { &hf_p7_per_recipient_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_PerRecipientProbeSubmissionFields },
2821 static int
2822 dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2823 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2824 SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
2826 return offset;
2830 static const ber_sequence_t MSProbeSubmissionArgument_set[] = {
2831 { &hf_p7_originator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_p1_OriginatorName },
2832 { &hf_p7_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_OriginalEncodedInformationTypes },
2833 { &hf_p7_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p1_ContentType },
2834 { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
2835 { &hf_p7_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p1_ContentLength },
2836 { &hf_p7_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_PerMessageIndicators },
2837 { &hf_p7_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField },
2838 { &hf_p7_per_recipient_fields, BER_CLASS_CON, 3, 0, dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields },
2839 { &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
2840 { NULL, 0, 0, 0, NULL }
2843 static int
2844 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_) {
2845 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2846 MSProbeSubmissionArgument_set, hf_index, ett_p7_MSProbeSubmissionArgument);
2848 return offset;
2852 static const ber_sequence_t MSProbeSubmissionResult_set[] = {
2853 { &hf_p7_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_p1_ProbeSubmissionIdentifier },
2854 { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, 0, dissect_p1_ProbeSubmissionTime },
2855 { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ContentIdentifier },
2856 { &hf_p7_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField },
2857 { &hf_p7_ms_probe_result , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_CommonSubmissionResults },
2858 { NULL, 0, 0, 0, NULL }
2861 static int
2862 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_) {
2863 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2864 MSProbeSubmissionResult_set, hf_index, ett_p7_MSProbeSubmissionResult);
2866 return offset;
2870 static const value_string p7_AttributeProblem_vals[] = {
2871 { 0, "invalid-attribute-value" },
2872 { 1, "unavailable-attribute-type" },
2873 { 2, "inappropriate-matching" },
2874 { 3, "attribute-type-not-subscribed" },
2875 { 4, "inappropriate-for-operation" },
2876 { 5, "inappropriate-modification" },
2877 { 6, "single-valued-attribute" },
2878 { 0, NULL }
2882 static int
2883 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_) {
2884 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2885 0U, ub_error_reasons, hf_index, NULL);
2887 return offset;
2892 static int
2893 dissect_p7_T_attr_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_) {
2894 if(actx->external.direct_reference)
2895 call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
2899 return offset;
2903 static const ber_sequence_t AttributeProblemItem_set[] = {
2904 { &hf_p7_attribute_problem, BER_CLASS_CON, 0, 0, dissect_p7_AttributeProblem },
2905 { &hf_p7_type , BER_CLASS_CON, 1, 0, dissect_p7_AttributeType },
2906 { &hf_p7_attr_value , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_T_attr_value },
2907 { NULL, 0, 0, 0, NULL }
2910 static int
2911 dissect_p7_AttributeProblemItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2912 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2913 AttributeProblemItem_set, hf_index, ett_p7_AttributeProblemItem);
2915 return offset;
2919 static const ber_sequence_t AttributeProblems_set_of[1] = {
2920 { &hf_p7_attribute_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_AttributeProblemItem },
2923 static int
2924 dissect_p7_AttributeProblems(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2925 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2926 1, ub_per_entry, AttributeProblems_set_of, hf_index, ett_p7_AttributeProblems);
2928 return offset;
2932 static const ber_sequence_t PAR_attribute_error_set[] = {
2933 { &hf_p7_attribute_problems, BER_CLASS_CON, 0, 0, dissect_p7_AttributeProblems },
2934 { NULL, 0, 0, 0, NULL }
2937 static int
2938 dissect_p7_PAR_attribute_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_) {
2939 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2940 PAR_attribute_error_set, hf_index, ett_p7_PAR_attribute_error);
2942 return offset;
2946 static const value_string p7_AutoActionRequestProblem_vals[] = {
2947 { 0, "unavailable-auto-action-type" },
2948 { 1, "auto-action-type-not-subscribed" },
2949 { 2, "not-willing-to-perform" },
2950 { 0, NULL }
2954 static int
2955 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_) {
2956 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2957 0U, ub_error_reasons, hf_index, NULL);
2959 return offset;
2963 static const ber_sequence_t AutoActionRequestProblemItem_set[] = {
2964 { &hf_p7_auto_action_request_problem, BER_CLASS_CON, 0, 0, dissect_p7_AutoActionRequestProblem },
2965 { &hf_p7_auto_action_type , BER_CLASS_CON, 1, 0, dissect_p7_AutoActionType },
2966 { NULL, 0, 0, 0, NULL }
2969 static int
2970 dissect_p7_AutoActionRequestProblemItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2971 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2972 AutoActionRequestProblemItem_set, hf_index, ett_p7_AutoActionRequestProblemItem);
2974 return offset;
2978 static const ber_sequence_t AutoActionRequestProblems_set_of[1] = {
2979 { &hf_p7_auto_action_request_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_AutoActionRequestProblemItem },
2982 static int
2983 dissect_p7_AutoActionRequestProblems(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2984 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2985 1, ub_auto_registrations, AutoActionRequestProblems_set_of, hf_index, ett_p7_AutoActionRequestProblems);
2987 return offset;
2991 static const ber_sequence_t PAR_auto_action_request_error_set[] = {
2992 { &hf_p7_auto_action_request_problems, BER_CLASS_CON, 0, 0, dissect_p7_AutoActionRequestProblems },
2993 { NULL, 0, 0, 0, NULL }
2996 static int
2997 dissect_p7_PAR_auto_action_request_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_) {
2998 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2999 PAR_auto_action_request_error_set, hf_index, ett_p7_PAR_auto_action_request_error);
3001 return offset;
3005 static const value_string p7_DeleteProblem_vals[] = {
3006 { 0, "child-entry-specified" },
3007 { 1, "delete-restriction-problem" },
3008 { 2, "new-entry-specified" },
3009 { 3, "entry-class-restriction" },
3010 { 4, "stored-message-exists" },
3011 { 0, NULL }
3015 static int
3016 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_) {
3017 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3018 0U, ub_error_reasons, hf_index, NULL);
3020 return offset;
3024 static const ber_sequence_t DeleteProblemItem_set[] = {
3025 { &hf_p7_delete_problem , BER_CLASS_CON, 0, 0, dissect_p7_DeleteProblem },
3026 { &hf_p7_sequence_number , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
3027 { NULL, 0, 0, 0, NULL }
3030 static int
3031 dissect_p7_DeleteProblemItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3032 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3033 DeleteProblemItem_set, hf_index, ett_p7_DeleteProblemItem);
3035 return offset;
3039 static const ber_sequence_t DeleteProblems_set_of[1] = {
3040 { &hf_p7_delete_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_DeleteProblemItem },
3043 static int
3044 dissect_p7_DeleteProblems(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3045 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
3046 1, ub_messages, DeleteProblems_set_of, hf_index, ett_p7_DeleteProblems);
3048 return offset;
3052 static const ber_sequence_t PAR_delete_error_set[] = {
3053 { &hf_p7_delete_problems , BER_CLASS_CON, 0, 0, dissect_p7_DeleteProblems },
3054 { &hf_p7_entries_deleted , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber },
3055 { NULL, 0, 0, 0, NULL }
3058 static int
3059 dissect_p7_PAR_delete_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_) {
3060 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3061 PAR_delete_error_set, hf_index, ett_p7_PAR_delete_error);
3063 return offset;
3067 static const value_string p7_FetchRestrictionProblem_vals[] = {
3068 { 1, "content-type-problem" },
3069 { 2, "eit-problem" },
3070 { 3, "maximum-length-problem" },
3071 { 0, NULL }
3075 static int
3076 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_) {
3077 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3078 0U, ub_error_reasons, hf_index, NULL);
3080 return offset;
3084 static const value_string p7_T_restriction_vals[] = {
3085 { 0, "content-type" },
3086 { 1, "eit" },
3087 { 2, "attribute-length" },
3088 { 0, NULL }
3091 static const ber_choice_t T_restriction_choice[] = {
3092 { 0, &hf_p7_extended_content_type, BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER },
3093 { 1, &hf_p7_eit , BER_CLASS_CON, 1, 0, dissect_p7_MS_EITs },
3094 { 2, &hf_p7_attribute_length , BER_CLASS_CON, 2, 0, dissect_p7_INTEGER },
3095 { 0, NULL, 0, 0, 0, NULL }
3098 static int
3099 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_) {
3100 offset = dissect_ber_choice(actx, tree, tvb, offset,
3101 T_restriction_choice, hf_index, ett_p7_T_restriction,
3102 NULL);
3104 return offset;
3108 static const ber_sequence_t FetchRestrictionProblemItem_set[] = {
3109 { &hf_p7_fetch_restriction_problem, BER_CLASS_CON, 3, 0, dissect_p7_FetchRestrictionProblem },
3110 { &hf_p7_restriction , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p7_T_restriction },
3111 { NULL, 0, 0, 0, NULL }
3114 static int
3115 dissect_p7_FetchRestrictionProblemItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3116 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3117 FetchRestrictionProblemItem_set, hf_index, ett_p7_FetchRestrictionProblemItem);
3119 return offset;
3123 static const ber_sequence_t FetchRestrictionProblems_set_of[1] = {
3124 { &hf_p7_fetch_restriction_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_FetchRestrictionProblemItem },
3127 static int
3128 dissect_p7_FetchRestrictionProblems(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3129 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
3130 1, ub_default_registrations, FetchRestrictionProblems_set_of, hf_index, ett_p7_FetchRestrictionProblems);
3132 return offset;
3136 static const ber_sequence_t PAR_fetch_restriction_error_set[] = {
3137 { &hf_p7_fetch_restriction_problems, BER_CLASS_CON, 0, 0, dissect_p7_FetchRestrictionProblems },
3138 { NULL, 0, 0, 0, NULL }
3141 static int
3142 dissect_p7_PAR_fetch_restriction_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_) {
3143 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3144 PAR_fetch_restriction_error_set, hf_index, ett_p7_PAR_fetch_restriction_error);
3146 return offset;
3151 static int
3152 dissect_p7_PAR_invalid_parameters_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_) {
3153 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3155 return offset;
3159 static const value_string p7_RangeProblem_vals[] = {
3160 { 0, "reversed" },
3161 { 0, NULL }
3165 static int
3166 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_) {
3167 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3168 0U, ub_error_reasons, hf_index, NULL);
3170 return offset;
3174 static const ber_sequence_t PAR_range_error_set[] = {
3175 { &hf_p7_range_problem , BER_CLASS_CON, 0, 0, dissect_p7_RangeProblem },
3176 { NULL, 0, 0, 0, NULL }
3179 static int
3180 dissect_p7_PAR_range_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_) {
3181 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3182 PAR_range_error_set, hf_index, ett_p7_PAR_range_error);
3184 return offset;
3188 static const value_string p7_SequenceNumberProblem_vals[] = {
3189 { 0, "no-such-entry" },
3190 { 0, NULL }
3194 static int
3195 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_) {
3196 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3197 0U, ub_error_reasons, hf_index, NULL);
3199 return offset;
3203 static const ber_sequence_t SequenceNumberProblemItem_set[] = {
3204 { &hf_p7_sequence_number_problem, BER_CLASS_CON, 0, 0, dissect_p7_SequenceNumberProblem },
3205 { &hf_p7_sequence_number , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
3206 { NULL, 0, 0, 0, NULL }
3209 static int
3210 dissect_p7_SequenceNumberProblemItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3211 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3212 SequenceNumberProblemItem_set, hf_index, ett_p7_SequenceNumberProblemItem);
3214 return offset;
3218 static const ber_sequence_t SequenceNumberProblems_set_of[1] = {
3219 { &hf_p7_sequence_number_problem_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumberProblemItem },
3222 static int
3223 dissect_p7_SequenceNumberProblems(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3224 offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
3225 1, ub_messages, SequenceNumberProblems_set_of, hf_index, ett_p7_SequenceNumberProblems);
3227 return offset;
3231 static const ber_sequence_t PAR_sequence_number_error_set[] = {
3232 { &hf_p7_sequence_number_problems, BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumberProblems },
3233 { NULL, 0, 0, 0, NULL }
3236 static int
3237 dissect_p7_PAR_sequence_number_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_) {
3238 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3239 PAR_sequence_number_error_set, hf_index, ett_p7_PAR_sequence_number_error);
3241 return offset;
3245 static const value_string p7_ServiceProblem_vals[] = {
3246 { 0, "busy" },
3247 { 1, "unavailable" },
3248 { 2, "unwilling-to-perform" },
3249 { 0, NULL }
3253 static int
3254 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_) {
3255 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3256 0U, ub_error_reasons, hf_index, NULL);
3258 return offset;
3262 static const ber_sequence_t ServiceErrorParameter_set[] = {
3263 { &hf_p7_service_problem , BER_CLASS_CON, 0, 0, dissect_p7_ServiceProblem },
3264 { &hf_p7_supplementary_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_GeneralString_SIZE_1_ub_supplementary_info_length },
3265 { NULL, 0, 0, 0, NULL }
3268 static int
3269 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_) {
3270 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3271 ServiceErrorParameter_set, hf_index, ett_p7_ServiceErrorParameter);
3273 return offset;
3277 static const value_string p7_MessageGroupProblem_vals[] = {
3278 { 0, "name-not-registered" },
3279 { 1, "name-already-registered" },
3280 { 2, "parent-not-registered" },
3281 { 3, "group-not-empty" },
3282 { 4, "name-in-use" },
3283 { 5, "child-group-registered" },
3284 { 6, "group-depth-exceeded" },
3285 { 0, NULL }
3289 static int
3290 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_) {
3291 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3292 0U, ub_error_reasons, hf_index, NULL);
3294 return offset;
3298 static const ber_sequence_t MessageGroupErrorParameter_set[] = {
3299 { &hf_p7_message_group_problem, BER_CLASS_CON, 0, 0, dissect_p7_MessageGroupProblem },
3300 { &hf_p7_name , BER_CLASS_CON, 1, 0, dissect_p7_MessageGroupName },
3301 { NULL, 0, 0, 0, NULL }
3304 static int
3305 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_) {
3306 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3307 MessageGroupErrorParameter_set, hf_index, ett_p7_MessageGroupErrorParameter);
3309 return offset;
3313 static const value_string p7_MSExtensionErrorParameter_vals[] = {
3314 { 0, "ms-extension-problem" },
3315 { 1, "unknown-ms-extension" },
3316 { 0, NULL }
3319 static const ber_choice_t MSExtensionErrorParameter_choice[] = {
3320 { 0, &hf_p7_ms_extension_problem, BER_CLASS_CON, 0, 0, dissect_p7_MSExtensionItem },
3321 { 1, &hf_p7_unknown_ms_extension, BER_CLASS_CON, 1, 0, dissect_p7_OBJECT_IDENTIFIER },
3322 { 0, NULL, 0, 0, 0, NULL }
3325 static int
3326 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_) {
3327 offset = dissect_ber_choice(actx, tree, tvb, offset,
3328 MSExtensionErrorParameter_choice, hf_index, ett_p7_MSExtensionErrorParameter,
3329 NULL);
3331 return offset;
3335 static const value_string p7_RegistrationProblem_vals[] = {
3336 { 0, "registration-not-supported" },
3337 { 1, "registration-improperly-specified" },
3338 { 2, "registration-limit-exceeded" },
3339 { 0, NULL }
3343 static int
3344 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_) {
3345 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3346 NULL);
3348 return offset;
3352 static const ber_sequence_t PAR_register_ms_error_set[] = {
3353 { &hf_p7_register_ms_problem, BER_CLASS_CON, 0, 0, dissect_p7_RegistrationProblem },
3354 { &hf_p7_registration_type, BER_CLASS_CON, 1, 0, dissect_p7_RegistrationTypes },
3355 { NULL, 0, 0, 0, NULL }
3358 static int
3359 dissect_p7_PAR_register_ms_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_) {
3360 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3361 PAR_register_ms_error_set, hf_index, ett_p7_PAR_register_ms_error);
3363 return offset;
3367 static const value_string p7_ModifyProblem_vals[] = {
3368 { 0, "attribute-not-present" },
3369 { 1, "value-not-present" },
3370 { 2, "attribute-or-value-already-exists" },
3371 { 3, "invalid-position" },
3372 { 4, "modify-restriction-problem" },
3373 { 0, NULL }
3377 static int
3378 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_) {
3379 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3380 0U, ub_error_reasons, hf_index, NULL);
3382 return offset;
3386 static const ber_sequence_t ModifyErrorParameter_set[] = {
3387 { &hf_p7_entries_modified , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber },
3388 { &hf_p7_failing_entry , BER_CLASS_CON, 1, 0, dissect_p7_SequenceNumber },
3389 { &hf_p7_modification_number, BER_CLASS_CON, 2, 0, dissect_p7_INTEGER },
3390 { &hf_p7_modify_problem , BER_CLASS_CON, 3, 0, dissect_p7_ModifyProblem },
3391 { NULL, 0, 0, 0, NULL }
3394 static int
3395 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_) {
3396 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3397 ModifyErrorParameter_set, hf_index, ett_p7_ModifyErrorParameter);
3399 return offset;
3403 static const asn_namedbit T_entry_class_problem_bits[] = {
3404 { 0, &hf_p7_T_entry_class_problem_unsupported_entry_class, -1, -1, "unsupported-entry-class", NULL },
3405 { 1, &hf_p7_T_entry_class_problem_entry_class_not_subscribed, -1, -1, "entry-class-not-subscribed", NULL },
3406 { 2, &hf_p7_T_entry_class_problem_inappropriate_entry_class, -1, -1, "inappropriate-entry-class", NULL },
3407 { 0, NULL, 0, 0, NULL, NULL }
3410 static int
3411 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_) {
3412 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3413 T_entry_class_problem_bits, hf_index, ett_p7_T_entry_class_problem,
3414 NULL);
3416 return offset;
3420 static const ber_sequence_t EntryClassErrorParameter_set[] = {
3421 { &hf_p7_entry_class , BER_CLASS_CON, 0, 0, dissect_p7_EntryClass },
3422 { &hf_p7_entry_class_problem, BER_CLASS_CON, 1, 0, dissect_p7_T_entry_class_problem },
3423 { NULL, 0, 0, 0, NULL }
3426 static int
3427 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_) {
3428 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3429 EntryClassErrorParameter_set, hf_index, ett_p7_EntryClassErrorParameter);
3431 return offset;
3436 static int
3437 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_) {
3438 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
3439 1U, ub_recipients, hf_index, NULL);
3441 return offset;
3445 static const ber_sequence_t PerRecipientReport_sequence[] = {
3446 { &hf_p7_report_entry , BER_CLASS_CON, 0, 0, dissect_p7_SequenceNumber },
3447 { &hf_p7_position , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_INTEGER_1_ub_recipients },
3448 { NULL, 0, 0, 0, NULL }
3451 static int
3452 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_) {
3453 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3454 PerRecipientReport_sequence, hf_index, ett_p7_PerRecipientReport);
3456 return offset;
3460 static const ber_sequence_t SEQUENCE_OF_PerRecipientReport_sequence_of[1] = {
3461 { &hf_p7_location_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p7_PerRecipientReport },
3464 static int
3465 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_) {
3466 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3467 SEQUENCE_OF_PerRecipientReport_sequence_of, hf_index, ett_p7_SEQUENCE_OF_PerRecipientReport);
3469 return offset;
3473 static const value_string p7_ReportLocation_vals[] = {
3474 { 0, "no-correlated-reports" },
3475 { 1, "location" },
3476 { 0, NULL }
3479 static const ber_choice_t ReportLocation_choice[] = {
3480 { 0, &hf_p7_no_correlated_reports, BER_CLASS_CON, 0, 0, dissect_p7_NULL },
3481 { 1, &hf_p7_location , BER_CLASS_CON, 1, 0, dissect_p7_SEQUENCE_OF_PerRecipientReport },
3482 { 0, NULL, 0, 0, 0, NULL }
3485 static int
3486 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_) {
3487 offset = dissect_ber_choice(actx, tree, tvb, offset,
3488 ReportLocation_choice, hf_index, ett_p7_ReportLocation,
3489 NULL);
3491 return offset;
3495 static const value_string p7_ReportSummary_vals[] = {
3496 { 0, "no-report-requested" },
3497 { 1, "no-report-received" },
3498 { 2, "report-outstanding" },
3499 { 3, "delivery-cancelled" },
3500 { 4, "delivery-report-from-another-recipient" },
3501 { 5, "non-delivery-report-from-another-recipient" },
3502 { 6, "delivery-report-from-intended-recipient" },
3503 { 7, "non-delivery-report-from-intended-recipient" },
3504 { 0, NULL }
3508 static int
3509 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_) {
3510 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3511 NULL);
3513 return offset;
3518 static int
3519 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_) {
3520 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
3522 return offset;
3527 static int
3528 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_) {
3529 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
3531 return offset;
3535 static const value_string p7_SubmissionError_vals[] = {
3536 { 1, "submission-control-violated" },
3537 { 2, "originator-invalid" },
3538 { 3, "recipient-improperly-specified" },
3539 { 4, "element-of-service-not-subscribed" },
3540 { 11, "inconsistent-request" },
3541 { 12, "security-error" },
3542 { 13, "unsupported-critical-function" },
3543 { 15, "remote-bind-error" },
3544 { 27, "service-error" },
3545 { 30, "message-group-error" },
3546 { 31, "ms-extension-error" },
3547 { 34, "entry-class-error" },
3548 { 0, NULL }
3551 static const ber_choice_t SubmissionError_choice[] = {
3552 { 1, &hf_p7_submission_control_violated, BER_CLASS_CON, 1, 0, dissect_p7_NULL },
3553 { 2, &hf_p7_originator_invalid, BER_CLASS_CON, 2, 0, dissect_p7_NULL },
3554 { 3, &hf_p7_recipient_improperly_specified, BER_CLASS_CON, 3, 0, dissect_p1_ImproperlySpecifiedRecipients },
3555 { 4, &hf_p7_element_of_service_not_subscribed, BER_CLASS_CON, 4, 0, dissect_p7_NULL },
3556 { 11, &hf_p7_inconsistent_request, BER_CLASS_CON, 11, 0, dissect_p7_NULL },
3557 { 12, &hf_p7_security_error , BER_CLASS_CON, 12, 0, dissect_p1_SecurityProblem },
3558 { 13, &hf_p7_unsupported_critical_function, BER_CLASS_CON, 13, 0, dissect_p7_NULL },
3559 { 15, &hf_p7_remote_bind_error, BER_CLASS_CON, 15, 0, dissect_p7_NULL },
3560 { 27, &hf_p7_service_error , BER_CLASS_CON, 27, 0, dissect_p7_ServiceErrorParameter },
3561 { 30, &hf_p7_message_group_error, BER_CLASS_CON, 30, 0, dissect_p7_MessageGroupErrorParameter },
3562 { 31, &hf_p7_ms_extension_error, BER_CLASS_CON, 31, 0, dissect_p7_MSExtensionErrorParameter },
3563 { 34, &hf_p7_entry_class_error, BER_CLASS_CON, 34, 0, dissect_p7_EntryClassErrorParameter },
3564 { 0, NULL, 0, 0, 0, NULL }
3567 static int
3568 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_) {
3569 offset = dissect_ber_choice(actx, tree, tvb, offset,
3570 SubmissionError_choice, hf_index, ett_p7_SubmissionError,
3571 NULL);
3573 return offset;
3577 const value_string p7_SignatureStatus_vals[] = {
3578 { 0, "signature-absent" },
3579 { 1, "verification-in-progress" },
3580 { 2, "verification-succeeded" },
3581 { 3, "verification-not-possible" },
3582 { 4, "content-converted" },
3583 { 5, "signature-encrypted" },
3584 { 6, "algorithm-not-supported" },
3585 { 7, "certificate-not-obtainable" },
3586 { 8, "verification-failed" },
3587 { 0, NULL }
3592 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_) {
3593 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3594 NULL);
3596 return offset;
3600 static const ber_sequence_t SignatureVerificationStatus_set[] = {
3601 { &hf_p7_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
3602 { &hf_p7_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
3603 { &hf_p7_message_token , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
3604 { &hf_p7_report_origin_authentication_check, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
3605 { &hf_p7_proof_of_delivery, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
3606 { &hf_p7_proof_of_submission, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_p7_SignatureStatus },
3607 { NULL, 0, 0, 0, NULL }
3610 static int
3611 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_) {
3612 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3613 SignatureVerificationStatus_set, hf_index, ett_p7_SignatureVerificationStatus);
3615 return offset;
3620 static int
3621 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_) {
3622 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3623 NULL);
3625 return offset;
3630 static int
3631 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_) {
3632 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
3634 return offset;
3639 static int
3640 dissect_p7_RTTPapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3641 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3642 NULL);
3644 return offset;
3649 static int
3650 dissect_p7_RTTRapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3651 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3652 NULL);
3654 return offset;
3658 static const value_string p7_AbortReason_vals[] = {
3659 { 0, "localSystemProblem" },
3660 { 1, "invalidParameter" },
3661 { 2, "unrecognizedActivity" },
3662 { 3, "temporaryProblem" },
3663 { 4, "protocolError" },
3664 { 5, "permanentProblem" },
3665 { 6, "userError" },
3666 { 7, "transferCompleted" },
3667 { 0, NULL }
3671 static int
3672 dissect_p7_AbortReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3673 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3674 NULL);
3676 return offset;
3681 static int
3682 dissect_p7_T_userdataAB(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3683 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
3686 return offset;
3690 static const ber_sequence_t RTABapdu_set[] = {
3691 { &hf_p7_abortReason , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_AbortReason },
3692 { &hf_p7_reflectedParameter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_BIT_STRING },
3693 { &hf_p7_userdataAB , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_T_userdataAB },
3694 { NULL, 0, 0, 0, NULL }
3697 static int
3698 dissect_p7_RTABapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3699 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3700 RTABapdu_set, hf_index, ett_p7_RTABapdu);
3702 return offset;
3706 static const value_string p7_RTSE_apdus_vals[] = {
3707 { 0, "rtorq-apdu" },
3708 { 1, "rtoac-apdu" },
3709 { 2, "rtorj-apdu" },
3710 { 3, "rttp-apdu" },
3711 { 4, "rttr-apdu" },
3712 { 5, "rtab-apdu" },
3713 { 0, NULL }
3716 static const ber_choice_t RTSE_apdus_choice[] = {
3717 { 0, &hf_p7_rtorq_apdu , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_rtse_RTORQapdu },
3718 { 1, &hf_p7_rtoac_apdu , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_rtse_RTOACapdu },
3719 { 2, &hf_p7_rtorj_apdu , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_rtse_RTORJapdu },
3720 { 3, &hf_p7_rttp_apdu , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_RTTPapdu },
3721 { 4, &hf_p7_rttr_apdu , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p7_RTTRapdu },
3722 { 5, &hf_p7_rtab_apdu , BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_p7_RTABapdu },
3723 { 0, NULL, 0, 0, 0, NULL }
3726 static int
3727 dissect_p7_RTSE_apdus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3728 offset = dissect_ber_choice(actx, tree, tvb, offset,
3729 RTSE_apdus_choice, hf_index, ett_p7_RTSE_apdus,
3730 NULL);
3732 return offset;
3735 /*--- PDUs ---*/
3737 static void dissect_AutoActionType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3738 asn1_ctx_t asn1_ctx;
3739 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3740 dissect_p7_AutoActionType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AutoActionType_PDU);
3742 static void dissect_AutoActionError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3743 asn1_ctx_t asn1_ctx;
3744 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3745 dissect_p7_AutoActionError(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_AutoActionError_PDU);
3747 static void dissect_EntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3748 asn1_ctx_t asn1_ctx;
3749 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3750 dissect_p7_EntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_EntryType_PDU);
3752 static void dissect_SequenceNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3753 asn1_ctx_t asn1_ctx;
3754 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3755 dissect_p7_SequenceNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SequenceNumber_PDU);
3757 static void dissect_RetrievalStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3758 asn1_ctx_t asn1_ctx;
3759 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3760 dissect_p7_RetrievalStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_RetrievalStatus_PDU);
3762 static void dissect_MessageGroupName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3763 asn1_ctx_t asn1_ctx;
3764 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3765 dissect_p7_MessageGroupName(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MessageGroupName_PDU);
3767 static int dissect_MSBindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3768 int offset = 0;
3769 asn1_ctx_t asn1_ctx;
3770 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3771 offset = dissect_p7_MSBindArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSBindArgument_PDU);
3772 return offset;
3774 static int dissect_MSBindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3775 int offset = 0;
3776 asn1_ctx_t asn1_ctx;
3777 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3778 offset = dissect_p7_MSBindResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSBindResult_PDU);
3779 return offset;
3781 static void dissect_MS_EIT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3782 asn1_ctx_t asn1_ctx;
3783 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3784 dissect_p7_MS_EIT(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_MS_EIT_PDU);
3786 static void dissect_ChangeCredentialsAlgorithms_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3787 asn1_ctx_t asn1_ctx;
3788 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3789 dissect_p7_ChangeCredentialsAlgorithms(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ChangeCredentialsAlgorithms_PDU);
3791 static int dissect_PAR_ms_bind_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3792 int offset = 0;
3793 asn1_ctx_t asn1_ctx;
3794 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3795 offset = dissect_p7_PAR_ms_bind_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_ms_bind_error_PDU);
3796 return offset;
3798 static void dissect_CreationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3799 asn1_ctx_t asn1_ctx;
3800 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3801 dissect_p7_CreationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_CreationTime_PDU);
3803 static void dissect_OriginatorToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3804 asn1_ctx_t asn1_ctx;
3805 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3806 dissect_p7_OriginatorToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_OriginatorToken_PDU);
3808 static int dissect_SummarizeArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3809 int offset = 0;
3810 asn1_ctx_t asn1_ctx;
3811 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3812 offset = dissect_p7_SummarizeArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_SummarizeArgument_PDU);
3813 return offset;
3815 static int dissect_SummarizeResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3816 int offset = 0;
3817 asn1_ctx_t asn1_ctx;
3818 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3819 offset = dissect_p7_SummarizeResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_SummarizeResult_PDU);
3820 return offset;
3822 static int dissect_ListArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3823 int offset = 0;
3824 asn1_ctx_t asn1_ctx;
3825 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3826 offset = dissect_p7_ListArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_ListArgument_PDU);
3827 return offset;
3829 static int dissect_ListResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3830 int offset = 0;
3831 asn1_ctx_t asn1_ctx;
3832 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3833 offset = dissect_p7_ListResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_ListResult_PDU);
3834 return offset;
3836 static int dissect_FetchArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3837 int offset = 0;
3838 asn1_ctx_t asn1_ctx;
3839 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3840 offset = dissect_p7_FetchArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_FetchArgument_PDU);
3841 return offset;
3843 static int dissect_FetchResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3844 int offset = 0;
3845 asn1_ctx_t asn1_ctx;
3846 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3847 offset = dissect_p7_FetchResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_FetchResult_PDU);
3848 return offset;
3850 static int dissect_DeleteArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3851 int offset = 0;
3852 asn1_ctx_t asn1_ctx;
3853 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3854 offset = dissect_p7_DeleteArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_DeleteArgument_PDU);
3855 return offset;
3857 static int dissect_DeleteResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3858 int offset = 0;
3859 asn1_ctx_t asn1_ctx;
3860 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3861 offset = dissect_p7_DeleteResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_DeleteResult_PDU);
3862 return offset;
3864 static int dissect_Register_MSArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3865 int offset = 0;
3866 asn1_ctx_t asn1_ctx;
3867 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3868 offset = dissect_p7_Register_MSArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_Register_MSArgument_PDU);
3869 return offset;
3871 static int dissect_Register_MSResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3872 int offset = 0;
3873 asn1_ctx_t asn1_ctx;
3874 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3875 offset = dissect_p7_Register_MSResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_Register_MSResult_PDU);
3876 return offset;
3878 static void dissect_ProtectedChangeCredentials_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3879 asn1_ctx_t asn1_ctx;
3880 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3881 dissect_p7_ProtectedChangeCredentials(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ProtectedChangeCredentials_PDU);
3883 static int dissect_AlertArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3884 int offset = 0;
3885 asn1_ctx_t asn1_ctx;
3886 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3887 offset = dissect_p7_AlertArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_AlertArgument_PDU);
3888 return offset;
3890 static int dissect_AlertResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3891 int offset = 0;
3892 asn1_ctx_t asn1_ctx;
3893 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3894 offset = dissect_p7_AlertResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_AlertResult_PDU);
3895 return offset;
3897 static int dissect_ModifyArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3898 int offset = 0;
3899 asn1_ctx_t asn1_ctx;
3900 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3901 offset = dissect_p7_ModifyArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_ModifyArgument_PDU);
3902 return offset;
3904 static int dissect_ModifyResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3905 int offset = 0;
3906 asn1_ctx_t asn1_ctx;
3907 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3908 offset = dissect_p7_ModifyResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_ModifyResult_PDU);
3909 return offset;
3911 static int dissect_MSMessageSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3912 int offset = 0;
3913 asn1_ctx_t asn1_ctx;
3914 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3915 offset = dissect_p7_MSMessageSubmissionArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSMessageSubmissionArgument_PDU);
3916 return offset;
3918 static int dissect_MSMessageSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3919 int offset = 0;
3920 asn1_ctx_t asn1_ctx;
3921 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3922 offset = dissect_p7_MSMessageSubmissionResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSMessageSubmissionResult_PDU);
3923 return offset;
3925 static int dissect_MSProbeSubmissionArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3926 int offset = 0;
3927 asn1_ctx_t asn1_ctx;
3928 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3929 offset = dissect_p7_MSProbeSubmissionArgument(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSProbeSubmissionArgument_PDU);
3930 return offset;
3932 static int dissect_MSProbeSubmissionResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3933 int offset = 0;
3934 asn1_ctx_t asn1_ctx;
3935 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3936 offset = dissect_p7_MSProbeSubmissionResult(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSProbeSubmissionResult_PDU);
3937 return offset;
3939 static int dissect_PAR_attribute_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3940 int offset = 0;
3941 asn1_ctx_t asn1_ctx;
3942 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3943 offset = dissect_p7_PAR_attribute_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_attribute_error_PDU);
3944 return offset;
3946 static int dissect_PAR_auto_action_request_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3947 int offset = 0;
3948 asn1_ctx_t asn1_ctx;
3949 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3950 offset = dissect_p7_PAR_auto_action_request_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_auto_action_request_error_PDU);
3951 return offset;
3953 static int dissect_PAR_delete_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3954 int offset = 0;
3955 asn1_ctx_t asn1_ctx;
3956 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3957 offset = dissect_p7_PAR_delete_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_delete_error_PDU);
3958 return offset;
3960 static int dissect_PAR_fetch_restriction_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3961 int offset = 0;
3962 asn1_ctx_t asn1_ctx;
3963 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3964 offset = dissect_p7_PAR_fetch_restriction_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_fetch_restriction_error_PDU);
3965 return offset;
3967 static int dissect_PAR_invalid_parameters_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3968 int offset = 0;
3969 asn1_ctx_t asn1_ctx;
3970 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3971 offset = dissect_p7_PAR_invalid_parameters_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_invalid_parameters_error_PDU);
3972 return offset;
3974 static int dissect_PAR_range_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3975 int offset = 0;
3976 asn1_ctx_t asn1_ctx;
3977 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3978 offset = dissect_p7_PAR_range_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_range_error_PDU);
3979 return offset;
3981 static int dissect_PAR_sequence_number_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3982 int offset = 0;
3983 asn1_ctx_t asn1_ctx;
3984 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3985 offset = dissect_p7_PAR_sequence_number_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_sequence_number_error_PDU);
3986 return offset;
3988 static int dissect_ServiceErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3989 int offset = 0;
3990 asn1_ctx_t asn1_ctx;
3991 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3992 offset = dissect_p7_ServiceErrorParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_ServiceErrorParameter_PDU);
3993 return offset;
3995 static int dissect_MessageGroupErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
3996 int offset = 0;
3997 asn1_ctx_t asn1_ctx;
3998 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3999 offset = dissect_p7_MessageGroupErrorParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MessageGroupErrorParameter_PDU);
4000 return offset;
4002 static int dissect_MSExtensionErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4003 int offset = 0;
4004 asn1_ctx_t asn1_ctx;
4005 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4006 offset = dissect_p7_MSExtensionErrorParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_MSExtensionErrorParameter_PDU);
4007 return offset;
4009 static int dissect_PAR_register_ms_error_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4010 int offset = 0;
4011 asn1_ctx_t asn1_ctx;
4012 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4013 offset = dissect_p7_PAR_register_ms_error(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_PAR_register_ms_error_PDU);
4014 return offset;
4016 static int dissect_ModifyErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4017 int offset = 0;
4018 asn1_ctx_t asn1_ctx;
4019 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4020 offset = dissect_p7_ModifyErrorParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_ModifyErrorParameter_PDU);
4021 return offset;
4023 static int dissect_EntryClassErrorParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4024 int offset = 0;
4025 asn1_ctx_t asn1_ctx;
4026 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4027 offset = dissect_p7_EntryClassErrorParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_EntryClassErrorParameter_PDU);
4028 return offset;
4030 static void dissect_ReportLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4031 asn1_ctx_t asn1_ctx;
4032 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4033 dissect_p7_ReportLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ReportLocation_PDU);
4035 static void dissect_PerRecipientReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4036 asn1_ctx_t asn1_ctx;
4037 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4038 dissect_p7_PerRecipientReport(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_PerRecipientReport_PDU);
4040 static void dissect_ReportSummary_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4041 asn1_ctx_t asn1_ctx;
4042 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4043 dissect_p7_ReportSummary(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_ReportSummary_PDU);
4045 static void dissect_DeferredDeliveryCancellationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4046 asn1_ctx_t asn1_ctx;
4047 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4048 dissect_p7_DeferredDeliveryCancellationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeferredDeliveryCancellationTime_PDU);
4050 static void dissect_DeletionTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4051 asn1_ctx_t asn1_ctx;
4052 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4053 dissect_p7_DeletionTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_DeletionTime_PDU);
4055 static void dissect_SubmissionError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4056 asn1_ctx_t asn1_ctx;
4057 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4058 dissect_p7_SubmissionError(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SubmissionError_PDU);
4060 static void dissect_SignatureVerificationStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4061 asn1_ctx_t asn1_ctx;
4062 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4063 dissect_p7_SignatureVerificationStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_SignatureVerificationStatus_PDU);
4065 static void dissect_StoragePeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4066 asn1_ctx_t asn1_ctx;
4067 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4068 dissect_p7_StoragePeriod(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_StoragePeriod_PDU);
4070 static void dissect_StorageTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4071 asn1_ctx_t asn1_ctx;
4072 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4073 dissect_p7_StorageTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_StorageTime_PDU);
4075 static void dissect_RTSE_apdus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4076 asn1_ctx_t asn1_ctx;
4077 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4078 dissect_p7_RTSE_apdus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p7_RTSE_apdus_PDU);
4082 /*--- End of included file: packet-p7-fn.c ---*/
4083 #line 67 "../../asn1/p7/packet-p7-template.c"
4086 /*--- Included file: packet-p7-table11.c ---*/
4087 #line 1 "../../asn1/p7/packet-p7-table11.c"
4089 static const ros_opr_t p7_opr_tab[] = {
4090 /* ms-bind */
4091 { op_ros_bind , dissect_MSBindArgument_PDU, dissect_MSBindResult_PDU },
4092 /* summarize */
4093 { op_summarize , dissect_SummarizeArgument_PDU, dissect_SummarizeResult_PDU },
4094 /* list */
4095 { op_list , dissect_ListArgument_PDU, dissect_ListResult_PDU },
4096 /* fetch */
4097 { op_fetch , dissect_FetchArgument_PDU, dissect_FetchResult_PDU },
4098 /* delete */
4099 { op_delete , dissect_DeleteArgument_PDU, dissect_DeleteResult_PDU },
4100 /* register-MS */
4101 { op_register_ms , dissect_Register_MSArgument_PDU, dissect_Register_MSResult_PDU },
4102 /* alert */
4103 { op_alert , dissect_AlertArgument_PDU, dissect_AlertResult_PDU },
4104 /* modify */
4105 { op_modify , dissect_ModifyArgument_PDU, dissect_ModifyResult_PDU },
4106 /* ms-message-submission */
4107 { op_ms_message_submission , dissect_MSMessageSubmissionArgument_PDU, dissect_MSMessageSubmissionResult_PDU },
4108 /* ms-probe-submission */
4109 { op_ms_probe_submission , dissect_MSProbeSubmissionArgument_PDU, dissect_MSProbeSubmissionResult_PDU },
4110 { 0, (new_dissector_t)(-1), (new_dissector_t)(-1) },
4114 /*--- End of included file: packet-p7-table11.c ---*/
4115 #line 69 "../../asn1/p7/packet-p7-template.c"
4117 /*--- Included file: packet-p7-table21.c ---*/
4118 #line 1 "../../asn1/p7/packet-p7-table21.c"
4120 static const ros_err_t p7_err_tab[] = {
4121 /* ms-bind-error*/
4122 { err_ros_bind, dissect_PAR_ms_bind_error_PDU },
4123 /* attribute-error*/
4124 { err_attribute_error, dissect_PAR_attribute_error_PDU },
4125 /* auto-action-request-error*/
4126 { err_auto_action_request_error, dissect_PAR_auto_action_request_error_PDU },
4127 /* delete-error*/
4128 { err_delete_error, dissect_PAR_delete_error_PDU },
4129 /* fetch-restriction-error*/
4130 { err_fetch_restriction_error, dissect_PAR_fetch_restriction_error_PDU },
4131 /* invalid-parameters-error*/
4132 { err_invalid_parameters_error, dissect_PAR_invalid_parameters_error_PDU },
4133 /* range-error*/
4134 { err_range_error, dissect_PAR_range_error_PDU },
4135 /* sequence-number-error*/
4136 { err_sequence_number_error, dissect_PAR_sequence_number_error_PDU },
4137 /* service-error*/
4138 { err_service_error, dissect_ServiceErrorParameter_PDU },
4139 /* message-group-error*/
4140 { err_message_group_error, dissect_MessageGroupErrorParameter_PDU },
4141 /* ms-extension-error*/
4142 { err_ms_extension_error, dissect_MSExtensionErrorParameter_PDU },
4143 /* register-ms-error*/
4144 { err_register_ms_error, dissect_PAR_register_ms_error_PDU },
4145 /* modify-error*/
4146 { err_modify_error, dissect_ModifyErrorParameter_PDU },
4147 /* entry-class-error*/
4148 { err_entry_class_error, dissect_EntryClassErrorParameter_PDU },
4149 { 0, (new_dissector_t)(-1) },
4153 /*--- End of included file: packet-p7-table21.c ---*/
4154 #line 70 "../../asn1/p7/packet-p7-template.c"
4156 static const ros_info_t p7_ros_info = {
4157 "P7",
4158 &proto_p7,
4159 &ett_p7,
4160 p7_opr_code_string_vals,
4161 p7_opr_tab,
4162 p7_err_code_string_vals,
4163 p7_err_tab
4167 /*--- proto_register_p7 -------------------------------------------*/
4168 void proto_register_p7(void) {
4170 /* List of fields */
4171 static hf_register_info hf[] =
4174 /*--- Included file: packet-p7-hfarr.c ---*/
4175 #line 1 "../../asn1/p7/packet-p7-hfarr.c"
4176 { &hf_p7_AutoActionType_PDU,
4177 { "AutoActionType", "p7.AutoActionType",
4178 FT_OID, BASE_NONE, NULL, 0,
4179 NULL, HFILL }},
4180 { &hf_p7_AutoActionError_PDU,
4181 { "AutoActionError", "p7.AutoActionError_element",
4182 FT_NONE, BASE_NONE, NULL, 0,
4183 NULL, HFILL }},
4184 { &hf_p7_EntryType_PDU,
4185 { "EntryType", "p7.EntryType",
4186 FT_INT32, BASE_DEC, VALS(p7_EntryType_vals), 0,
4187 NULL, HFILL }},
4188 { &hf_p7_SequenceNumber_PDU,
4189 { "SequenceNumber", "p7.SequenceNumber",
4190 FT_UINT32, BASE_DEC, NULL, 0,
4191 NULL, HFILL }},
4192 { &hf_p7_RetrievalStatus_PDU,
4193 { "RetrievalStatus", "p7.RetrievalStatus",
4194 FT_INT32, BASE_DEC, VALS(p7_RetrievalStatus_vals), 0,
4195 NULL, HFILL }},
4196 { &hf_p7_MessageGroupName_PDU,
4197 { "MessageGroupName", "p7.MessageGroupName",
4198 FT_UINT32, BASE_DEC, NULL, 0,
4199 NULL, HFILL }},
4200 { &hf_p7_MSBindArgument_PDU,
4201 { "MSBindArgument", "p7.MSBindArgument_element",
4202 FT_NONE, BASE_NONE, NULL, 0,
4203 NULL, HFILL }},
4204 { &hf_p7_MSBindResult_PDU,
4205 { "MSBindResult", "p7.MSBindResult_element",
4206 FT_NONE, BASE_NONE, NULL, 0,
4207 NULL, HFILL }},
4208 { &hf_p7_MS_EIT_PDU,
4209 { "MS-EIT", "p7.MS_EIT",
4210 FT_OID, BASE_NONE, NULL, 0,
4211 NULL, HFILL }},
4212 { &hf_p7_ChangeCredentialsAlgorithms_PDU,
4213 { "ChangeCredentialsAlgorithms", "p7.ChangeCredentialsAlgorithms",
4214 FT_UINT32, BASE_DEC, NULL, 0,
4215 NULL, HFILL }},
4216 { &hf_p7_PAR_ms_bind_error_PDU,
4217 { "PAR-ms-bind-error", "p7.PAR_ms_bind_error",
4218 FT_UINT32, BASE_DEC, VALS(p7_PAR_ms_bind_error_vals), 0,
4219 NULL, HFILL }},
4220 { &hf_p7_CreationTime_PDU,
4221 { "CreationTime", "p7.CreationTime",
4222 FT_STRING, BASE_NONE, NULL, 0,
4223 NULL, HFILL }},
4224 { &hf_p7_OriginatorToken_PDU,
4225 { "OriginatorToken", "p7.OriginatorToken_element",
4226 FT_NONE, BASE_NONE, NULL, 0,
4227 NULL, HFILL }},
4228 { &hf_p7_SummarizeArgument_PDU,
4229 { "SummarizeArgument", "p7.SummarizeArgument_element",
4230 FT_NONE, BASE_NONE, NULL, 0,
4231 NULL, HFILL }},
4232 { &hf_p7_SummarizeResult_PDU,
4233 { "SummarizeResult", "p7.SummarizeResult_element",
4234 FT_NONE, BASE_NONE, NULL, 0,
4235 NULL, HFILL }},
4236 { &hf_p7_ListArgument_PDU,
4237 { "ListArgument", "p7.ListArgument_element",
4238 FT_NONE, BASE_NONE, NULL, 0,
4239 NULL, HFILL }},
4240 { &hf_p7_ListResult_PDU,
4241 { "ListResult", "p7.ListResult_element",
4242 FT_NONE, BASE_NONE, NULL, 0,
4243 NULL, HFILL }},
4244 { &hf_p7_FetchArgument_PDU,
4245 { "FetchArgument", "p7.FetchArgument_element",
4246 FT_NONE, BASE_NONE, NULL, 0,
4247 NULL, HFILL }},
4248 { &hf_p7_FetchResult_PDU,
4249 { "FetchResult", "p7.FetchResult_element",
4250 FT_NONE, BASE_NONE, NULL, 0,
4251 NULL, HFILL }},
4252 { &hf_p7_DeleteArgument_PDU,
4253 { "DeleteArgument", "p7.DeleteArgument_element",
4254 FT_NONE, BASE_NONE, NULL, 0,
4255 NULL, HFILL }},
4256 { &hf_p7_DeleteResult_PDU,
4257 { "DeleteResult", "p7.DeleteResult",
4258 FT_UINT32, BASE_DEC, VALS(p7_DeleteResult_vals), 0,
4259 NULL, HFILL }},
4260 { &hf_p7_Register_MSArgument_PDU,
4261 { "Register-MSArgument", "p7.Register_MSArgument_element",
4262 FT_NONE, BASE_NONE, NULL, 0,
4263 NULL, HFILL }},
4264 { &hf_p7_Register_MSResult_PDU,
4265 { "Register-MSResult", "p7.Register_MSResult",
4266 FT_UINT32, BASE_DEC, VALS(p7_Register_MSResult_vals), 0,
4267 NULL, HFILL }},
4268 { &hf_p7_ProtectedChangeCredentials_PDU,
4269 { "ProtectedChangeCredentials", "p7.ProtectedChangeCredentials_element",
4270 FT_NONE, BASE_NONE, NULL, 0,
4271 NULL, HFILL }},
4272 { &hf_p7_AlertArgument_PDU,
4273 { "AlertArgument", "p7.AlertArgument_element",
4274 FT_NONE, BASE_NONE, NULL, 0,
4275 NULL, HFILL }},
4276 { &hf_p7_AlertResult_PDU,
4277 { "AlertResult", "p7.AlertResult_element",
4278 FT_NONE, BASE_NONE, NULL, 0,
4279 NULL, HFILL }},
4280 { &hf_p7_ModifyArgument_PDU,
4281 { "ModifyArgument", "p7.ModifyArgument_element",
4282 FT_NONE, BASE_NONE, NULL, 0,
4283 NULL, HFILL }},
4284 { &hf_p7_ModifyResult_PDU,
4285 { "ModifyResult", "p7.ModifyResult_element",
4286 FT_NONE, BASE_NONE, NULL, 0,
4287 NULL, HFILL }},
4288 { &hf_p7_MSMessageSubmissionArgument_PDU,
4289 { "MSMessageSubmissionArgument", "p7.MSMessageSubmissionArgument_element",
4290 FT_NONE, BASE_NONE, NULL, 0,
4291 NULL, HFILL }},
4292 { &hf_p7_MSMessageSubmissionResult_PDU,
4293 { "MSMessageSubmissionResult", "p7.MSMessageSubmissionResult",
4294 FT_UINT32, BASE_DEC, VALS(p7_MSMessageSubmissionResult_vals), 0,
4295 NULL, HFILL }},
4296 { &hf_p7_MSProbeSubmissionArgument_PDU,
4297 { "MSProbeSubmissionArgument", "p7.MSProbeSubmissionArgument_element",
4298 FT_NONE, BASE_NONE, NULL, 0,
4299 NULL, HFILL }},
4300 { &hf_p7_MSProbeSubmissionResult_PDU,
4301 { "MSProbeSubmissionResult", "p7.MSProbeSubmissionResult_element",
4302 FT_NONE, BASE_NONE, NULL, 0,
4303 NULL, HFILL }},
4304 { &hf_p7_PAR_attribute_error_PDU,
4305 { "PAR-attribute-error", "p7.PAR_attribute_error_element",
4306 FT_NONE, BASE_NONE, NULL, 0,
4307 NULL, HFILL }},
4308 { &hf_p7_PAR_auto_action_request_error_PDU,
4309 { "PAR-auto-action-request-error", "p7.PAR_auto_action_request_error_element",
4310 FT_NONE, BASE_NONE, NULL, 0,
4311 NULL, HFILL }},
4312 { &hf_p7_PAR_delete_error_PDU,
4313 { "PAR-delete-error", "p7.PAR_delete_error_element",
4314 FT_NONE, BASE_NONE, NULL, 0,
4315 NULL, HFILL }},
4316 { &hf_p7_PAR_fetch_restriction_error_PDU,
4317 { "PAR-fetch-restriction-error", "p7.PAR_fetch_restriction_error_element",
4318 FT_NONE, BASE_NONE, NULL, 0,
4319 NULL, HFILL }},
4320 { &hf_p7_PAR_invalid_parameters_error_PDU,
4321 { "PAR-invalid-parameters-error", "p7.PAR_invalid_parameters_error_element",
4322 FT_NONE, BASE_NONE, NULL, 0,
4323 NULL, HFILL }},
4324 { &hf_p7_PAR_range_error_PDU,
4325 { "PAR-range-error", "p7.PAR_range_error_element",
4326 FT_NONE, BASE_NONE, NULL, 0,
4327 NULL, HFILL }},
4328 { &hf_p7_PAR_sequence_number_error_PDU,
4329 { "PAR-sequence-number-error", "p7.PAR_sequence_number_error_element",
4330 FT_NONE, BASE_NONE, NULL, 0,
4331 NULL, HFILL }},
4332 { &hf_p7_ServiceErrorParameter_PDU,
4333 { "ServiceErrorParameter", "p7.ServiceErrorParameter_element",
4334 FT_NONE, BASE_NONE, NULL, 0,
4335 NULL, HFILL }},
4336 { &hf_p7_MessageGroupErrorParameter_PDU,
4337 { "MessageGroupErrorParameter", "p7.MessageGroupErrorParameter_element",
4338 FT_NONE, BASE_NONE, NULL, 0,
4339 NULL, HFILL }},
4340 { &hf_p7_MSExtensionErrorParameter_PDU,
4341 { "MSExtensionErrorParameter", "p7.MSExtensionErrorParameter",
4342 FT_UINT32, BASE_DEC, VALS(p7_MSExtensionErrorParameter_vals), 0,
4343 NULL, HFILL }},
4344 { &hf_p7_PAR_register_ms_error_PDU,
4345 { "PAR-register-ms-error", "p7.PAR_register_ms_error_element",
4346 FT_NONE, BASE_NONE, NULL, 0,
4347 NULL, HFILL }},
4348 { &hf_p7_ModifyErrorParameter_PDU,
4349 { "ModifyErrorParameter", "p7.ModifyErrorParameter_element",
4350 FT_NONE, BASE_NONE, NULL, 0,
4351 NULL, HFILL }},
4352 { &hf_p7_EntryClassErrorParameter_PDU,
4353 { "EntryClassErrorParameter", "p7.EntryClassErrorParameter_element",
4354 FT_NONE, BASE_NONE, NULL, 0,
4355 NULL, HFILL }},
4356 { &hf_p7_ReportLocation_PDU,
4357 { "ReportLocation", "p7.ReportLocation",
4358 FT_UINT32, BASE_DEC, VALS(p7_ReportLocation_vals), 0,
4359 NULL, HFILL }},
4360 { &hf_p7_PerRecipientReport_PDU,
4361 { "PerRecipientReport", "p7.PerRecipientReport_element",
4362 FT_NONE, BASE_NONE, NULL, 0,
4363 NULL, HFILL }},
4364 { &hf_p7_ReportSummary_PDU,
4365 { "ReportSummary", "p7.ReportSummary",
4366 FT_UINT32, BASE_DEC, VALS(p7_ReportSummary_vals), 0,
4367 NULL, HFILL }},
4368 { &hf_p7_DeferredDeliveryCancellationTime_PDU,
4369 { "DeferredDeliveryCancellationTime", "p7.DeferredDeliveryCancellationTime",
4370 FT_STRING, BASE_NONE, NULL, 0,
4371 NULL, HFILL }},
4372 { &hf_p7_DeletionTime_PDU,
4373 { "DeletionTime", "p7.DeletionTime",
4374 FT_STRING, BASE_NONE, NULL, 0,
4375 NULL, HFILL }},
4376 { &hf_p7_SubmissionError_PDU,
4377 { "SubmissionError", "p7.SubmissionError",
4378 FT_UINT32, BASE_DEC, VALS(p7_SubmissionError_vals), 0,
4379 NULL, HFILL }},
4380 { &hf_p7_SignatureVerificationStatus_PDU,
4381 { "SignatureVerificationStatus", "p7.SignatureVerificationStatus_element",
4382 FT_NONE, BASE_NONE, NULL, 0,
4383 NULL, HFILL }},
4384 { &hf_p7_StoragePeriod_PDU,
4385 { "StoragePeriod", "p7.StoragePeriod",
4386 FT_INT32, BASE_DEC, NULL, 0,
4387 NULL, HFILL }},
4388 { &hf_p7_StorageTime_PDU,
4389 { "StorageTime", "p7.StorageTime",
4390 FT_STRING, BASE_NONE, NULL, 0,
4391 NULL, HFILL }},
4392 { &hf_p7_RTSE_apdus_PDU,
4393 { "RTSE-apdus", "p7.RTSE_apdus",
4394 FT_UINT32, BASE_DEC, VALS(p7_RTSE_apdus_vals), 0,
4395 NULL, HFILL }},
4396 { &hf_p7_attribute_type,
4397 { "attribute-type", "p7.attribute_type",
4398 FT_OID, BASE_NONE, NULL, 0,
4399 "AttributeType", HFILL }},
4400 { &hf_p7_attribute_values,
4401 { "attribute-values", "p7.attribute_values",
4402 FT_UINT32, BASE_DEC, NULL, 0,
4403 "AttributeValues", HFILL }},
4404 { &hf_p7_attribute_values_item,
4405 { "attribute-values item", "p7.attribute_values_item_element",
4406 FT_NONE, BASE_NONE, NULL, 0,
4407 "AttributeItem", HFILL }},
4408 { &hf_p7_auto_action_type,
4409 { "auto-action-type", "p7.auto_action_type",
4410 FT_OID, BASE_NONE, NULL, 0,
4411 "AutoActionType", HFILL }},
4412 { &hf_p7_registration_identifier,
4413 { "registration-identifier", "p7.registration_identifier",
4414 FT_UINT32, BASE_DEC, NULL, 0,
4415 "INTEGER_1_ub_per_auto_action", HFILL }},
4416 { &hf_p7_registration_parameter,
4417 { "registration-parameter", "p7.registration_parameter_element",
4418 FT_NONE, BASE_NONE, NULL, 0,
4419 NULL, HFILL }},
4420 { &hf_p7_error_code,
4421 { "error-code", "p7.error_code_element",
4422 FT_NONE, BASE_NONE, NULL, 0,
4423 NULL, HFILL }},
4424 { &hf_p7_error_parameter,
4425 { "error-parameter", "p7.error_parameter_element",
4426 FT_NONE, BASE_NONE, NULL, 0,
4427 NULL, HFILL }},
4428 { &hf_p7_MSExtensions_item,
4429 { "MSExtensionItem", "p7.MSExtensionItem_element",
4430 FT_NONE, BASE_NONE, NULL, 0,
4431 NULL, HFILL }},
4432 { &hf_p7_MessageGroupName_item,
4433 { "GroupNamePart", "p7.GroupNamePart",
4434 FT_STRING, BASE_NONE, NULL, 0,
4435 NULL, HFILL }},
4436 { &hf_p7_initiator_name,
4437 { "initiator-name", "p7.initiator_name_element",
4438 FT_NONE, BASE_NONE, NULL, 0,
4439 NULL, HFILL }},
4440 { &hf_p7_initiator_credentials,
4441 { "initiator-credentials", "p7.initiator_credentials",
4442 FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
4443 "InitiatorCredentials", HFILL }},
4444 { &hf_p7_security_context,
4445 { "security-context", "p7.security_context",
4446 FT_UINT32, BASE_DEC, NULL, 0,
4447 "SecurityContext", HFILL }},
4448 { &hf_p7_fetch_restrictions,
4449 { "fetch-restrictions", "p7.fetch_restrictions_element",
4450 FT_NONE, BASE_NONE, NULL, 0,
4451 "Restrictions", HFILL }},
4452 { &hf_p7_ms_configuration_request,
4453 { "ms-configuration-request", "p7.ms_configuration_request",
4454 FT_BOOLEAN, BASE_NONE, NULL, 0,
4455 "BOOLEAN", HFILL }},
4456 { &hf_p7_ua_registration_identifier,
4457 { "ua-registration-identifier", "p7.ua_registration_identifier",
4458 FT_STRING, BASE_NONE, NULL, 0,
4459 "RegistrationIdentifier", HFILL }},
4460 { &hf_p7_bind_extensions,
4461 { "bind-extensions", "p7.bind_extensions",
4462 FT_UINT32, BASE_DEC, NULL, 0,
4463 "MSExtensions", HFILL }},
4464 { &hf_p7_allowed_content_types,
4465 { "allowed-content-types", "p7.allowed_content_types",
4466 FT_UINT32, BASE_DEC, NULL, 0,
4467 "T_allowed_content_types", HFILL }},
4468 { &hf_p7_allowed_content_types_item,
4469 { "allowed-content-types item", "p7.allowed_content_types_item",
4470 FT_OID, BASE_NONE, NULL, 0,
4471 "OBJECT_IDENTIFIER", HFILL }},
4472 { &hf_p7_allowed_EITs,
4473 { "allowed-EITs", "p7.allowed_EITs",
4474 FT_UINT32, BASE_DEC, NULL, 0,
4475 "MS_EITs", HFILL }},
4476 { &hf_p7_maximum_attribute_length,
4477 { "maximum-attribute-length", "p7.maximum_attribute_length",
4478 FT_INT32, BASE_DEC, NULL, 0,
4479 "INTEGER", HFILL }},
4480 { &hf_p7_MS_EITs_item,
4481 { "MS-EIT", "p7.MS_EIT",
4482 FT_OID, BASE_NONE, NULL, 0,
4483 NULL, HFILL }},
4484 { &hf_p7_responder_credentials,
4485 { "responder-credentials", "p7.responder_credentials",
4486 FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
4487 "ResponderCredentials", HFILL }},
4488 { &hf_p7_available_auto_actions,
4489 { "available-auto-actions", "p7.available_auto_actions",
4490 FT_UINT32, BASE_DEC, NULL, 0,
4491 "SET_SIZE_1_ub_auto_actions_OF_AutoActionType", HFILL }},
4492 { &hf_p7_available_auto_actions_item,
4493 { "AutoActionType", "p7.AutoActionType",
4494 FT_OID, BASE_NONE, NULL, 0,
4495 NULL, HFILL }},
4496 { &hf_p7_available_attribute_types,
4497 { "available-attribute-types", "p7.available_attribute_types",
4498 FT_UINT32, BASE_DEC, NULL, 0,
4499 "SET_SIZE_1_ub_attributes_supported_OF_AttributeType", HFILL }},
4500 { &hf_p7_available_attribute_types_item,
4501 { "AttributeType", "p7.AttributeType",
4502 FT_OID, BASE_NONE, NULL, 0,
4503 NULL, HFILL }},
4504 { &hf_p7_alert_indication,
4505 { "alert-indication", "p7.alert_indication",
4506 FT_BOOLEAN, BASE_NONE, NULL, 0,
4507 "BOOLEAN", HFILL }},
4508 { &hf_p7_content_types_supported,
4509 { "content-types-supported", "p7.content_types_supported",
4510 FT_UINT32, BASE_DEC, NULL, 0,
4511 "T_content_types_supported", HFILL }},
4512 { &hf_p7_content_types_supported_item,
4513 { "content-types-supported item", "p7.content_types_supported_item",
4514 FT_OID, BASE_NONE, NULL, 0,
4515 "OBJECT_IDENTIFIER", HFILL }},
4516 { &hf_p7_entry_classes_supported,
4517 { "entry-classes-supported", "p7.entry_classes_supported",
4518 FT_UINT32, BASE_DEC, NULL, 0,
4519 "SET_SIZE_1_ub_entry_classes_OF_EntryClass", HFILL }},
4520 { &hf_p7_entry_classes_supported_item,
4521 { "EntryClass", "p7.EntryClass",
4522 FT_UINT32, BASE_DEC, VALS(p7_EntryClass_vals), 0,
4523 NULL, HFILL }},
4524 { &hf_p7_matching_rules_supported,
4525 { "matching-rules-supported", "p7.matching_rules_supported",
4526 FT_UINT32, BASE_DEC, NULL, 0,
4527 NULL, HFILL }},
4528 { &hf_p7_matching_rules_supported_item,
4529 { "matching-rules-supported item", "p7.matching_rules_supported_item",
4530 FT_OID, BASE_NONE, NULL, 0,
4531 "OBJECT_IDENTIFIER", HFILL }},
4532 { &hf_p7_bind_result_extensions,
4533 { "bind-result-extensions", "p7.bind_result_extensions",
4534 FT_UINT32, BASE_DEC, NULL, 0,
4535 "MSExtensions", HFILL }},
4536 { &hf_p7_message_group_depth,
4537 { "message-group-depth", "p7.message_group_depth",
4538 FT_UINT32, BASE_DEC, NULL, 0,
4539 "INTEGER_1_ub_group_depth", HFILL }},
4540 { &hf_p7_auto_action_error_indication,
4541 { "auto-action-error-indication", "p7.auto_action_error_indication",
4542 FT_UINT32, BASE_DEC, VALS(p7_AutoActionErrorIndication_vals), 0,
4543 "AutoActionErrorIndication", HFILL }},
4544 { &hf_p7_unsupported_extensions,
4545 { "unsupported-extensions", "p7.unsupported_extensions",
4546 FT_UINT32, BASE_DEC, NULL, 0,
4547 NULL, HFILL }},
4548 { &hf_p7_unsupported_extensions_item,
4549 { "unsupported-extensions item", "p7.unsupported_extensions_item",
4550 FT_OID, BASE_NONE, NULL, 0,
4551 "OBJECT_IDENTIFIER", HFILL }},
4552 { &hf_p7_ua_registration_id_unknown,
4553 { "ua-registration-id-unknown", "p7.ua_registration_id_unknown",
4554 FT_BOOLEAN, BASE_NONE, NULL, 0,
4555 "BOOLEAN", HFILL }},
4556 { &hf_p7_service_information,
4557 { "service-information", "p7.service_information",
4558 FT_STRING, BASE_NONE, NULL, 0,
4559 "GeneralString_SIZE_1_ub_service_information_length", HFILL }},
4560 { &hf_p7_ChangeCredentialsAlgorithms_item,
4561 { "ChangeCredentialsAlgorithms item", "p7.ChangeCredentialsAlgorithms_item",
4562 FT_OID, BASE_NONE, NULL, 0,
4563 "OBJECT_IDENTIFIER", HFILL }},
4564 { &hf_p7_indication_only,
4565 { "indication-only", "p7.indication_only_element",
4566 FT_NONE, BASE_NONE, NULL, 0,
4567 NULL, HFILL }},
4568 { &hf_p7_auto_action_log_entry,
4569 { "auto-action-log-entry", "p7.auto_action_log_entry",
4570 FT_UINT32, BASE_DEC, NULL, 0,
4571 "SequenceNumber", HFILL }},
4572 { &hf_p7_unqualified_error,
4573 { "unqualified-error", "p7.unqualified_error",
4574 FT_UINT32, BASE_DEC, VALS(p7_BindProblem_vals), 0,
4575 "BindProblem", HFILL }},
4576 { &hf_p7_qualified_error,
4577 { "qualified-error", "p7.qualified_error_element",
4578 FT_NONE, BASE_NONE, NULL, 0,
4579 NULL, HFILL }},
4580 { &hf_p7_bind_problem,
4581 { "bind-problem", "p7.bind_problem",
4582 FT_UINT32, BASE_DEC, VALS(p7_BindProblem_vals), 0,
4583 "BindProblem", HFILL }},
4584 { &hf_p7_supplementary_information,
4585 { "supplementary-information", "p7.supplementary_information",
4586 FT_STRING, BASE_NONE, NULL, 0,
4587 "GeneralString_SIZE_1_ub_supplementary_info_length", HFILL }},
4588 { &hf_p7_bind_extension_errors,
4589 { "bind-extension-errors", "p7.bind_extension_errors",
4590 FT_UINT32, BASE_DEC, NULL, 0,
4591 NULL, HFILL }},
4592 { &hf_p7_bind_extension_errors_item,
4593 { "bind-extension-errors item", "p7.bind_extension_errors_item",
4594 FT_OID, BASE_NONE, NULL, 0,
4595 "OBJECT_IDENTIFIER", HFILL }},
4596 { &hf_p7_sequence_number_range,
4597 { "sequence-number-range", "p7.sequence_number_range_element",
4598 FT_NONE, BASE_NONE, NULL, 0,
4599 "NumberRange", HFILL }},
4600 { &hf_p7_creation_time_range,
4601 { "creation-time-range", "p7.creation_time_range_element",
4602 FT_NONE, BASE_NONE, NULL, 0,
4603 "TimeRange", HFILL }},
4604 { &hf_p7_from_number,
4605 { "from", "p7.from",
4606 FT_UINT32, BASE_DEC, NULL, 0,
4607 "T_from_number", HFILL }},
4608 { &hf_p7_to_number,
4609 { "to", "p7.to",
4610 FT_UINT32, BASE_DEC, NULL, 0,
4611 "T_to_number", HFILL }},
4612 { &hf_p7_from_time,
4613 { "from", "p7.from",
4614 FT_STRING, BASE_NONE, NULL, 0,
4615 "CreationTime", HFILL }},
4616 { &hf_p7_to_time,
4617 { "to", "p7.to",
4618 FT_STRING, BASE_NONE, NULL, 0,
4619 "CreationTime", HFILL }},
4620 { &hf_p7_filter_item,
4621 { "item", "p7.item",
4622 FT_UINT32, BASE_DEC, VALS(p7_FilterItem_vals), 0,
4623 "FilterItem", HFILL }},
4624 { &hf_p7_and,
4625 { "and", "p7.and",
4626 FT_UINT32, BASE_DEC, NULL, 0,
4627 "SET_OF_Filter", HFILL }},
4628 { &hf_p7_and_item,
4629 { "Filter", "p7.Filter",
4630 FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
4631 NULL, HFILL }},
4632 { &hf_p7_or,
4633 { "or", "p7.or",
4634 FT_UINT32, BASE_DEC, NULL, 0,
4635 "SET_OF_Filter", HFILL }},
4636 { &hf_p7_or_item,
4637 { "Filter", "p7.Filter",
4638 FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
4639 NULL, HFILL }},
4640 { &hf_p7_not,
4641 { "not", "p7.not",
4642 FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
4643 "Filter", HFILL }},
4644 { &hf_p7_equality,
4645 { "equality", "p7.equality_element",
4646 FT_NONE, BASE_NONE, NULL, 0,
4647 "AttributeValueAssertion", HFILL }},
4648 { &hf_p7_substrings,
4649 { "substrings", "p7.substrings_element",
4650 FT_NONE, BASE_NONE, NULL, 0,
4651 NULL, HFILL }},
4652 { &hf_p7_type,
4653 { "type", "p7.type",
4654 FT_OID, BASE_NONE, NULL, 0,
4655 "AttributeType", HFILL }},
4656 { &hf_p7_strings,
4657 { "strings", "p7.strings",
4658 FT_UINT32, BASE_DEC, NULL, 0,
4659 NULL, HFILL }},
4660 { &hf_p7_strings_item,
4661 { "strings item", "p7.strings_item",
4662 FT_UINT32, BASE_DEC, VALS(p7_T_strings_item_vals), 0,
4663 NULL, HFILL }},
4664 { &hf_p7_initial,
4665 { "initial", "p7.initial_element",
4666 FT_NONE, BASE_NONE, NULL, 0,
4667 NULL, HFILL }},
4668 { &hf_p7_any,
4669 { "any", "p7.any_element",
4670 FT_NONE, BASE_NONE, NULL, 0,
4671 NULL, HFILL }},
4672 { &hf_p7_final,
4673 { "final", "p7.final_element",
4674 FT_NONE, BASE_NONE, NULL, 0,
4675 NULL, HFILL }},
4676 { &hf_p7_greater_or_equal,
4677 { "greater-or-equal", "p7.greater_or_equal_element",
4678 FT_NONE, BASE_NONE, NULL, 0,
4679 "AttributeValueAssertion", HFILL }},
4680 { &hf_p7_less_or_equal,
4681 { "less-or-equal", "p7.less_or_equal_element",
4682 FT_NONE, BASE_NONE, NULL, 0,
4683 "AttributeValueAssertion", HFILL }},
4684 { &hf_p7_present,
4685 { "present", "p7.present",
4686 FT_OID, BASE_NONE, NULL, 0,
4687 "AttributeType", HFILL }},
4688 { &hf_p7_approximate_match,
4689 { "approximate-match", "p7.approximate_match_element",
4690 FT_NONE, BASE_NONE, NULL, 0,
4691 "AttributeValueAssertion", HFILL }},
4692 { &hf_p7_other_match,
4693 { "other-match", "p7.other_match_element",
4694 FT_NONE, BASE_NONE, NULL, 0,
4695 "MatchingRuleAssertion", HFILL }},
4696 { &hf_p7_matching_rule,
4697 { "matching-rule", "p7.matching_rule",
4698 FT_OID, BASE_NONE, NULL, 0,
4699 "OBJECT_IDENTIFIER", HFILL }},
4700 { &hf_p7_match_value,
4701 { "match-value", "p7.match_value_element",
4702 FT_NONE, BASE_NONE, NULL, 0,
4703 NULL, HFILL }},
4704 { &hf_p7_attribute_value,
4705 { "attribute-value", "p7.attribute_value_element",
4706 FT_NONE, BASE_NONE, NULL, 0,
4707 NULL, HFILL }},
4708 { &hf_p7_child_entries,
4709 { "child-entries", "p7.child_entries",
4710 FT_BOOLEAN, BASE_NONE, NULL, 0,
4711 "BOOLEAN", HFILL }},
4712 { &hf_p7_range,
4713 { "range", "p7.range",
4714 FT_UINT32, BASE_DEC, VALS(p7_Range_vals), 0,
4715 NULL, HFILL }},
4716 { &hf_p7_filter,
4717 { "filter", "p7.filter",
4718 FT_UINT32, BASE_DEC, VALS(p7_Filter_vals), 0,
4719 NULL, HFILL }},
4720 { &hf_p7_limit,
4721 { "limit", "p7.limit",
4722 FT_UINT32, BASE_DEC, NULL, 0,
4723 "INTEGER_1_ub_messages", HFILL }},
4724 { &hf_p7_override,
4725 { "override", "p7.override",
4726 FT_BYTES, BASE_NONE, NULL, 0,
4727 "OverrideRestrictions", HFILL }},
4728 { &hf_p7_EntryInformationSelection_item,
4729 { "AttributeSelection", "p7.AttributeSelection_element",
4730 FT_NONE, BASE_NONE, NULL, 0,
4731 NULL, HFILL }},
4732 { &hf_p7_from,
4733 { "from", "p7.from",
4734 FT_UINT32, BASE_DEC, NULL, 0,
4735 "INTEGER_1_ub_attribute_values", HFILL }},
4736 { &hf_p7_selection_count,
4737 { "count", "p7.count",
4738 FT_UINT32, BASE_DEC, NULL, 0,
4739 "INTEGER_0_ub_attribute_values", HFILL }},
4740 { &hf_p7_sequence_number,
4741 { "sequence-number", "p7.sequence_number",
4742 FT_UINT32, BASE_DEC, NULL, 0,
4743 "SequenceNumber", HFILL }},
4744 { &hf_p7_attributes,
4745 { "attributes", "p7.attributes",
4746 FT_UINT32, BASE_DEC, NULL, 0,
4747 "SET_SIZE_1_ub_per_entry_OF_Attribute", HFILL }},
4748 { &hf_p7_attributes_item,
4749 { "Attribute", "p7.Attribute_element",
4750 FT_NONE, BASE_NONE, NULL, 0,
4751 NULL, HFILL }},
4752 { &hf_p7_value_count_exceeded,
4753 { "value-count-exceeded", "p7.value_count_exceeded",
4754 FT_UINT32, BASE_DEC, NULL, 0,
4755 "SET_SIZE_1_ub_per_entry_OF_AttributeValueCount", HFILL }},
4756 { &hf_p7_value_count_exceeded_item,
4757 { "AttributeValueCount", "p7.AttributeValueCount_element",
4758 FT_NONE, BASE_NONE, NULL, 0,
4759 NULL, HFILL }},
4760 { &hf_p7_total,
4761 { "total", "p7.total",
4762 FT_INT32, BASE_DEC, NULL, 0,
4763 "INTEGER", HFILL }},
4764 { &hf_p7_object_entry_class,
4765 { "object-entry-class", "p7.object_entry_class",
4766 FT_UINT32, BASE_DEC, VALS(p7_EntryClass_vals), 0,
4767 "EntryClass", HFILL }},
4768 { &hf_p7_disable_auto_modify,
4769 { "disable-auto-modify", "p7.disable_auto_modify",
4770 FT_BOOLEAN, BASE_NONE, NULL, 0,
4771 "BOOLEAN", HFILL }},
4772 { &hf_p7_add_message_group_names,
4773 { "add-message-group-names", "p7.add_message_group_names",
4774 FT_UINT32, BASE_DEC, NULL, 0,
4775 "SET_SIZE_1_ub_message_groups_OF_MessageGroupName", HFILL }},
4776 { &hf_p7_add_message_group_names_item,
4777 { "MessageGroupName", "p7.MessageGroupName",
4778 FT_UINT32, BASE_DEC, NULL, 0,
4779 NULL, HFILL }},
4780 { &hf_p7_ms_submission_extensions,
4781 { "ms-submission-extensions", "p7.ms_submission_extensions",
4782 FT_UINT32, BASE_DEC, NULL, 0,
4783 "MSExtensions", HFILL }},
4784 { &hf_p7_created_entry,
4785 { "created-entry", "p7.created_entry",
4786 FT_UINT32, BASE_DEC, NULL, 0,
4787 "SequenceNumber", HFILL }},
4788 { &hf_p7_ms_submission_result_extensions,
4789 { "ms-submission-result-extensions", "p7.ms_submission_result_extensions",
4790 FT_UINT32, BASE_DEC, NULL, 0,
4791 "MSExtensions", HFILL }},
4792 { &hf_p7_entry_class,
4793 { "entry-class", "p7.entry_class",
4794 FT_UINT32, BASE_DEC, VALS(p7_EntryClass_vals), 0,
4795 "EntryClass", HFILL }},
4796 { &hf_p7_selector,
4797 { "selector", "p7.selector_element",
4798 FT_NONE, BASE_NONE, NULL, 0,
4799 NULL, HFILL }},
4800 { &hf_p7_summary_requests,
4801 { "summary-requests", "p7.summary_requests",
4802 FT_UINT32, BASE_DEC, NULL, 0,
4803 "SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType", HFILL }},
4804 { &hf_p7_summary_requests_item,
4805 { "AttributeType", "p7.AttributeType",
4806 FT_OID, BASE_NONE, NULL, 0,
4807 NULL, HFILL }},
4808 { &hf_p7_summarize_extensions,
4809 { "summarize-extensions", "p7.summarize_extensions",
4810 FT_UINT32, BASE_DEC, NULL, 0,
4811 "MSExtensions", HFILL }},
4812 { &hf_p7_next,
4813 { "next", "p7.next",
4814 FT_UINT32, BASE_DEC, NULL, 0,
4815 "SequenceNumber", HFILL }},
4816 { &hf_p7_count,
4817 { "count", "p7.count",
4818 FT_UINT32, BASE_DEC, NULL, 0,
4819 NULL, HFILL }},
4820 { &hf_p7_span,
4821 { "span", "p7.span_element",
4822 FT_NONE, BASE_NONE, NULL, 0,
4823 NULL, HFILL }},
4824 { &hf_p7_summaries,
4825 { "summaries", "p7.summaries",
4826 FT_UINT32, BASE_DEC, NULL, 0,
4827 "SEQUENCE_SIZE_1_ub_summaries_OF_Summary", HFILL }},
4828 { &hf_p7_summaries_item,
4829 { "Summary", "p7.Summary_element",
4830 FT_NONE, BASE_NONE, NULL, 0,
4831 NULL, HFILL }},
4832 { &hf_p7_summarize_result_extensions,
4833 { "summarize-result-extensions", "p7.summarize_result_extensions",
4834 FT_UINT32, BASE_DEC, NULL, 0,
4835 "MSExtensions", HFILL }},
4836 { &hf_p7_lowest,
4837 { "lowest", "p7.lowest",
4838 FT_UINT32, BASE_DEC, NULL, 0,
4839 "SequenceNumber", HFILL }},
4840 { &hf_p7_highest,
4841 { "highest", "p7.highest",
4842 FT_UINT32, BASE_DEC, NULL, 0,
4843 "SequenceNumber", HFILL }},
4844 { &hf_p7_absent,
4845 { "absent", "p7.absent",
4846 FT_UINT32, BASE_DEC, NULL, 0,
4847 "INTEGER_1_ub_messages", HFILL }},
4848 { &hf_p7_summary_present,
4849 { "present", "p7.present",
4850 FT_UINT32, BASE_DEC, NULL, 0,
4851 "T_summary_present", HFILL }},
4852 { &hf_p7_summary_present_item,
4853 { "present item", "p7.present_item_element",
4854 FT_NONE, BASE_NONE, NULL, 0,
4855 "T_summary_present_item", HFILL }},
4856 { &hf_p7_value,
4857 { "value", "p7.value_element",
4858 FT_NONE, BASE_NONE, NULL, 0,
4859 "SummaryPresentItemValue", HFILL }},
4860 { &hf_p7_summary_count,
4861 { "count", "p7.count",
4862 FT_UINT32, BASE_DEC, NULL, 0,
4863 "INTEGER_1_ub_messages", HFILL }},
4864 { &hf_p7_requested_attributes,
4865 { "requested-attributes", "p7.requested_attributes",
4866 FT_UINT32, BASE_DEC, NULL, 0,
4867 "EntryInformationSelection", HFILL }},
4868 { &hf_p7_list_extensions,
4869 { "list-extensions", "p7.list_extensions",
4870 FT_UINT32, BASE_DEC, NULL, 0,
4871 "MSExtensions", HFILL }},
4872 { &hf_p7_requested,
4873 { "requested", "p7.requested",
4874 FT_UINT32, BASE_DEC, NULL, 0,
4875 "SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation", HFILL }},
4876 { &hf_p7_requested_item,
4877 { "EntryInformation", "p7.EntryInformation_element",
4878 FT_NONE, BASE_NONE, NULL, 0,
4879 NULL, HFILL }},
4880 { &hf_p7_list_result_extensions,
4881 { "list-result-extensions", "p7.list_result_extensions",
4882 FT_UINT32, BASE_DEC, NULL, 0,
4883 "MSExtensions", HFILL }},
4884 { &hf_p7_item,
4885 { "item", "p7.item",
4886 FT_UINT32, BASE_DEC, VALS(p7_T_item_vals), 0,
4887 NULL, HFILL }},
4888 { &hf_p7_search,
4889 { "search", "p7.search_element",
4890 FT_NONE, BASE_NONE, NULL, 0,
4891 "Selector", HFILL }},
4892 { &hf_p7_precise,
4893 { "precise", "p7.precise",
4894 FT_UINT32, BASE_DEC, NULL, 0,
4895 "SequenceNumber", HFILL }},
4896 { &hf_p7_fetch_extensions,
4897 { "fetch-extensions", "p7.fetch_extensions",
4898 FT_UINT32, BASE_DEC, NULL, 0,
4899 "MSExtensions", HFILL }},
4900 { &hf_p7_entry_information,
4901 { "entry-information", "p7.entry_information_element",
4902 FT_NONE, BASE_NONE, NULL, 0,
4903 "EntryInformation", HFILL }},
4904 { &hf_p7_list,
4905 { "list", "p7.list",
4906 FT_UINT32, BASE_DEC, NULL, 0,
4907 "SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
4908 { &hf_p7_list_item,
4909 { "SequenceNumber", "p7.SequenceNumber",
4910 FT_UINT32, BASE_DEC, NULL, 0,
4911 NULL, HFILL }},
4912 { &hf_p7_fetch_result_extensions,
4913 { "fetch-result-extensions", "p7.fetch_result_extensions",
4914 FT_UINT32, BASE_DEC, NULL, 0,
4915 "MSExtensions", HFILL }},
4916 { &hf_p7_items,
4917 { "items", "p7.items",
4918 FT_UINT32, BASE_DEC, VALS(p7_T_items_vals), 0,
4919 NULL, HFILL }},
4920 { &hf_p7_sequence_numbers,
4921 { "sequence-numbers", "p7.sequence_numbers",
4922 FT_UINT32, BASE_DEC, NULL, 0,
4923 "SET_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
4924 { &hf_p7_sequence_numbers_item,
4925 { "SequenceNumber", "p7.SequenceNumber",
4926 FT_UINT32, BASE_DEC, NULL, 0,
4927 NULL, HFILL }},
4928 { &hf_p7_delete_extensions,
4929 { "delete-extensions", "p7.delete_extensions",
4930 FT_UINT32, BASE_DEC, NULL, 0,
4931 "MSExtensions", HFILL }},
4932 { &hf_p7_delete_result_88,
4933 { "delete-result-88", "p7.delete_result_88_element",
4934 FT_NONE, BASE_NONE, NULL, 0,
4935 NULL, HFILL }},
4936 { &hf_p7_delete_result_94,
4937 { "delete-result-94", "p7.delete_result_94_element",
4938 FT_NONE, BASE_NONE, NULL, 0,
4939 "T_delete_result_94", HFILL }},
4940 { &hf_p7_entries_deleted_94,
4941 { "entries-deleted", "p7.entries_deleted",
4942 FT_UINT32, BASE_DEC, NULL, 0,
4943 "SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
4944 { &hf_p7_entries_deleted_94_item,
4945 { "SequenceNumber", "p7.SequenceNumber",
4946 FT_UINT32, BASE_DEC, NULL, 0,
4947 NULL, HFILL }},
4948 { &hf_p7_delete_result_extensions,
4949 { "delete-result-extensions", "p7.delete_result_extensions",
4950 FT_UINT32, BASE_DEC, NULL, 0,
4951 "MSExtensions", HFILL }},
4952 { &hf_p7_auto_action_registrations,
4953 { "auto-action-registrations", "p7.auto_action_registrations",
4954 FT_UINT32, BASE_DEC, NULL, 0,
4955 "SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration", HFILL }},
4956 { &hf_p7_auto_action_registrations_item,
4957 { "AutoActionRegistration", "p7.AutoActionRegistration_element",
4958 FT_NONE, BASE_NONE, NULL, 0,
4959 NULL, HFILL }},
4960 { &hf_p7_auto_action_deregistrations,
4961 { "auto-action-deregistrations", "p7.auto_action_deregistrations",
4962 FT_UINT32, BASE_DEC, NULL, 0,
4963 "SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration", HFILL }},
4964 { &hf_p7_auto_action_deregistrations_item,
4965 { "AutoActionDeregistration", "p7.AutoActionDeregistration_element",
4966 FT_NONE, BASE_NONE, NULL, 0,
4967 NULL, HFILL }},
4968 { &hf_p7_list_attribute_defaults,
4969 { "list-attribute-defaults", "p7.list_attribute_defaults",
4970 FT_UINT32, BASE_DEC, NULL, 0,
4971 "SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
4972 { &hf_p7_list_attribute_defaults_item,
4973 { "AttributeType", "p7.AttributeType",
4974 FT_OID, BASE_NONE, NULL, 0,
4975 NULL, HFILL }},
4976 { &hf_p7_fetch_attribute_defaults,
4977 { "fetch-attribute-defaults", "p7.fetch_attribute_defaults",
4978 FT_UINT32, BASE_DEC, NULL, 0,
4979 "SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
4980 { &hf_p7_fetch_attribute_defaults_item,
4981 { "AttributeType", "p7.AttributeType",
4982 FT_OID, BASE_NONE, NULL, 0,
4983 NULL, HFILL }},
4984 { &hf_p7_change_credentials,
4985 { "change-credentials", "p7.change_credentials_element",
4986 FT_NONE, BASE_NONE, NULL, 0,
4987 NULL, HFILL }},
4988 { &hf_p7_register_old_credentials,
4989 { "old-credentials", "p7.old_credentials",
4990 FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
4991 "Credentials", HFILL }},
4992 { &hf_p7_new_credentials,
4993 { "new-credentials", "p7.new_credentials",
4994 FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
4995 "Credentials", HFILL }},
4996 { &hf_p7_user_security_labels,
4997 { "user-security-labels", "p7.user_security_labels",
4998 FT_UINT32, BASE_DEC, NULL, 0,
4999 "SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel", HFILL }},
5000 { &hf_p7_user_security_labels_item,
5001 { "SecurityLabel", "p7.SecurityLabel_element",
5002 FT_NONE, BASE_NONE, NULL, 0,
5003 NULL, HFILL }},
5004 { &hf_p7_ua_registrations,
5005 { "ua-registrations", "p7.ua_registrations",
5006 FT_UINT32, BASE_DEC, NULL, 0,
5007 "SET_SIZE_1_ub_ua_registrations_OF_UARegistration", HFILL }},
5008 { &hf_p7_ua_registrations_item,
5009 { "UARegistration", "p7.UARegistration_element",
5010 FT_NONE, BASE_NONE, NULL, 0,
5011 NULL, HFILL }},
5012 { &hf_p7_submission_defaults,
5013 { "submission-defaults", "p7.submission_defaults_element",
5014 FT_NONE, BASE_NONE, NULL, 0,
5015 "MSSubmissionOptions", HFILL }},
5016 { &hf_p7_message_group_registrations,
5017 { "message-group-registrations", "p7.message_group_registrations",
5018 FT_UINT32, BASE_DEC, NULL, 0,
5019 "MessageGroupRegistrations", HFILL }},
5020 { &hf_p7_registration_status_request,
5021 { "registration-status-request", "p7.registration_status_request_element",
5022 FT_NONE, BASE_NONE, NULL, 0,
5023 "RegistrationTypes", HFILL }},
5024 { &hf_p7_register_ms_extensions,
5025 { "register-ms-extensions", "p7.register_ms_extensions",
5026 FT_UINT32, BASE_DEC, NULL, 0,
5027 "MSExtensions", HFILL }},
5028 { &hf_p7_ua_list_attribute_defaults,
5029 { "ua-list-attribute-defaults", "p7.ua_list_attribute_defaults",
5030 FT_UINT32, BASE_DEC, NULL, 0,
5031 "SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
5032 { &hf_p7_ua_list_attribute_defaults_item,
5033 { "AttributeType", "p7.AttributeType",
5034 FT_OID, BASE_NONE, NULL, 0,
5035 NULL, HFILL }},
5036 { &hf_p7_ua_fetch_attribute_defaults,
5037 { "ua-fetch-attribute-defaults", "p7.ua_fetch_attribute_defaults",
5038 FT_UINT32, BASE_DEC, NULL, 0,
5039 "SET_SIZE_0_ub_default_registrations_OF_AttributeType", HFILL }},
5040 { &hf_p7_ua_fetch_attribute_defaults_item,
5041 { "AttributeType", "p7.AttributeType",
5042 FT_OID, BASE_NONE, NULL, 0,
5043 NULL, HFILL }},
5044 { &hf_p7_ua_submission_defaults,
5045 { "ua-submission-defaults", "p7.ua_submission_defaults_element",
5046 FT_NONE, BASE_NONE, NULL, 0,
5047 "MSSubmissionOptions", HFILL }},
5048 { &hf_p7_content_specific_defaults,
5049 { "content-specific-defaults", "p7.content_specific_defaults",
5050 FT_UINT32, BASE_DEC, NULL, 0,
5051 "MSExtensions", HFILL }},
5052 { &hf_p7_MessageGroupRegistrations_item,
5053 { "MessageGroupRegistrations item", "p7.MessageGroupRegistrations_item",
5054 FT_UINT32, BASE_DEC, VALS(p7_MessageGroupRegistrations_item_vals), 0,
5055 NULL, HFILL }},
5056 { &hf_p7_register_group,
5057 { "register-group", "p7.register_group_element",
5058 FT_NONE, BASE_NONE, NULL, 0,
5059 "MessageGroupNameAndDescriptor", HFILL }},
5060 { &hf_p7_deregister_group,
5061 { "deregister-group", "p7.deregister_group",
5062 FT_UINT32, BASE_DEC, NULL, 0,
5063 "MessageGroupName", HFILL }},
5064 { &hf_p7_change_descriptors,
5065 { "change-descriptors", "p7.change_descriptors_element",
5066 FT_NONE, BASE_NONE, NULL, 0,
5067 "MessageGroupNameAndDescriptor", HFILL }},
5068 { &hf_p7_message_group_name,
5069 { "message-group-name", "p7.message_group_name",
5070 FT_UINT32, BASE_DEC, NULL, 0,
5071 "MessageGroupName", HFILL }},
5072 { &hf_p7_message_group_descriptor,
5073 { "message-group-descriptor", "p7.message_group_descriptor",
5074 FT_STRING, BASE_NONE, NULL, 0,
5075 "GeneralString_SIZE_1_ub_group_descriptor_length", HFILL }},
5076 { &hf_p7_registrations,
5077 { "registrations", "p7.registrations",
5078 FT_BYTES, BASE_NONE, NULL, 0,
5079 NULL, HFILL }},
5080 { &hf_p7_extended_registrations,
5081 { "extended-registrations", "p7.extended_registrations",
5082 FT_UINT32, BASE_DEC, NULL, 0,
5083 NULL, HFILL }},
5084 { &hf_p7_extended_registrations_item,
5085 { "extended-registrations item", "p7.extended_registrations_item_element",
5086 FT_NONE, BASE_NONE, NULL, 0,
5087 NULL, HFILL }},
5088 { &hf_p7_restrict_message_groups,
5089 { "restrict-message-groups", "p7.restrict_message_groups_element",
5090 FT_NONE, BASE_NONE, NULL, 0,
5091 "MessageGroupsRestriction", HFILL }},
5092 { &hf_p7_parent_group,
5093 { "parent-group", "p7.parent_group",
5094 FT_UINT32, BASE_DEC, NULL, 0,
5095 "MessageGroupName", HFILL }},
5096 { &hf_p7_immediate_descendants_only,
5097 { "immediate-descendants-only", "p7.immediate_descendants_only",
5098 FT_BOOLEAN, BASE_NONE, NULL, 0,
5099 "BOOLEAN", HFILL }},
5100 { &hf_p7_omit_descriptors,
5101 { "omit-descriptors", "p7.omit_descriptors",
5102 FT_BOOLEAN, BASE_NONE, NULL, 0,
5103 "BOOLEAN", HFILL }},
5104 { &hf_p7_algorithm_identifier,
5105 { "algorithm-identifier", "p7.algorithm_identifier",
5106 FT_OID, BASE_NONE, NULL, 0,
5107 "OBJECT_IDENTIFIER", HFILL }},
5108 { &hf_p7_old_credentials,
5109 { "old-credentials", "p7.old_credentials",
5110 FT_UINT32, BASE_DEC, VALS(p1_Credentials_vals), 0,
5111 "InitiatorCredentials", HFILL }},
5112 { &hf_p7_password_delta,
5113 { "password-delta", "p7.password_delta",
5114 FT_BYTES, BASE_NONE, NULL, 0,
5115 "BIT_STRING", HFILL }},
5116 { &hf_p7_no_status_information,
5117 { "no-status-information", "p7.no_status_information_element",
5118 FT_NONE, BASE_NONE, NULL, 0,
5119 NULL, HFILL }},
5120 { &hf_p7_registered_information,
5121 { "registered-information", "p7.registered_information_element",
5122 FT_NONE, BASE_NONE, NULL, 0,
5123 NULL, HFILL }},
5124 { &hf_p7_registered_list_attribute_defaults,
5125 { "list-attribute-defaults", "p7.list_attribute_defaults",
5126 FT_UINT32, BASE_DEC, NULL, 0,
5127 "SET_SIZE_1_ub_default_registrations_OF_AttributeType", HFILL }},
5128 { &hf_p7_registered_list_attribute_defaults_item,
5129 { "AttributeType", "p7.AttributeType",
5130 FT_OID, BASE_NONE, NULL, 0,
5131 NULL, HFILL }},
5132 { &hf_p7_registered_fetch_attribute_defaults,
5133 { "fetch-attribute-defaults", "p7.fetch_attribute_defaults",
5134 FT_UINT32, BASE_DEC, NULL, 0,
5135 "SET_SIZE_1_ub_default_registrations_OF_AttributeType", HFILL }},
5136 { &hf_p7_registered_fetch_attribute_defaults_item,
5137 { "AttributeType", "p7.AttributeType",
5138 FT_OID, BASE_NONE, NULL, 0,
5139 NULL, HFILL }},
5140 { &hf_p7_registered_message_group_registrations,
5141 { "message-group-registrations", "p7.message_group_registrations",
5142 FT_UINT32, BASE_DEC, NULL, 0,
5143 "SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor", HFILL }},
5144 { &hf_p7_registered_message_group_registrations_item,
5145 { "MessageGroupNameAndDescriptor", "p7.MessageGroupNameAndDescriptor_element",
5146 FT_NONE, BASE_NONE, NULL, 0,
5147 NULL, HFILL }},
5148 { &hf_p7_register_ms_result_extensions,
5149 { "register-ms-result-extensions", "p7.register_ms_result_extensions",
5150 FT_UINT32, BASE_DEC, NULL, 0,
5151 "MSExtensions", HFILL }},
5152 { &hf_p7_alert_registration_identifier,
5153 { "alert-registration-identifier", "p7.alert_registration_identifier",
5154 FT_UINT32, BASE_DEC, NULL, 0,
5155 "INTEGER_1_ub_auto_actions", HFILL }},
5156 { &hf_p7_new_entry,
5157 { "new-entry", "p7.new_entry_element",
5158 FT_NONE, BASE_NONE, NULL, 0,
5159 "EntryInformation", HFILL }},
5160 { &hf_p7_entries,
5161 { "entries", "p7.entries",
5162 FT_UINT32, BASE_DEC, VALS(p7_T_entries_vals), 0,
5163 NULL, HFILL }},
5164 { &hf_p7_specific_entries,
5165 { "specific-entries", "p7.specific_entries",
5166 FT_UINT32, BASE_DEC, NULL, 0,
5167 "SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
5168 { &hf_p7_specific_entries_item,
5169 { "SequenceNumber", "p7.SequenceNumber",
5170 FT_UINT32, BASE_DEC, NULL, 0,
5171 NULL, HFILL }},
5172 { &hf_p7_modifications,
5173 { "modifications", "p7.modifications",
5174 FT_UINT32, BASE_DEC, NULL, 0,
5175 "SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification", HFILL }},
5176 { &hf_p7_modifications_item,
5177 { "EntryModification", "p7.EntryModification_element",
5178 FT_NONE, BASE_NONE, NULL, 0,
5179 NULL, HFILL }},
5180 { &hf_p7_modify_extensions,
5181 { "modify-extensions", "p7.modify_extensions",
5182 FT_UINT32, BASE_DEC, NULL, 0,
5183 "MSExtensions", HFILL }},
5184 { &hf_p7_strict,
5185 { "strict", "p7.strict",
5186 FT_BOOLEAN, BASE_NONE, NULL, 0,
5187 "BOOLEAN", HFILL }},
5188 { &hf_p7_modification,
5189 { "modification", "p7.modification",
5190 FT_UINT32, BASE_DEC, VALS(p7_T_modification_vals), 0,
5191 NULL, HFILL }},
5192 { &hf_p7_add_attribute,
5193 { "add-attribute", "p7.add_attribute_element",
5194 FT_NONE, BASE_NONE, NULL, 0,
5195 "Attribute", HFILL }},
5196 { &hf_p7_remove_attribute,
5197 { "remove-attribute", "p7.remove_attribute",
5198 FT_OID, BASE_NONE, NULL, 0,
5199 "AttributeType", HFILL }},
5200 { &hf_p7_add_values,
5201 { "add-values", "p7.add_values_element",
5202 FT_NONE, BASE_NONE, NULL, 0,
5203 "OrderedAttribute", HFILL }},
5204 { &hf_p7_remove_values,
5205 { "remove-values", "p7.remove_values_element",
5206 FT_NONE, BASE_NONE, NULL, 0,
5207 "OrderedAttribute", HFILL }},
5208 { &hf_p7_ordered_attribute_values,
5209 { "attribute-values", "p7.attribute_values",
5210 FT_UINT32, BASE_DEC, NULL, 0,
5211 "OrderedAttributeValues", HFILL }},
5212 { &hf_p7_ordered_attribute_values_item,
5213 { "attribute-values item", "p7.attribute_values_item_element",
5214 FT_NONE, BASE_NONE, NULL, 0,
5215 "OrderedAttributeItem", HFILL }},
5216 { &hf_p7_ordered_attribute_value,
5217 { "value", "p7.value_element",
5218 FT_NONE, BASE_NONE, NULL, 0,
5219 "OrderedAttributeValue", HFILL }},
5220 { &hf_p7_ordered_position,
5221 { "position", "p7.position",
5222 FT_UINT32, BASE_DEC, NULL, 0,
5223 "INTEGER_1_ub_attribute_values", HFILL }},
5224 { &hf_p7_entries_modified,
5225 { "entries-modified", "p7.entries_modified",
5226 FT_UINT32, BASE_DEC, NULL, 0,
5227 "SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
5228 { &hf_p7_entries_modified_item,
5229 { "SequenceNumber", "p7.SequenceNumber",
5230 FT_UINT32, BASE_DEC, NULL, 0,
5231 NULL, HFILL }},
5232 { &hf_p7_modify_result_extensions,
5233 { "modify-result-extensions", "p7.modify_result_extensions",
5234 FT_UINT32, BASE_DEC, NULL, 0,
5235 "MSExtensions", HFILL }},
5236 { &hf_p7_envelope,
5237 { "envelope", "p7.envelope_element",
5238 FT_NONE, BASE_NONE, NULL, 0,
5239 "MessageSubmissionEnvelope", HFILL }},
5240 { &hf_p7_content,
5241 { "content", "p7.content",
5242 FT_BYTES, BASE_NONE, NULL, 0,
5243 NULL, HFILL }},
5244 { &hf_p7_submission_options,
5245 { "submission-options", "p7.submission_options_element",
5246 FT_NONE, BASE_NONE, NULL, 0,
5247 "MSSubmissionOptions", HFILL }},
5248 { &hf_p7_mts_result,
5249 { "mts-result", "p7.mts_result_element",
5250 FT_NONE, BASE_NONE, NULL, 0,
5251 NULL, HFILL }},
5252 { &hf_p7_message_submission_identifier,
5253 { "message-submission-identifier", "p7.message_submission_identifier_element",
5254 FT_NONE, BASE_NONE, NULL, 0,
5255 "MessageSubmissionIdentifier", HFILL }},
5256 { &hf_p7_message_submission_time,
5257 { "message-submission-time", "p7.message_submission_time",
5258 FT_STRING, BASE_NONE, NULL, 0,
5259 "MessageSubmissionTime", HFILL }},
5260 { &hf_p7_content_identifier,
5261 { "content-identifier", "p7.content_identifier",
5262 FT_STRING, BASE_NONE, NULL, 0,
5263 "ContentIdentifier", HFILL }},
5264 { &hf_p7_extensions,
5265 { "extensions", "p7.extensions",
5266 FT_UINT32, BASE_DEC, NULL, 0,
5267 "SET_OF_ExtensionField", HFILL }},
5268 { &hf_p7_extensions_item,
5269 { "ExtensionField", "p7.ExtensionField_element",
5270 FT_NONE, BASE_NONE, NULL, 0,
5271 NULL, HFILL }},
5272 { &hf_p7_ms_message_result,
5273 { "ms-message-result", "p7.ms_message_result_element",
5274 FT_NONE, BASE_NONE, NULL, 0,
5275 "CommonSubmissionResults", HFILL }},
5276 { &hf_p7_store_draft_result,
5277 { "store-draft-result", "p7.store_draft_result_element",
5278 FT_NONE, BASE_NONE, NULL, 0,
5279 "CommonSubmissionResults", HFILL }},
5280 { &hf_p7_originator_name,
5281 { "originator-name", "p7.originator_name_element",
5282 FT_NONE, BASE_NONE, NULL, 0,
5283 "OriginatorName", HFILL }},
5284 { &hf_p7_original_encoded_information_types,
5285 { "original-encoded-information-types", "p7.original_encoded_information_types_element",
5286 FT_NONE, BASE_NONE, NULL, 0,
5287 "OriginalEncodedInformationTypes", HFILL }},
5288 { &hf_p7_content_type,
5289 { "content-type", "p7.content_type",
5290 FT_UINT32, BASE_DEC, VALS(p1_ContentType_vals), 0,
5291 "ContentType", HFILL }},
5292 { &hf_p7_content_length,
5293 { "content-length", "p7.content_length",
5294 FT_UINT32, BASE_DEC, NULL, 0,
5295 "ContentLength", HFILL }},
5296 { &hf_p7_per_message_indicators,
5297 { "per-message-indicators", "p7.per_message_indicators",
5298 FT_BYTES, BASE_NONE, NULL, 0,
5299 "PerMessageIndicators", HFILL }},
5300 { &hf_p7_per_recipient_fields,
5301 { "per-recipient-fields", "p7.per_recipient_fields",
5302 FT_UINT32, BASE_DEC, NULL, 0,
5303 "SEQUENCE_OF_PerRecipientProbeSubmissionFields", HFILL }},
5304 { &hf_p7_per_recipient_fields_item,
5305 { "PerRecipientProbeSubmissionFields", "p7.PerRecipientProbeSubmissionFields_element",
5306 FT_NONE, BASE_NONE, NULL, 0,
5307 NULL, HFILL }},
5308 { &hf_p7_probe_submission_identifier,
5309 { "probe-submission-identifier", "p7.probe_submission_identifier_element",
5310 FT_NONE, BASE_NONE, NULL, 0,
5311 "ProbeSubmissionIdentifier", HFILL }},
5312 { &hf_p7_probe_submission_time,
5313 { "probe-submission-time", "p7.probe_submission_time",
5314 FT_STRING, BASE_NONE, NULL, 0,
5315 "ProbeSubmissionTime", HFILL }},
5316 { &hf_p7_ms_probe_result,
5317 { "ms-probe-result", "p7.ms_probe_result_element",
5318 FT_NONE, BASE_NONE, NULL, 0,
5319 "CommonSubmissionResults", HFILL }},
5320 { &hf_p7_attribute_problems,
5321 { "problems", "p7.problems",
5322 FT_UINT32, BASE_DEC, NULL, 0,
5323 "AttributeProblems", HFILL }},
5324 { &hf_p7_attribute_problem_item,
5325 { "problems item", "p7.problems_item_element",
5326 FT_NONE, BASE_NONE, NULL, 0,
5327 "AttributeProblemItem", HFILL }},
5328 { &hf_p7_attribute_problem,
5329 { "problem", "p7.problem",
5330 FT_UINT32, BASE_DEC, VALS(p7_AttributeProblem_vals), 0,
5331 "AttributeProblem", HFILL }},
5332 { &hf_p7_attr_value,
5333 { "value", "p7.value_element",
5334 FT_NONE, BASE_NONE, NULL, 0,
5335 "T_attr_value", HFILL }},
5336 { &hf_p7_auto_action_request_problems,
5337 { "problems", "p7.problems",
5338 FT_UINT32, BASE_DEC, NULL, 0,
5339 "AutoActionRequestProblems", HFILL }},
5340 { &hf_p7_auto_action_request_problem_item,
5341 { "problems item", "p7.problems_item_element",
5342 FT_NONE, BASE_NONE, NULL, 0,
5343 "AutoActionRequestProblemItem", HFILL }},
5344 { &hf_p7_auto_action_request_problem,
5345 { "problem", "p7.problem",
5346 FT_UINT32, BASE_DEC, VALS(p7_AutoActionRequestProblem_vals), 0,
5347 "AutoActionRequestProblem", HFILL }},
5348 { &hf_p7_delete_problems,
5349 { "problems", "p7.problems",
5350 FT_UINT32, BASE_DEC, NULL, 0,
5351 "DeleteProblems", HFILL }},
5352 { &hf_p7_delete_problem_item,
5353 { "problems item", "p7.problems_item_element",
5354 FT_NONE, BASE_NONE, NULL, 0,
5355 "DeleteProblemItem", HFILL }},
5356 { &hf_p7_delete_problem,
5357 { "problem", "p7.problem",
5358 FT_UINT32, BASE_DEC, VALS(p7_DeleteProblem_vals), 0,
5359 "DeleteProblem", HFILL }},
5360 { &hf_p7_entries_deleted,
5361 { "entries-deleted", "p7.entries_deleted",
5362 FT_UINT32, BASE_DEC, NULL, 0,
5363 "SET_SIZE_1_ub_messages_OF_SequenceNumber", HFILL }},
5364 { &hf_p7_entries_deleted_item,
5365 { "SequenceNumber", "p7.SequenceNumber",
5366 FT_UINT32, BASE_DEC, NULL, 0,
5367 NULL, HFILL }},
5368 { &hf_p7_fetch_restriction_problems,
5369 { "problems", "p7.problems",
5370 FT_UINT32, BASE_DEC, NULL, 0,
5371 "FetchRestrictionProblems", HFILL }},
5372 { &hf_p7_fetch_restriction_problem_item,
5373 { "problems item", "p7.problems_item_element",
5374 FT_NONE, BASE_NONE, NULL, 0,
5375 "FetchRestrictionProblemItem", HFILL }},
5376 { &hf_p7_fetch_restriction_problem,
5377 { "problem", "p7.problem",
5378 FT_UINT32, BASE_DEC, VALS(p7_FetchRestrictionProblem_vals), 0,
5379 "FetchRestrictionProblem", HFILL }},
5380 { &hf_p7_restriction,
5381 { "restriction", "p7.restriction",
5382 FT_UINT32, BASE_DEC, VALS(p7_T_restriction_vals), 0,
5383 NULL, HFILL }},
5384 { &hf_p7_extended_content_type,
5385 { "content-type", "p7.content_type",
5386 FT_OID, BASE_NONE, NULL, 0,
5387 "OBJECT_IDENTIFIER", HFILL }},
5388 { &hf_p7_eit,
5389 { "eit", "p7.eit",
5390 FT_UINT32, BASE_DEC, NULL, 0,
5391 "MS_EITs", HFILL }},
5392 { &hf_p7_attribute_length,
5393 { "attribute-length", "p7.attribute_length",
5394 FT_INT32, BASE_DEC, NULL, 0,
5395 "INTEGER", HFILL }},
5396 { &hf_p7_range_problem,
5397 { "problem", "p7.problem",
5398 FT_UINT32, BASE_DEC, VALS(p7_RangeProblem_vals), 0,
5399 "RangeProblem", HFILL }},
5400 { &hf_p7_sequence_number_problems,
5401 { "problems", "p7.problems",
5402 FT_UINT32, BASE_DEC, NULL, 0,
5403 "SequenceNumberProblems", HFILL }},
5404 { &hf_p7_sequence_number_problem_item,
5405 { "problems item", "p7.problems_item_element",
5406 FT_NONE, BASE_NONE, NULL, 0,
5407 "SequenceNumberProblemItem", HFILL }},
5408 { &hf_p7_sequence_number_problem,
5409 { "problem", "p7.problem",
5410 FT_UINT32, BASE_DEC, VALS(p7_SequenceNumberProblem_vals), 0,
5411 "SequenceNumberProblem", HFILL }},
5412 { &hf_p7_service_problem,
5413 { "problem", "p7.problem",
5414 FT_UINT32, BASE_DEC, VALS(p7_ServiceProblem_vals), 0,
5415 "ServiceProblem", HFILL }},
5416 { &hf_p7_message_group_problem,
5417 { "problem", "p7.problem",
5418 FT_UINT32, BASE_DEC, VALS(p7_MessageGroupProblem_vals), 0,
5419 "MessageGroupProblem", HFILL }},
5420 { &hf_p7_name,
5421 { "name", "p7.name",
5422 FT_UINT32, BASE_DEC, NULL, 0,
5423 "MessageGroupName", HFILL }},
5424 { &hf_p7_ms_extension_problem,
5425 { "ms-extension-problem", "p7.ms_extension_problem_element",
5426 FT_NONE, BASE_NONE, NULL, 0,
5427 "MSExtensionItem", HFILL }},
5428 { &hf_p7_unknown_ms_extension,
5429 { "unknown-ms-extension", "p7.unknown_ms_extension",
5430 FT_OID, BASE_NONE, NULL, 0,
5431 "OBJECT_IDENTIFIER", HFILL }},
5432 { &hf_p7_register_ms_problem,
5433 { "problem", "p7.problem",
5434 FT_UINT32, BASE_DEC, VALS(p7_RegistrationProblem_vals), 0,
5435 "RegistrationProblem", HFILL }},
5436 { &hf_p7_registration_type,
5437 { "registration-type", "p7.registration_type_element",
5438 FT_NONE, BASE_NONE, NULL, 0,
5439 "RegistrationTypes", HFILL }},
5440 { &hf_p7_failing_entry,
5441 { "failing-entry", "p7.failing_entry",
5442 FT_UINT32, BASE_DEC, NULL, 0,
5443 "SequenceNumber", HFILL }},
5444 { &hf_p7_modification_number,
5445 { "modification-number", "p7.modification_number",
5446 FT_INT32, BASE_DEC, NULL, 0,
5447 "INTEGER", HFILL }},
5448 { &hf_p7_modify_problem,
5449 { "problem", "p7.problem",
5450 FT_UINT32, BASE_DEC, VALS(p7_ModifyProblem_vals), 0,
5451 "ModifyProblem", HFILL }},
5452 { &hf_p7_entry_class_problem,
5453 { "problem", "p7.problem",
5454 FT_BYTES, BASE_NONE, NULL, 0,
5455 "T_entry_class_problem", HFILL }},
5456 { &hf_p7_no_correlated_reports,
5457 { "no-correlated-reports", "p7.no_correlated_reports_element",
5458 FT_NONE, BASE_NONE, NULL, 0,
5459 NULL, HFILL }},
5460 { &hf_p7_location,
5461 { "location", "p7.location",
5462 FT_UINT32, BASE_DEC, NULL, 0,
5463 "SEQUENCE_OF_PerRecipientReport", HFILL }},
5464 { &hf_p7_location_item,
5465 { "PerRecipientReport", "p7.PerRecipientReport_element",
5466 FT_NONE, BASE_NONE, NULL, 0,
5467 NULL, HFILL }},
5468 { &hf_p7_report_entry,
5469 { "report-entry", "p7.report_entry",
5470 FT_UINT32, BASE_DEC, NULL, 0,
5471 "SequenceNumber", HFILL }},
5472 { &hf_p7_position,
5473 { "position", "p7.position",
5474 FT_UINT32, BASE_DEC, NULL, 0,
5475 "INTEGER_1_ub_recipients", HFILL }},
5476 { &hf_p7_submission_control_violated,
5477 { "submission-control-violated", "p7.submission_control_violated_element",
5478 FT_NONE, BASE_NONE, NULL, 0,
5479 NULL, HFILL }},
5480 { &hf_p7_originator_invalid,
5481 { "originator-invalid", "p7.originator_invalid_element",
5482 FT_NONE, BASE_NONE, NULL, 0,
5483 NULL, HFILL }},
5484 { &hf_p7_recipient_improperly_specified,
5485 { "recipient-improperly-specified", "p7.recipient_improperly_specified",
5486 FT_UINT32, BASE_DEC, NULL, 0,
5487 "ImproperlySpecifiedRecipients", HFILL }},
5488 { &hf_p7_element_of_service_not_subscribed,
5489 { "element-of-service-not-subscribed", "p7.element_of_service_not_subscribed_element",
5490 FT_NONE, BASE_NONE, NULL, 0,
5491 NULL, HFILL }},
5492 { &hf_p7_inconsistent_request,
5493 { "inconsistent-request", "p7.inconsistent_request_element",
5494 FT_NONE, BASE_NONE, NULL, 0,
5495 NULL, HFILL }},
5496 { &hf_p7_security_error,
5497 { "security-error", "p7.security_error",
5498 FT_UINT32, BASE_DEC, VALS(p1_SecurityProblem_vals), 0,
5499 "SecurityProblem", HFILL }},
5500 { &hf_p7_unsupported_critical_function,
5501 { "unsupported-critical-function", "p7.unsupported_critical_function_element",
5502 FT_NONE, BASE_NONE, NULL, 0,
5503 NULL, HFILL }},
5504 { &hf_p7_remote_bind_error,
5505 { "remote-bind-error", "p7.remote_bind_error_element",
5506 FT_NONE, BASE_NONE, NULL, 0,
5507 NULL, HFILL }},
5508 { &hf_p7_service_error,
5509 { "service-error", "p7.service_error_element",
5510 FT_NONE, BASE_NONE, NULL, 0,
5511 "ServiceErrorParameter", HFILL }},
5512 { &hf_p7_message_group_error,
5513 { "message-group-error", "p7.message_group_error_element",
5514 FT_NONE, BASE_NONE, NULL, 0,
5515 "MessageGroupErrorParameter", HFILL }},
5516 { &hf_p7_ms_extension_error,
5517 { "ms-extension-error", "p7.ms_extension_error",
5518 FT_UINT32, BASE_DEC, VALS(p7_MSExtensionErrorParameter_vals), 0,
5519 "MSExtensionErrorParameter", HFILL }},
5520 { &hf_p7_entry_class_error,
5521 { "entry-class-error", "p7.entry_class_error_element",
5522 FT_NONE, BASE_NONE, NULL, 0,
5523 "EntryClassErrorParameter", HFILL }},
5524 { &hf_p7_content_integrity_check,
5525 { "content-integrity-check", "p7.content_integrity_check",
5526 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5527 "SignatureStatus", HFILL }},
5528 { &hf_p7_message_origin_authentication_check,
5529 { "message-origin-authentication-check", "p7.message_origin_authentication_check",
5530 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5531 "SignatureStatus", HFILL }},
5532 { &hf_p7_message_token,
5533 { "message-token", "p7.message_token",
5534 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5535 "SignatureStatus", HFILL }},
5536 { &hf_p7_report_origin_authentication_check,
5537 { "report-origin-authentication-check", "p7.report_origin_authentication_check",
5538 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5539 "SignatureStatus", HFILL }},
5540 { &hf_p7_proof_of_delivery,
5541 { "proof-of-delivery", "p7.proof_of_delivery",
5542 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5543 "SignatureStatus", HFILL }},
5544 { &hf_p7_proof_of_submission,
5545 { "proof-of-submission", "p7.proof_of_submission",
5546 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5547 "SignatureStatus", HFILL }},
5548 { &hf_p7_rtorq_apdu,
5549 { "rtorq-apdu", "p7.rtorq_apdu_element",
5550 FT_NONE, BASE_NONE, NULL, 0,
5551 "RTORQapdu", HFILL }},
5552 { &hf_p7_rtoac_apdu,
5553 { "rtoac-apdu", "p7.rtoac_apdu_element",
5554 FT_NONE, BASE_NONE, NULL, 0,
5555 "RTOACapdu", HFILL }},
5556 { &hf_p7_rtorj_apdu,
5557 { "rtorj-apdu", "p7.rtorj_apdu_element",
5558 FT_NONE, BASE_NONE, NULL, 0,
5559 "RTORJapdu", HFILL }},
5560 { &hf_p7_rttp_apdu,
5561 { "rttp-apdu", "p7.rttp_apdu",
5562 FT_INT32, BASE_DEC, NULL, 0,
5563 "RTTPapdu", HFILL }},
5564 { &hf_p7_rttr_apdu,
5565 { "rttr-apdu", "p7.rttr_apdu",
5566 FT_BYTES, BASE_NONE, NULL, 0,
5567 "RTTRapdu", HFILL }},
5568 { &hf_p7_rtab_apdu,
5569 { "rtab-apdu", "p7.rtab_apdu_element",
5570 FT_NONE, BASE_NONE, NULL, 0,
5571 "RTABapdu", HFILL }},
5572 { &hf_p7_abortReason,
5573 { "abortReason", "p7.abortReason",
5574 FT_INT32, BASE_DEC, VALS(p7_AbortReason_vals), 0,
5575 NULL, HFILL }},
5576 { &hf_p7_reflectedParameter,
5577 { "reflectedParameter", "p7.reflectedParameter",
5578 FT_BYTES, BASE_NONE, NULL, 0,
5579 "BIT_STRING", HFILL }},
5580 { &hf_p7_userdataAB,
5581 { "userdataAB", "p7.userdataAB_element",
5582 FT_NONE, BASE_NONE, NULL, 0,
5583 NULL, HFILL }},
5584 { &hf_p7_OverrideRestrictions_override_content_types_restriction,
5585 { "override-content-types-restriction", "p7.override-content-types-restriction",
5586 FT_BOOLEAN, 8, NULL, 0x80,
5587 NULL, HFILL }},
5588 { &hf_p7_OverrideRestrictions_override_EITs_restriction,
5589 { "override-EITs-restriction", "p7.override-EITs-restriction",
5590 FT_BOOLEAN, 8, NULL, 0x40,
5591 NULL, HFILL }},
5592 { &hf_p7_OverrideRestrictions_override_attribute_length_restriction,
5593 { "override-attribute-length-restriction", "p7.override-attribute-length-restriction",
5594 FT_BOOLEAN, 8, NULL, 0x20,
5595 NULL, HFILL }},
5596 { &hf_p7_T_registrations_auto_action_registrations,
5597 { "auto-action-registrations", "p7.auto-action-registrations",
5598 FT_BOOLEAN, 8, NULL, 0x80,
5599 NULL, HFILL }},
5600 { &hf_p7_T_registrations_list_attribute_defaults,
5601 { "list-attribute-defaults", "p7.list-attribute-defaults",
5602 FT_BOOLEAN, 8, NULL, 0x40,
5603 NULL, HFILL }},
5604 { &hf_p7_T_registrations_fetch_attribute_defaults,
5605 { "fetch-attribute-defaults", "p7.fetch-attribute-defaults",
5606 FT_BOOLEAN, 8, NULL, 0x20,
5607 NULL, HFILL }},
5608 { &hf_p7_T_registrations_ua_registrations,
5609 { "ua-registrations", "p7.ua-registrations",
5610 FT_BOOLEAN, 8, NULL, 0x10,
5611 NULL, HFILL }},
5612 { &hf_p7_T_registrations_submission_defaults,
5613 { "submission-defaults", "p7.submission-defaults",
5614 FT_BOOLEAN, 8, NULL, 0x08,
5615 NULL, HFILL }},
5616 { &hf_p7_T_registrations_message_group_registrations,
5617 { "message-group-registrations", "p7.message-group-registrations",
5618 FT_BOOLEAN, 8, NULL, 0x04,
5619 NULL, HFILL }},
5620 { &hf_p7_T_entry_class_problem_unsupported_entry_class,
5621 { "unsupported-entry-class", "p7.unsupported-entry-class",
5622 FT_BOOLEAN, 8, NULL, 0x80,
5623 NULL, HFILL }},
5624 { &hf_p7_T_entry_class_problem_entry_class_not_subscribed,
5625 { "entry-class-not-subscribed", "p7.entry-class-not-subscribed",
5626 FT_BOOLEAN, 8, NULL, 0x40,
5627 NULL, HFILL }},
5628 { &hf_p7_T_entry_class_problem_inappropriate_entry_class,
5629 { "inappropriate-entry-class", "p7.inappropriate-entry-class",
5630 FT_BOOLEAN, 8, NULL, 0x20,
5631 NULL, HFILL }},
5633 /*--- End of included file: packet-p7-hfarr.c ---*/
5634 #line 89 "../../asn1/p7/packet-p7-template.c"
5637 /* List of subtrees */
5638 static gint *ett[] = {
5639 &ett_p7,
5641 /*--- Included file: packet-p7-ettarr.c ---*/
5642 #line 1 "../../asn1/p7/packet-p7-ettarr.c"
5643 &ett_p7_Attribute,
5644 &ett_p7_AttributeValues,
5645 &ett_p7_AutoActionRegistration,
5646 &ett_p7_AutoActionError,
5647 &ett_p7_MSExtensions,
5648 &ett_p7_MessageGroupName,
5649 &ett_p7_MSBindArgument,
5650 &ett_p7_Restrictions,
5651 &ett_p7_T_allowed_content_types,
5652 &ett_p7_MS_EITs,
5653 &ett_p7_MSBindResult,
5654 &ett_p7_SET_SIZE_1_ub_auto_actions_OF_AutoActionType,
5655 &ett_p7_SET_SIZE_1_ub_attributes_supported_OF_AttributeType,
5656 &ett_p7_T_content_types_supported,
5657 &ett_p7_SET_SIZE_1_ub_entry_classes_OF_EntryClass,
5658 &ett_p7_T_matching_rules_supported,
5659 &ett_p7_T_unsupported_extensions,
5660 &ett_p7_ChangeCredentialsAlgorithms,
5661 &ett_p7_AutoActionErrorIndication,
5662 &ett_p7_PAR_ms_bind_error,
5663 &ett_p7_T_qualified_error,
5664 &ett_p7_T_bind_extension_errors,
5665 &ett_p7_Range,
5666 &ett_p7_NumberRange,
5667 &ett_p7_TimeRange,
5668 &ett_p7_Filter,
5669 &ett_p7_SET_OF_Filter,
5670 &ett_p7_FilterItem,
5671 &ett_p7_T_substrings,
5672 &ett_p7_T_strings,
5673 &ett_p7_T_strings_item,
5674 &ett_p7_MatchingRuleAssertion,
5675 &ett_p7_AttributeValueAssertion,
5676 &ett_p7_Selector,
5677 &ett_p7_OverrideRestrictions,
5678 &ett_p7_EntryInformationSelection,
5679 &ett_p7_AttributeSelection,
5680 &ett_p7_EntryInformation,
5681 &ett_p7_SET_SIZE_1_ub_per_entry_OF_Attribute,
5682 &ett_p7_SET_SIZE_1_ub_per_entry_OF_AttributeValueCount,
5683 &ett_p7_AttributeValueCount,
5684 &ett_p7_MSSubmissionOptions,
5685 &ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupName,
5686 &ett_p7_CommonSubmissionResults,
5687 &ett_p7_SummarizeArgument,
5688 &ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_AttributeType,
5689 &ett_p7_SummarizeResult,
5690 &ett_p7_SEQUENCE_SIZE_1_ub_summaries_OF_Summary,
5691 &ett_p7_Span,
5692 &ett_p7_Summary,
5693 &ett_p7_T_summary_present,
5694 &ett_p7_T_summary_present_item,
5695 &ett_p7_ListArgument,
5696 &ett_p7_ListResult,
5697 &ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_EntryInformation,
5698 &ett_p7_FetchArgument,
5699 &ett_p7_T_item,
5700 &ett_p7_FetchResult,
5701 &ett_p7_SEQUENCE_SIZE_1_ub_messages_OF_SequenceNumber,
5702 &ett_p7_DeleteArgument,
5703 &ett_p7_T_items,
5704 &ett_p7_SET_SIZE_1_ub_messages_OF_SequenceNumber,
5705 &ett_p7_DeleteResult,
5706 &ett_p7_T_delete_result_94,
5707 &ett_p7_Register_MSArgument,
5708 &ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionRegistration,
5709 &ett_p7_SET_SIZE_1_ub_auto_registrations_OF_AutoActionDeregistration,
5710 &ett_p7_SET_SIZE_0_ub_default_registrations_OF_AttributeType,
5711 &ett_p7_T_change_credentials,
5712 &ett_p7_SET_SIZE_1_ub_labels_and_redirections_OF_SecurityLabel,
5713 &ett_p7_SET_SIZE_1_ub_ua_registrations_OF_UARegistration,
5714 &ett_p7_AutoActionDeregistration,
5715 &ett_p7_UARegistration,
5716 &ett_p7_MessageGroupRegistrations,
5717 &ett_p7_MessageGroupRegistrations_item,
5718 &ett_p7_MessageGroupNameAndDescriptor,
5719 &ett_p7_RegistrationTypes,
5720 &ett_p7_T_registrations,
5721 &ett_p7_T_extended_registrations,
5722 &ett_p7_MessageGroupsRestriction,
5723 &ett_p7_ProtectedChangeCredentials,
5724 &ett_p7_Register_MSResult,
5725 &ett_p7_T_registered_information,
5726 &ett_p7_SET_SIZE_1_ub_default_registrations_OF_AttributeType,
5727 &ett_p7_SET_SIZE_1_ub_message_groups_OF_MessageGroupNameAndDescriptor,
5728 &ett_p7_AlertArgument,
5729 &ett_p7_ModifyArgument,
5730 &ett_p7_T_entries,
5731 &ett_p7_SEQUENCE_SIZE_1_ub_modifications_OF_EntryModification,
5732 &ett_p7_EntryModification,
5733 &ett_p7_T_modification,
5734 &ett_p7_OrderedAttribute,
5735 &ett_p7_OrderedAttributeValues,
5736 &ett_p7_OrderedAttributeItem,
5737 &ett_p7_ModifyResult,
5738 &ett_p7_MSMessageSubmissionArgument,
5739 &ett_p7_MSMessageSubmissionResult,
5740 &ett_p7_T_mts_result,
5741 &ett_p7_SET_OF_ExtensionField,
5742 &ett_p7_MSProbeSubmissionArgument,
5743 &ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
5744 &ett_p7_MSProbeSubmissionResult,
5745 &ett_p7_PAR_attribute_error,
5746 &ett_p7_AttributeProblems,
5747 &ett_p7_AttributeProblemItem,
5748 &ett_p7_PAR_auto_action_request_error,
5749 &ett_p7_AutoActionRequestProblems,
5750 &ett_p7_AutoActionRequestProblemItem,
5751 &ett_p7_PAR_delete_error,
5752 &ett_p7_DeleteProblems,
5753 &ett_p7_DeleteProblemItem,
5754 &ett_p7_PAR_fetch_restriction_error,
5755 &ett_p7_FetchRestrictionProblems,
5756 &ett_p7_FetchRestrictionProblemItem,
5757 &ett_p7_T_restriction,
5758 &ett_p7_PAR_range_error,
5759 &ett_p7_PAR_sequence_number_error,
5760 &ett_p7_SequenceNumberProblems,
5761 &ett_p7_SequenceNumberProblemItem,
5762 &ett_p7_ServiceErrorParameter,
5763 &ett_p7_MessageGroupErrorParameter,
5764 &ett_p7_MSExtensionErrorParameter,
5765 &ett_p7_PAR_register_ms_error,
5766 &ett_p7_ModifyErrorParameter,
5767 &ett_p7_EntryClassErrorParameter,
5768 &ett_p7_T_entry_class_problem,
5769 &ett_p7_ReportLocation,
5770 &ett_p7_SEQUENCE_OF_PerRecipientReport,
5771 &ett_p7_PerRecipientReport,
5772 &ett_p7_SubmissionError,
5773 &ett_p7_SignatureVerificationStatus,
5774 &ett_p7_RTSE_apdus,
5775 &ett_p7_RTABapdu,
5777 /*--- End of included file: packet-p7-ettarr.c ---*/
5778 #line 95 "../../asn1/p7/packet-p7-template.c"
5780 module_t *p7_module;
5782 /* Register protocol */
5783 proto_p7 = proto_register_protocol(PNAME, PSNAME, PFNAME);
5785 /* Register fields and subtrees */
5786 proto_register_field_array(proto_p7, hf, array_length(hf));
5787 proto_register_subtree_array(ett, array_length(ett));
5789 /* Register our configuration options for P7, particularly our port */
5791 p7_module = prefs_register_protocol_subtree("OSI/X.400", proto_p7, prefs_register_p7);
5793 prefs_register_uint_preference(p7_module, "tcp.port", "P7 TCP Port",
5794 "Set the port for P7 operations (if other"
5795 " than the default of 102)",
5796 10, &global_p7_tcp_port);
5801 /*--- proto_reg_handoff_p7 --- */
5802 void proto_reg_handoff_p7(void) {
5805 /*--- Included file: packet-p7-dis-tab.c ---*/
5806 #line 1 "../../asn1/p7/packet-p7-dis-tab.c"
5807 register_ber_oid_dissector("2.6.4.3.42", dissect_ReportLocation_PDU, proto_p7, "id-att-ac-correlated-report-list");
5808 register_ber_oid_dissector("2.6.4.3.76", dissect_SequenceNumber_PDU, proto_p7, "id-att-ac-report-subject-entry");
5809 register_ber_oid_dissector("2.6.4.3.43", dissect_ReportSummary_PDU, proto_p7, "id-att-ac-report-summary");
5810 register_ber_oid_dissector("2.6.4.3.44", dissect_PerRecipientReport_PDU, proto_p7, "id-att-ac-uncorrelated-report-list");
5811 register_ber_oid_dissector("2.6.4.3.46", dissect_AutoActionError_PDU, proto_p7, "id-att-auto-action-error");
5812 register_ber_oid_dissector("2.6.4.3.48", dissect_SequenceNumber_PDU, proto_p7, "id-att-auto-action-subject-entry");
5813 register_ber_oid_dissector("2.6.4.3.49", dissect_AutoActionType_PDU, proto_p7, "id-att-auto-action-type");
5814 register_ber_oid_dissector("2.6.4.3.0", dissect_SequenceNumber_PDU, proto_p7, "id-att-child-sequence-numbers");
5815 register_ber_oid_dissector("2.6.4.3.10", dissect_MS_EIT_PDU, proto_p7, "id-att-converted-EITs");
5816 register_ber_oid_dissector("2.6.4.3.11", dissect_CreationTime_PDU, proto_p7, "id-att-creation-time");
5817 register_ber_oid_dissector("2.6.4.3.50", dissect_DeferredDeliveryCancellationTime_PDU, proto_p7, "id-att-deferred-delivery-cancellation-time");
5818 register_ber_oid_dissector("2.6.4.3.52", dissect_DeletionTime_PDU, proto_p7, "id-att-deletion-time");
5819 register_ber_oid_dissector("2.6.4.3.12", dissect_MS_EIT_PDU, proto_p7, "id-att-delivered-EITs");
5820 register_ber_oid_dissector("2.6.4.3.16", dissect_EntryType_PDU, proto_p7, "id-att-entry-type");
5821 register_ber_oid_dissector("2.6.4.3.57", dissect_MessageGroupName_PDU, proto_p7, "id-att-message-group-name");
5822 register_ber_oid_dissector("2.6.4.3.61", dissect_SubmissionError_PDU, proto_p7, "id-att-ms-submission-error");
5823 register_ber_oid_dissector("2.6.4.3.25", dissect_MS_EIT_PDU, proto_p7, "id-att-original-EITs");
5824 register_ber_oid_dissector("2.6.4.3.29", dissect_SequenceNumber_PDU, proto_p7, "id-att-parent-sequence-number");
5825 register_ber_oid_dissector("2.6.4.3.15", dissect_RetrievalStatus_PDU, proto_p7, "id-att-retrieval-status");
5826 register_ber_oid_dissector("2.6.4.3.39", dissect_SequenceNumber_PDU, proto_p7, "id-att-sequence-number");
5827 register_ber_oid_dissector("2.6.4.3.79", dissect_SignatureVerificationStatus_PDU, proto_p7, "id-att-signature-verification-status");
5828 register_ber_oid_dissector("2.6.4.3.73", dissect_StoragePeriod_PDU, proto_p7, "id-att-storage-period");
5829 register_ber_oid_dissector("2.6.4.3.74", dissect_StorageTime_PDU, proto_p7, "id-att-storage-time");
5830 register_ber_oid_dissector("2.6.4.9.5", dissect_ChangeCredentialsAlgorithms_PDU, proto_p7, "id-ext-protected-change-credentials-capability");
5831 register_ber_oid_dissector("2.6.4.9.3", dissect_OriginatorToken_PDU, proto_p7, "id-ext-originator-token");
5832 register_ber_oid_dissector("2.6.4.9.4", dissect_ProtectedChangeCredentials_PDU, proto_p7, "id-ext-protected-change-credentials");
5833 register_ber_oid_dissector("2.6.0.2.10""id-as-ms-rtse", dissect_RTSE_apdus_PDU, proto_p7, "");
5836 /*--- End of included file: packet-p7-dis-tab.c ---*/
5837 #line 121 "../../asn1/p7/packet-p7-template.c"
5839 /* APPLICATION CONTEXT */
5841 oid_add_from_string("id-ac-ms-access","2.6.0.1.11");
5842 oid_add_from_string("id-ac-ms-reliable-access","2.6.0.1.12");
5844 /* ABSTRACT SYNTAXES */
5846 /* Register P7 with ROS (with no use of RTSE) */
5847 register_ros_protocol_info("2.6.0.2.9", &p7_ros_info, 0, "id-as-ms", FALSE);
5848 register_ros_protocol_info("2.6.0.2.5", &p7_ros_info, 0, "id-as-mrse", FALSE);
5849 register_ros_protocol_info("2.6.0.2.1", &p7_ros_info, 0, "id-as-msse", FALSE);
5851 /* remember the tpkt handler for change in preferences */
5852 tpkt_handle = find_dissector("tpkt");
5856 static void
5857 prefs_register_p7(void)
5859 static guint tcp_port = 0;
5861 /* de-register the old port */
5862 /* port 102 is registered by TPKT - don't undo this! */
5863 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
5864 dissector_delete_uint("tcp.port", tcp_port, tpkt_handle);
5866 /* Set our port number for future use */
5867 tcp_port = global_p7_tcp_port;
5869 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
5870 dissector_add_uint("tcp.port", global_p7_tcp_port, tpkt_handle);