1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler */
4 /* ../../tools/asn2eth.py -X -b -e -p x411 -c x411.cnf -s packet-x411-template x411.asn */
6 /* Input file: packet-x411-template.c */
9 * Routines for X.411 (X.400 Message Transfer) packet dissection
14 * Ethereal - Network traffic analyzer
15 * By Gerald Combs <gerald@ethereal.com>
16 * Copyright 1998 Gerald Combs
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
38 #include <epan/packet.h>
39 #include <epan/conversation.h>
44 #include "packet-ber.h"
45 #include "packet-acse.h"
46 #include "packet-ros.h"
47 #include "packet-rtse.h"
49 #include "packet-x509af.h"
50 #include "packet-x509ce.h"
51 #include "packet-x509if.h"
52 #include "packet-x509sat.h"
54 #include "packet-x411.h"
56 #define PNAME "X.411 OSI Message Transfer Service"
60 /* Initialize the protocol and registered fields */
63 static struct SESSION_DATA_STRUCTURE* session = NULL;
64 static int extension_id = 0; /* integer extension id */
65 static char object_identifier_id[BER_MAX_OID_STR_LEN]; /* content type identifier */
67 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
70 /*--- Included file: packet-x411-hf.c ---*/
72 static int hf_x411_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */
73 static int hf_x411_TraceInformation_PDU = -1; /* TraceInformation */
74 static int hf_x411_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */
75 static int hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU = -1; /* MTSOriginatorRequestedAlternateRecipient */
76 static int hf_x411_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */
77 static int hf_x411_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */
78 static int hf_x411_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */
79 static int hf_x411_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */
80 static int hf_x411_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */
81 static int hf_x411_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */
82 static int hf_x411_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */
83 static int hf_x411_RegisteredMailType_PDU = -1; /* RegisteredMailType */
84 static int hf_x411_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */
85 static int hf_x411_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */
86 static int hf_x411_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */
87 static int hf_x411_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */
88 static int hf_x411_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */
89 static int hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */
90 static int hf_x411_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */
91 static int hf_x411_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */
92 static int hf_x411_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */
93 static int hf_x411_ContentCorrelator_PDU = -1; /* ContentCorrelator */
94 static int hf_x411_RedirectionHistory_PDU = -1; /* RedirectionHistory */
95 static int hf_x411_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */
96 static int hf_x411_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */
97 static int hf_x411_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */
98 static int hf_x411_ReportingDLName_PDU = -1; /* ReportingDLName */
99 static int hf_x411_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */
100 static int hf_x411_ReportingMTAName_PDU = -1; /* ReportingMTAName */
101 static int hf_x411_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */
102 static int hf_x411_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */
103 static int hf_x411_CertificateSelectors_PDU = -1; /* CertificateSelectors */
104 static int hf_x411_CommonName_PDU = -1; /* CommonName */
105 static int hf_x411_TeletexCommonName_PDU = -1; /* TeletexCommonName */
106 static int hf_x411_UniversalCommonName_PDU = -1; /* UniversalCommonName */
107 static int hf_x411_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */
108 static int hf_x411_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */
109 static int hf_x411_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */
110 static int hf_x411_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */
111 static int hf_x411_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */
112 static int hf_x411_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */
113 static int hf_x411_PDSName_PDU = -1; /* PDSName */
114 static int hf_x411_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */
115 static int hf_x411_PostalCode_PDU = -1; /* PostalCode */
116 static int hf_x411_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */
117 static int hf_x411_unauthenticated = -1; /* NULL */
118 static int hf_x411_authenticated_argument = -1; /* AuthenticatedArgument */
119 static int hf_x411_authenticated_initiator_name = -1; /* MTAName */
120 static int hf_x411_initiator_credentials = -1; /* InitiatorCredentials */
121 static int hf_x411_security_context = -1; /* SecurityContext */
122 static int hf_x411_authenticated_result = -1; /* AuthenticatedResult */
123 static int hf_x411_authenticated_responder_name = -1; /* MTAName */
124 static int hf_x411_responder_credentials = -1; /* ResponderCredentials */
125 static int hf_x411_message = -1; /* Message */
126 static int hf_x411_probe = -1; /* Probe */
127 static int hf_x411_report = -1; /* Report */
128 static int hf_x411_message_envelope = -1; /* MessageTransferEnvelope */
129 static int hf_x411_content = -1; /* Content */
130 static int hf_x411_report_envelope = -1; /* ReportTransferEnvelope */
131 static int hf_x411_report_content = -1; /* ReportTransferContent */
132 static int hf_x411_message_identifier = -1; /* MessageIdentifier */
133 static int hf_x411_mta_originator_name = -1; /* MTAOriginatorName */
134 static int hf_x411_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
135 static int hf_x411_content_type = -1; /* ContentType */
136 static int hf_x411_content_identifier = -1; /* ContentIdentifier */
137 static int hf_x411_priority = -1; /* Priority */
138 static int hf_x411_per_message_indicators = -1; /* PerMessageIndicators */
139 static int hf_x411_deferred_delivery_time = -1; /* DeferredDeliveryTime */
140 static int hf_x411_per_domain_bilateral_information = -1; /* SEQUENCE_OF_PerDomainBilateralInformation */
141 static int hf_x411_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */
142 static int hf_x411_trace_information = -1; /* TraceInformation */
143 static int hf_x411_extensions = -1; /* SET_OF_ExtensionField */
144 static int hf_x411_extensions_item = -1; /* ExtensionField */
145 static int hf_x411_per_recipient_message_fields = -1; /* SEQUENCE_OF_PerRecipientMessageTransferFields */
146 static int hf_x411_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */
147 static int hf_x411_recipient_name = -1; /* MTARecipientName */
148 static int hf_x411_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */
149 static int hf_x411_per_recipient_indicators = -1; /* PerRecipientIndicators */
150 static int hf_x411_explicit_conversion = -1; /* ExplicitConversion */
151 static int hf_x411_probe_identifier = -1; /* ProbeIdentifier */
152 static int hf_x411_content_length = -1; /* ContentLength */
153 static int hf_x411_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_OF_PerRecipientProbeTransferFields */
154 static int hf_x411_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */
155 static int hf_x411_report_identifier = -1; /* ReportIdentifier */
156 static int hf_x411_report_destination_name = -1; /* ReportDestinationName */
157 static int hf_x411_subject_identifier = -1; /* SubjectIdentifier */
158 static int hf_x411_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */
159 static int hf_x411_returned_content = -1; /* Content */
160 static int hf_x411_additional_information = -1; /* AdditionalInformation */
161 static int hf_x411_per_recipient_report_fields = -1; /* SEQUENCE_OF_PerRecipientReportTransferFields */
162 static int hf_x411_per_recipient_fields_item = -1; /* PerRecipientReportTransferFields */
163 static int hf_x411_mta_actual_recipient_name = -1; /* MTAActualRecipientName */
164 static int hf_x411_last_trace_information = -1; /* LastTraceInformation */
165 static int hf_x411_report_originally_intended_recipient_name = -1; /* MTAOriginallyIntendedRecipientName */
166 static int hf_x411_supplementary_information = -1; /* SupplementaryInformation */
167 static int hf_x411_country_name = -1; /* CountryName */
168 static int hf_x411_bilateral_domain = -1; /* T_domain */
169 static int hf_x411_administration_domain_name = -1; /* AdministrationDomainName */
170 static int hf_x411_private_domain = -1; /* T_private_domain */
171 static int hf_x411_private_domain_identifier = -1; /* PrivateDomainIdentifier */
172 static int hf_x411_arrival_time = -1; /* ArrivalTime */
173 static int hf_x411_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */
174 static int hf_x411_trace_report_type = -1; /* ReportType */
175 static int hf_x411_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */
176 static int hf_x411_global_domain_identifier = -1; /* GlobalDomainIdentifier */
177 static int hf_x411_mta_name = -1; /* MTAName */
178 static int hf_x411_mta_supplied_information = -1; /* MTASuppliedInformation */
179 static int hf_x411_routing_action = -1; /* RoutingAction */
180 static int hf_x411_attempted = -1; /* T_attempted */
181 static int hf_x411_mta = -1; /* MTAName */
182 static int hf_x411_domain = -1; /* GlobalDomainIdentifier */
183 static int hf_x411_deferred_time = -1; /* DeferredTime */
184 static int hf_x411_other_actions = -1; /* OtherActions */
185 static int hf_x411_TraceInformation_item = -1; /* TraceInformationElement */
186 static int hf_x411_domain_supplied_information = -1; /* DomainSuppliedInformation */
187 static int hf_x411_attempted_domain = -1; /* GlobalDomainIdentifier */
188 static int hf_x411_initiator_name = -1; /* ObjectName */
189 static int hf_x411_messages_waiting = -1; /* MessagesWaiting */
190 static int hf_x411_responder_name = -1; /* ObjectName */
191 static int hf_x411_user_agent = -1; /* ORAddressAndOptionalDirectoryName */
192 static int hf_x411_mTA = -1; /* MTAName */
193 static int hf_x411_message_store = -1; /* ORAddressAndOptionalDirectoryName */
194 static int hf_x411_urgent = -1; /* DeliveryQueue */
195 static int hf_x411_normal = -1; /* DeliveryQueue */
196 static int hf_x411_non_urgent = -1; /* DeliveryQueue */
197 static int hf_x411_messages = -1; /* INTEGER */
198 static int hf_x411_delivery_queue_octets = -1; /* INTEGER */
199 static int hf_x411_simple = -1; /* Password */
200 static int hf_x411_ia5_string = -1; /* IA5String */
201 static int hf_x411_octet_string = -1; /* OCTET_STRING */
202 static int hf_x411_SecurityContext_item = -1; /* SecurityLabel */
203 static int hf_x411_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
204 static int hf_x411_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
205 static int hf_x411_message_submission_time = -1; /* MessageSubmissionTime */
206 static int hf_x411_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
207 static int hf_x411_probe_submission_time = -1; /* ProbeSubmissionTime */
208 static int hf_x411_ImproperlySpecifiedRecipients_item = -1; /* MTSRecipientName */
209 static int hf_x411_waiting_operations = -1; /* Operations */
210 static int hf_x411_waiting_messages = -1; /* WaitingMessages */
211 static int hf_x411_waiting_content_types = -1; /* SET_OF_ContentType */
212 static int hf_x411_waiting_content_types_item = -1; /* ContentType */
213 static int hf_x411_waiting_encoded_information_types = -1; /* EncodedInformationTypes */
214 static int hf_x411_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */
215 static int hf_x411_message_delivery_time = -1; /* MessageDeliveryTime */
216 static int hf_x411_other_fields = -1; /* OtherMessageDeliveryFields */
217 static int hf_x411_recipient_certificate = -1; /* RecipientCertificate */
218 static int hf_x411_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */
219 static int hf_x411_per_recipient_report_delivery_fields = -1; /* SEQUENCE_OF_PerRecipientReportDeliveryFields */
220 static int hf_x411_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */
221 static int hf_x411_empty_result = -1; /* NULL */
222 static int hf_x411_restrict = -1; /* BOOLEAN */
223 static int hf_x411_permissible_operations = -1; /* Operations */
224 static int hf_x411_permissible_maximum_content_length = -1; /* ContentLength */
225 static int hf_x411_permissible_lowest_priority = -1; /* Priority */
226 static int hf_x411_permissible_content_types = -1; /* ContentTypes */
227 static int hf_x411_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */
228 static int hf_x411_permissible_security_context = -1; /* SecurityContext */
229 static int hf_x411_refused_argument = -1; /* T_refused_argument */
230 static int hf_x411_built_in_argument = -1; /* RefusedArgument */
231 static int hf_x411_refused_extension = -1; /* T_refused_extension */
232 static int hf_x411_refusal_reason = -1; /* RefusalReason */
233 static int hf_x411_user_name = -1; /* UserName */
234 static int hf_x411_user_address = -1; /* UserAddress */
235 static int hf_x411_deliverable_class = -1; /* SET_OF_DeliverableClass */
236 static int hf_x411_deliverable_class_item = -1; /* DeliverableClass */
237 static int hf_x411_default_delivery_controls = -1; /* DefaultDeliveryControls */
238 static int hf_x411_redirections = -1; /* Redirections */
239 static int hf_x411_restricted_delivery = -1; /* RestrictedDelivery */
240 static int hf_x411_retrieve_registrations = -1; /* RegistrationTypes */
241 static int hf_x411_non_empty_result = -1; /* T_non_empty_result */
242 static int hf_x411_registered_information = -1; /* RegisterArgument */
243 static int hf_x411_old_credentials = -1; /* Credentials */
244 static int hf_x411_new_credentials = -1; /* Credentials */
245 static int hf_x411_x121 = -1; /* T_x121 */
246 static int hf_x411_x121_address = -1; /* NumericString */
247 static int hf_x411_tsap_id = -1; /* PrintableString */
248 static int hf_x411_presentation = -1; /* PSAPAddress */
249 static int hf_x411_Redirections_item = -1; /* RecipientRedirection */
250 static int hf_x411_redirection_classes = -1; /* SET_OF_RedirectionClass */
251 static int hf_x411_redirection_classes_item = -1; /* RedirectionClass */
252 static int hf_x411_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */
253 static int hf_x411_content_types = -1; /* ContentTypes */
254 static int hf_x411_maximum_content_length = -1; /* ContentLength */
255 static int hf_x411_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */
256 static int hf_x411_security_labels = -1; /* SecurityContext */
257 static int hf_x411_class_priority = -1; /* SET_OF_Priority */
258 static int hf_x411_priority_item = -1; /* Priority */
259 static int hf_x411_objects = -1; /* T_objects */
260 static int hf_x411_applies_only_to = -1; /* SEQUENCE_OF_Restriction */
261 static int hf_x411_applies_only_to_item = -1; /* Restriction */
262 static int hf_x411_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */
263 static int hf_x411_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
264 static int hf_x411_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
265 static int hf_x411_RestrictedDelivery_item = -1; /* Restriction */
266 static int hf_x411_permitted = -1; /* BOOLEAN */
267 static int hf_x411_source_type = -1; /* T_source_type */
268 static int hf_x411_source_name = -1; /* ExactOrPattern */
269 static int hf_x411_exact_match = -1; /* ORName */
270 static int hf_x411_pattern_match = -1; /* ORName */
271 static int hf_x411_standard_parameters = -1; /* T_standard_parameters */
272 static int hf_x411_type_extensions = -1; /* T_extensions */
273 static int hf_x411_type_extensions_item = -1; /* T_extensions_item */
274 static int hf_x411_mts_originator_name = -1; /* MTSOriginatorName */
275 static int hf_x411_per_recipient_message_submission_fields = -1; /* SEQUENCE_OF_PerRecipientMessageSubmissionFields */
276 static int hf_x411_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */
277 static int hf_x411_submission_recipient_name = -1; /* MTSRecipientName */
278 static int hf_x411_originator_report_request = -1; /* OriginatorReportRequest */
279 static int hf_x411_per_recipient_probe_submission_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
280 static int hf_x411_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */
281 static int hf_x411_probe_recipient_name = -1; /* MTSRecipientName */
282 static int hf_x411_delivered_content_type = -1; /* DeliveredContentType */
283 static int hf_x411_originator_name = -1; /* DeliveredOriginatorName */
284 static int hf_x411_delivery_flags = -1; /* DeliveryFlags */
285 static int hf_x411_other_recipient_names = -1; /* OtherRecipientNames */
286 static int hf_x411_this_recipient_name = -1; /* ThisRecipientName */
287 static int hf_x411_originally_intended_recipient_name = -1; /* MTSOriginallyIntendedRecipientName */
288 static int hf_x411_actual_recipient_name = -1; /* MTSActualRecipientName */
289 static int hf_x411_delivery_report_type = -1; /* ReportType */
290 static int hf_x411_delivery = -1; /* DeliveryReport */
291 static int hf_x411_non_delivery = -1; /* NonDeliveryReport */
292 static int hf_x411_type_of_MTS_user = -1; /* TypeOfMTSUser */
293 static int hf_x411_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */
294 static int hf_x411_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */
295 static int hf_x411_ContentTypes_item = -1; /* ContentType */
296 static int hf_x411_built_in = -1; /* BuiltInContentType */
297 static int hf_x411_extended = -1; /* ExtendedContentType */
298 static int hf_x411_OtherRecipientNames_item = -1; /* OtherRecipientName */
299 static int hf_x411_standard_extension = -1; /* INTEGER */
300 static int hf_x411_private_extension = -1; /* OBJECT_IDENTIFIER */
301 static int hf_x411_extension_type = -1; /* ExtensionType */
302 static int hf_x411_criticality = -1; /* Criticality */
303 static int hf_x411_extension_value = -1; /* ExtensionValue */
304 static int hf_x411_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */
305 static int hf_x411_ia5text = -1; /* IA5String */
306 static int hf_x411_octets = -1; /* OCTET_STRING */
307 static int hf_x411_RedirectionHistory_item = -1; /* Redirection */
308 static int hf_x411_intended_recipient_name = -1; /* IntendedRecipientName */
309 static int hf_x411_redirection_reason = -1; /* RedirectionReason */
310 static int hf_x411_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */
311 static int hf_x411_redirection_time = -1; /* Time */
312 static int hf_x411_DLExpansionHistory_item = -1; /* DLExpansion */
313 static int hf_x411_dl = -1; /* ORAddressAndOptionalDirectoryName */
314 static int hf_x411_dl_expansion_time = -1; /* Time */
315 static int hf_x411_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */
316 static int hf_x411_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */
317 static int hf_x411_origination_or_expansion_time = -1; /* Time */
318 static int hf_x411_report_type = -1; /* T_report_type */
319 static int hf_x411_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */
320 static int hf_x411_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */
321 static int hf_x411_mta_directory_name = -1; /* Name */
322 static int hf_x411_ExtendedCertificates_item = -1; /* ExtendedCertificate */
323 static int hf_x411_directory_entry = -1; /* Name */
324 static int hf_x411_certificate = -1; /* Certificates */
325 static int hf_x411_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */
326 static int hf_x411_encryption_recipient = -1; /* CertificateAssertion */
327 static int hf_x411_encryption_originator = -1; /* CertificateAssertion */
328 static int hf_x411_content_integrity_check = -1; /* CertificateAssertion */
329 static int hf_x411_token_signature = -1; /* CertificateAssertion */
330 static int hf_x411_message_origin_authentication = -1; /* CertificateAssertion */
331 static int hf_x411_local_identifier = -1; /* LocalIdentifier */
332 static int hf_x411_numeric = -1; /* NumericString */
333 static int hf_x411_printable = -1; /* PrintableString */
334 static int hf_x411_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */
335 static int hf_x411_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */
336 static int hf_x411_extension_attributes = -1; /* ExtensionAttributes */
337 static int hf_x411_directory_name = -1; /* Name */
338 static int hf_x411_network_address = -1; /* NetworkAddress */
339 static int hf_x411_terminal_identifier = -1; /* TerminalIdentifier */
340 static int hf_x411_private_domain_name = -1; /* PrivateDomainName */
341 static int hf_x411_organization_name = -1; /* OrganizationName */
342 static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */
343 static int hf_x411_personal_name = -1; /* PersonalName */
344 static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */
345 static int hf_x411_x121_dcc_code = -1; /* NumericString */
346 static int hf_x411_iso_3166_alpha2_code = -1; /* PrintableString */
347 static int hf_x411_printable_surname = -1; /* PrintableString */
348 static int hf_x411_printable_given_name = -1; /* PrintableString */
349 static int hf_x411_printable_initials = -1; /* PrintableString */
350 static int hf_x411_printable_generation_qualifier = -1; /* PrintableString */
351 static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */
352 static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */
353 static int hf_x411_printable_type = -1; /* PrintableString */
354 static int hf_x411_printable_value = -1; /* PrintableString */
355 static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */
356 static int hf_x411_extension_attribute_type = -1; /* INTEGER */
357 static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */
358 static int hf_x411_teletex_surname = -1; /* TeletexString */
359 static int hf_x411_teletex_given_name = -1; /* TeletexString */
360 static int hf_x411_teletex_initials = -1; /* TeletexString */
361 static int hf_x411_teletex_generation_qualifier = -1; /* TeletexString */
362 static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */
363 static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */
364 static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */
365 static int hf_x411_universal_generation_qualifier = -1; /* UniversalOrBMPString */
366 static int hf_x411_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */
367 static int hf_x411_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */
368 static int hf_x411_character_encoding = -1; /* T_character_encoding */
369 static int hf_x411_two_octets = -1; /* BMPString */
370 static int hf_x411_four_octets = -1; /* UniversalString */
371 static int hf_x411_iso_639_language_code = -1; /* PrintableString */
372 static int hf_x411_numeric_code = -1; /* NumericString */
373 static int hf_x411_printable_code = -1; /* PrintableString */
374 static int hf_x411_printable_address = -1; /* T_printable_address */
375 static int hf_x411_printable_address_item = -1; /* PrintableString */
376 static int hf_x411_teletex_string = -1; /* TeletexString */
377 static int hf_x411_printable_string = -1; /* PrintableString */
378 static int hf_x411_e163_4_address = -1; /* T_e163_4_address */
379 static int hf_x411_number = -1; /* NumericString */
380 static int hf_x411_sub_address = -1; /* NumericString */
381 static int hf_x411_psap_address = -1; /* PresentationAddress */
382 static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */
383 static int hf_x411_type = -1; /* TeletexString */
384 static int hf_x411_teletex_value = -1; /* TeletexString */
385 static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */
386 static int hf_x411_universal_type = -1; /* UniversalOrBMPString */
387 static int hf_x411_universal_value = -1; /* UniversalOrBMPString */
388 static int hf_x411_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */
389 static int hf_x411_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */
390 static int hf_x411_teletex = -1; /* TeletexNonBasicParameters */
391 static int hf_x411_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */
392 static int hf_x411_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */
393 static int hf_x411_graphic_character_sets = -1; /* TeletexString */
394 static int hf_x411_control_character_sets = -1; /* TeletexString */
395 static int hf_x411_page_formats = -1; /* OCTET_STRING */
396 static int hf_x411_miscellaneous_terminal_capabilities = -1; /* TeletexString */
397 static int hf_x411_private_use = -1; /* OCTET_STRING */
398 static int hf_x411_security_policy_identifier = -1; /* SecurityPolicyIdentifier */
399 static int hf_x411_security_classification = -1; /* SecurityClassification */
400 static int hf_x411_privacy_mark = -1; /* PrivacyMark */
401 static int hf_x411_security_categories = -1; /* SecurityCategories */
402 static int hf_x411_SecurityCategories_item = -1; /* SecurityCategory */
403 static int hf_x411_category_type = -1; /* OBJECT_IDENTIFIER */
404 static int hf_x411_category_value = -1; /* CategoryValue */
406 static int hf_x411_PerRecipientIndicators_responsibility = -1;
407 static int hf_x411_PerRecipientIndicators_originating_MTA_report = -1;
408 static int hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report = -1;
409 static int hf_x411_PerRecipientIndicators_originator_report = -1;
410 static int hf_x411_PerRecipientIndicators_originator_non_delivery_report = -1;
411 static int hf_x411_PerRecipientIndicators_reserved_5 = -1;
412 static int hf_x411_PerRecipientIndicators_reserved_6 = -1;
413 static int hf_x411_PerRecipientIndicators_reserved_7 = -1;
414 static int hf_x411_OtherActions_redirected = -1;
415 static int hf_x411_OtherActions_dl_operation = -1;
416 static int hf_x411_Operations_probe_submission_or_report_delivery = -1;
417 static int hf_x411_Operations_message_submission_or_message_delivery = -1;
418 static int hf_x411_WaitingMessages_long_content = -1;
419 static int hf_x411_WaitingMessages_low_priority = -1;
420 static int hf_x411_WaitingMessages_other_security_labels = -1;
421 static int hf_x411_T_source_type_originated_by = -1;
422 static int hf_x411_T_source_type_redirected_by = -1;
423 static int hf_x411_T_source_type_dl_expanded_by = -1;
424 static int hf_x411_T_standard_parameters_user_name = -1;
425 static int hf_x411_T_standard_parameters_user_address = -1;
426 static int hf_x411_T_standard_parameters_deliverable_class = -1;
427 static int hf_x411_T_standard_parameters_default_delivery_controls = -1;
428 static int hf_x411_T_standard_parameters_redirections = -1;
429 static int hf_x411_T_standard_parameters_restricted_delivery = -1;
430 static int hf_x411_PerMessageIndicators_disclosure_of_other_recipients = -1;
431 static int hf_x411_PerMessageIndicators_implicit_conversion_prohibited = -1;
432 static int hf_x411_PerMessageIndicators_alternate_recipient_allowed = -1;
433 static int hf_x411_PerMessageIndicators_content_return_request = -1;
434 static int hf_x411_PerMessageIndicators_reserved = -1;
435 static int hf_x411_PerMessageIndicators_bit_5 = -1;
436 static int hf_x411_PerMessageIndicators_bit_6 = -1;
437 static int hf_x411_PerMessageIndicators_service_message = -1;
438 static int hf_x411_OriginatorReportRequest_report = -1;
439 static int hf_x411_OriginatorReportRequest_non_delivery_report = -1;
440 static int hf_x411_DeliveryFlags_implicit_conversion_prohibited = -1;
441 static int hf_x411_Criticality_for_submission = -1;
442 static int hf_x411_Criticality_for_transfer = -1;
443 static int hf_x411_Criticality_for_delivery = -1;
444 static int hf_x411_PhysicalDeliveryModes_ordinary_mail = -1;
445 static int hf_x411_PhysicalDeliveryModes_special_delivery = -1;
446 static int hf_x411_PhysicalDeliveryModes_express_mail = -1;
447 static int hf_x411_PhysicalDeliveryModes_counter_collection = -1;
448 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1;
449 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1;
450 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1;
451 static int hf_x411_PhysicalDeliveryModes_bureau_fax_delivery = -1;
452 static int hf_x411_BuiltInEncodedInformationTypes_unknown = -1;
453 static int hf_x411_BuiltInEncodedInformationTypes_ia5_text = -1;
454 static int hf_x411_BuiltInEncodedInformationTypes_g3_facsimile = -1;
455 static int hf_x411_BuiltInEncodedInformationTypes_g4_class_1 = -1;
456 static int hf_x411_BuiltInEncodedInformationTypes_teletex = -1;
457 static int hf_x411_BuiltInEncodedInformationTypes_videotex = -1;
458 static int hf_x411_BuiltInEncodedInformationTypes_voice = -1;
459 static int hf_x411_BuiltInEncodedInformationTypes_sfd = -1;
460 static int hf_x411_BuiltInEncodedInformationTypes_mixed_mode = -1;
461 static int hf_x411_G3FacsimileNonBasicParameters_two_dimensional = -1;
462 static int hf_x411_G3FacsimileNonBasicParameters_fine_resolution = -1;
463 static int hf_x411_G3FacsimileNonBasicParameters_unlimited_length = -1;
464 static int hf_x411_G3FacsimileNonBasicParameters_b4_length = -1;
465 static int hf_x411_G3FacsimileNonBasicParameters_a3_width = -1;
466 static int hf_x411_G3FacsimileNonBasicParameters_b4_width = -1;
467 static int hf_x411_G3FacsimileNonBasicParameters_t6_coding = -1;
468 static int hf_x411_G3FacsimileNonBasicParameters_uncompressed = -1;
469 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1;
470 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1;
471 static int hf_x411_G3FacsimileNonBasicParameters_resolution_type = -1;
472 static int hf_x411_G3FacsimileNonBasicParameters_resolution_400x400 = -1;
473 static int hf_x411_G3FacsimileNonBasicParameters_resolution_300x300 = -1;
474 static int hf_x411_G3FacsimileNonBasicParameters_resolution_8x15 = -1;
475 static int hf_x411_G3FacsimileNonBasicParameters_edi = -1;
476 static int hf_x411_G3FacsimileNonBasicParameters_dtm = -1;
477 static int hf_x411_G3FacsimileNonBasicParameters_bft = -1;
478 static int hf_x411_G3FacsimileNonBasicParameters_mixed_mode = -1;
479 static int hf_x411_G3FacsimileNonBasicParameters_character_mode = -1;
480 static int hf_x411_G3FacsimileNonBasicParameters_twelve_bits = -1;
481 static int hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann = -1;
482 static int hf_x411_G3FacsimileNonBasicParameters_full_colour = -1;
483 static int hf_x411_G3FacsimileNonBasicParameters_jpeg = -1;
484 static int hf_x411_G3FacsimileNonBasicParameters_processable_mode_26 = -1;
486 /*--- End of included file: packet-x411-hf.c ---*/
489 /* Initialize the subtree pointers */
490 static gint ett_x411 = -1;
492 /*--- Included file: packet-x411-ett.c ---*/
494 static gint ett_x411_MTABindArgument = -1;
495 static gint ett_x411_AuthenticatedArgument = -1;
496 static gint ett_x411_MTABindResult = -1;
497 static gint ett_x411_AuthenticatedResult = -1;
498 static gint ett_x411_MTS_APDU = -1;
499 static gint ett_x411_Message = -1;
500 static gint ett_x411_Report = -1;
501 static gint ett_x411_MessageTransferEnvelope = -1;
502 static gint ett_x411_SEQUENCE_OF_PerDomainBilateralInformation = -1;
503 static gint ett_x411_SET_OF_ExtensionField = -1;
504 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields = -1;
505 static gint ett_x411_PerRecipientMessageTransferFields = -1;
506 static gint ett_x411_ProbeTransferEnvelope = -1;
507 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields = -1;
508 static gint ett_x411_PerRecipientProbeTransferFields = -1;
509 static gint ett_x411_ReportTransferEnvelope = -1;
510 static gint ett_x411_ReportTransferContent = -1;
511 static gint ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields = -1;
512 static gint ett_x411_PerRecipientReportTransferFields = -1;
513 static gint ett_x411_PerDomainBilateralInformation = -1;
514 static gint ett_x411_T_domain = -1;
515 static gint ett_x411_T_private_domain = -1;
516 static gint ett_x411_PerRecipientIndicators = -1;
517 static gint ett_x411_LastTraceInformation = -1;
518 static gint ett_x411_InternalTraceInformation = -1;
519 static gint ett_x411_InternalTraceInformationElement = -1;
520 static gint ett_x411_MTASuppliedInformation = -1;
521 static gint ett_x411_T_attempted = -1;
522 static gint ett_x411_TraceInformation = -1;
523 static gint ett_x411_TraceInformationElement = -1;
524 static gint ett_x411_DomainSuppliedInformation = -1;
525 static gint ett_x411_OtherActions = -1;
526 static gint ett_x411_MTSBindArgument = -1;
527 static gint ett_x411_MTSBindResult = -1;
528 static gint ett_x411_ObjectName = -1;
529 static gint ett_x411_MessagesWaiting = -1;
530 static gint ett_x411_DeliveryQueue = -1;
531 static gint ett_x411_Credentials = -1;
532 static gint ett_x411_Password = -1;
533 static gint ett_x411_SecurityContext = -1;
534 static gint ett_x411_MessageSubmissionArgument = -1;
535 static gint ett_x411_MessageSubmissionResult = -1;
536 static gint ett_x411_ProbeSubmissionResult = -1;
537 static gint ett_x411_ImproperlySpecifiedRecipients = -1;
538 static gint ett_x411_Waiting = -1;
539 static gint ett_x411_SET_OF_ContentType = -1;
540 static gint ett_x411_Operations = -1;
541 static gint ett_x411_WaitingMessages = -1;
542 static gint ett_x411_MessageDeliveryArgument = -1;
543 static gint ett_x411_MessageDeliveryResult = -1;
544 static gint ett_x411_ReportDeliveryArgument = -1;
545 static gint ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields = -1;
546 static gint ett_x411_ReportDeliveryResult = -1;
547 static gint ett_x411_DeliveryControlArgument = -1;
548 static gint ett_x411_DeliveryControlResult = -1;
549 static gint ett_x411_RefusedOperation = -1;
550 static gint ett_x411_T_refused_argument = -1;
551 static gint ett_x411_Controls = -1;
552 static gint ett_x411_RegisterArgument = -1;
553 static gint ett_x411_SET_OF_DeliverableClass = -1;
554 static gint ett_x411_RegisterResult = -1;
555 static gint ett_x411_T_non_empty_result = -1;
556 static gint ett_x411_ChangeCredentialsArgument = -1;
557 static gint ett_x411_UserAddress = -1;
558 static gint ett_x411_T_x121 = -1;
559 static gint ett_x411_Redirections = -1;
560 static gint ett_x411_RecipientRedirection = -1;
561 static gint ett_x411_SET_OF_RedirectionClass = -1;
562 static gint ett_x411_MessageClass = -1;
563 static gint ett_x411_SET_OF_Priority = -1;
564 static gint ett_x411_SEQUENCE_OF_Restriction = -1;
565 static gint ett_x411_EncodedInformationTypesConstraints = -1;
566 static gint ett_x411_RestrictedDelivery = -1;
567 static gint ett_x411_Restriction = -1;
568 static gint ett_x411_T_source_type = -1;
569 static gint ett_x411_ExactOrPattern = -1;
570 static gint ett_x411_RegistrationTypes = -1;
571 static gint ett_x411_T_standard_parameters = -1;
572 static gint ett_x411_T_extensions = -1;
573 static gint ett_x411_MessageSubmissionEnvelope = -1;
574 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields = -1;
575 static gint ett_x411_PerRecipientMessageSubmissionFields = -1;
576 static gint ett_x411_ProbeSubmissionEnvelope = -1;
577 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
578 static gint ett_x411_PerRecipientProbeSubmissionFields = -1;
579 static gint ett_x411_MessageDeliveryEnvelope = -1;
580 static gint ett_x411_OtherMessageDeliveryFields = -1;
581 static gint ett_x411_ReportDeliveryEnvelope = -1;
582 static gint ett_x411_PerRecipientReportDeliveryFields = -1;
583 static gint ett_x411_ReportType = -1;
584 static gint ett_x411_DeliveryReport = -1;
585 static gint ett_x411_NonDeliveryReport = -1;
586 static gint ett_x411_ContentTypes = -1;
587 static gint ett_x411_ContentType = -1;
588 static gint ett_x411_DeliveredContentType = -1;
589 static gint ett_x411_PerMessageIndicators = -1;
590 static gint ett_x411_OriginatorReportRequest = -1;
591 static gint ett_x411_DeliveryFlags = -1;
592 static gint ett_x411_OtherRecipientNames = -1;
593 static gint ett_x411_ExtensionType = -1;
594 static gint ett_x411_Criticality = -1;
595 static gint ett_x411_ExtensionField = -1;
596 static gint ett_x411_RequestedDeliveryMethod = -1;
597 static gint ett_x411_PhysicalDeliveryModes = -1;
598 static gint ett_x411_ContentCorrelator = -1;
599 static gint ett_x411_RedirectionHistory = -1;
600 static gint ett_x411_Redirection = -1;
601 static gint ett_x411_IntendedRecipientName = -1;
602 static gint ett_x411_DLExpansionHistory = -1;
603 static gint ett_x411_DLExpansion = -1;
604 static gint ett_x411_OriginatorAndDLExpansionHistory = -1;
605 static gint ett_x411_OriginatorAndDLExpansion = -1;
606 static gint ett_x411_PerRecipientReportFields = -1;
607 static gint ett_x411_T_report_type = -1;
608 static gint ett_x411_PerRecipientDeliveryReportFields = -1;
609 static gint ett_x411_PerRecipientNonDeliveryReportFields = -1;
610 static gint ett_x411_ReportingMTAName = -1;
611 static gint ett_x411_ExtendedCertificates = -1;
612 static gint ett_x411_ExtendedCertificate = -1;
613 static gint ett_x411_DLExemptedRecipients = -1;
614 static gint ett_x411_CertificateSelectors = -1;
615 static gint ett_x411_MTSIdentifier = -1;
616 static gint ett_x411_GlobalDomainIdentifier = -1;
617 static gint ett_x411_PrivateDomainIdentifier = -1;
618 static gint ett_x411_ORName = -1;
619 static gint ett_x411_ORAddress = -1;
620 static gint ett_x411_BuiltInStandardAttributes = -1;
621 static gint ett_x411_CountryName = -1;
622 static gint ett_x411_AdministrationDomainName = -1;
623 static gint ett_x411_PrivateDomainName = -1;
624 static gint ett_x411_PersonalName = -1;
625 static gint ett_x411_OrganizationalUnitNames = -1;
626 static gint ett_x411_BuiltInDomainDefinedAttributes = -1;
627 static gint ett_x411_BuiltInDomainDefinedAttribute = -1;
628 static gint ett_x411_ExtensionAttributes = -1;
629 static gint ett_x411_ExtensionAttribute = -1;
630 static gint ett_x411_TeletexPersonalName = -1;
631 static gint ett_x411_UniversalPersonalName = -1;
632 static gint ett_x411_TeletexOrganizationalUnitNames = -1;
633 static gint ett_x411_UniversalOrganizationalUnitNames = -1;
634 static gint ett_x411_UniversalOrBMPString = -1;
635 static gint ett_x411_T_character_encoding = -1;
636 static gint ett_x411_PhysicalDeliveryCountryName = -1;
637 static gint ett_x411_PostalCode = -1;
638 static gint ett_x411_UnformattedPostalAddress = -1;
639 static gint ett_x411_T_printable_address = -1;
640 static gint ett_x411_PDSParameter = -1;
641 static gint ett_x411_ExtendedNetworkAddress = -1;
642 static gint ett_x411_T_e163_4_address = -1;
643 static gint ett_x411_TeletexDomainDefinedAttributes = -1;
644 static gint ett_x411_TeletexDomainDefinedAttribute = -1;
645 static gint ett_x411_UniversalDomainDefinedAttributes = -1;
646 static gint ett_x411_UniversalDomainDefinedAttribute = -1;
647 static gint ett_x411_EncodedInformationTypes = -1;
648 static gint ett_x411_BuiltInEncodedInformationTypes = -1;
649 static gint ett_x411_ExtendedEncodedInformationTypes = -1;
650 static gint ett_x411_NonBasicParameters = -1;
651 static gint ett_x411_G3FacsimileNonBasicParameters = -1;
652 static gint ett_x411_TeletexNonBasicParameters = -1;
653 static gint ett_x411_SecurityLabel = -1;
654 static gint ett_x411_SecurityCategories = -1;
655 static gint ett_x411_SecurityCategory = -1;
657 /*--- End of included file: packet-x411-ett.c ---*/
661 /*--- Included file: packet-x411-fn.c ---*/
663 /*--- Fields for imported types ---*/
665 static int dissect_mta_directory_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
666 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_mta_directory_name);
668 static int dissect_directory_entry_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
669 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_directory_entry);
671 static int dissect_certificate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
672 return dissect_x509af_Certificates(TRUE, tvb, offset, pinfo, tree, hf_x411_certificate);
674 static int dissect_encryption_recipient_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
675 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_recipient);
677 static int dissect_encryption_originator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
678 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_originator);
680 static int dissect_content_integrity_check_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
681 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_content_integrity_check);
683 static int dissect_token_signature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
684 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_token_signature);
686 static int dissect_message_origin_authentication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
687 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_message_origin_authentication);
689 static int dissect_directory_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
690 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_directory_name);
692 static int dissect_psap_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
693 return dissect_x509sat_PresentationAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_psap_address);
699 dissect_x411_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
700 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
704 static int dissect_unauthenticated(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
705 return dissect_x411_NULL(FALSE, tvb, offset, pinfo, tree, hf_x411_unauthenticated);
707 static int dissect_empty_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
708 return dissect_x411_NULL(FALSE, tvb, offset, pinfo, tree, hf_x411_empty_result);
714 dissect_x411_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
715 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
716 pinfo, tree, tvb, offset, hf_index,
721 static int dissect_authenticated_initiator_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
722 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_initiator_name);
724 static int dissect_authenticated_responder_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
725 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_responder_name);
727 static int dissect_mta_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
728 return dissect_x411_MTAName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_name);
730 static int dissect_mta(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
731 return dissect_x411_MTAName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta);
733 static int dissect_mTA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
734 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_mTA);
740 dissect_x411_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
741 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
742 pinfo, tree, tvb, offset, hf_index,
747 static int dissect_ia5_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
748 return dissect_x411_IA5String(FALSE, tvb, offset, pinfo, tree, hf_x411_ia5_string);
750 static int dissect_ia5text(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
751 return dissect_x411_IA5String(FALSE, tvb, offset, pinfo, tree, hf_x411_ia5text);
757 dissect_x411_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
758 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
763 static int dissect_octet_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
764 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_octet_string);
766 static int dissect_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
767 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_octets);
769 static int dissect_page_formats_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
770 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_page_formats);
772 static int dissect_private_use_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
773 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_private_use);
777 static const value_string x411_Password_vals[] = {
779 { 1, "octet-string" },
783 static const ber_choice_t Password_choice[] = {
784 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5_string },
785 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octet_string },
790 dissect_x411_Password(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
791 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
792 Password_choice, hf_index, ett_x411_Password,
797 static int dissect_simple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
798 return dissect_x411_Password(FALSE, tvb, offset, pinfo, tree, hf_x411_simple);
802 static const value_string x411_Credentials_vals[] = {
803 { -1/*choice*/, "simple" },
807 static const ber_choice_t Credentials_choice[] = {
808 { -1/*choice*/, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_simple },
813 dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
814 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
815 Credentials_choice, hf_index, ett_x411_Credentials,
820 static int dissect_old_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
821 return dissect_x411_Credentials(TRUE, tvb, offset, pinfo, tree, hf_x411_old_credentials);
823 static int dissect_new_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
824 return dissect_x411_Credentials(TRUE, tvb, offset, pinfo, tree, hf_x411_new_credentials);
830 dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
831 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, pinfo, tree, hf_index);
835 static int dissect_initiator_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
836 return dissect_x411_InitiatorCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_initiator_credentials);
842 dissect_x411_SecurityPolicyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
843 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
848 static int dissect_security_policy_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
849 return dissect_x411_SecurityPolicyIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_security_policy_identifier);
853 static const value_string x411_SecurityClassification_vals[] = {
855 { 1, "unclassified" },
857 { 3, "confidential" },
865 dissect_x411_SecurityClassification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
866 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
871 static int dissect_security_classification(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
872 return dissect_x411_SecurityClassification(FALSE, tvb, offset, pinfo, tree, hf_x411_security_classification);
878 dissect_x411_PrivacyMark(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
879 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
880 pinfo, tree, tvb, offset, hf_index,
885 static int dissect_privacy_mark(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
886 return dissect_x411_PrivacyMark(FALSE, tvb, offset, pinfo, tree, hf_x411_privacy_mark);
892 dissect_x411_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
893 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
898 static int dissect_private_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
899 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_x411_private_extension);
901 static int dissect_category_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
902 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_x411_category_type);
908 dissect_x411_CategoryValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
910 offset = dissect_unknown_ber(pinfo, tvb, offset, tree);
915 static int dissect_category_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
916 return dissect_x411_CategoryValue(TRUE, tvb, offset, pinfo, tree, hf_x411_category_value);
920 static const ber_sequence_t SecurityCategory_sequence[] = {
921 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_category_type_impl },
922 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_category_value_impl },
927 dissect_x411_SecurityCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
928 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
929 SecurityCategory_sequence, hf_index, ett_x411_SecurityCategory);
933 static int dissect_SecurityCategories_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
934 return dissect_x411_SecurityCategory(FALSE, tvb, offset, pinfo, tree, hf_x411_SecurityCategories_item);
938 static const ber_sequence_t SecurityCategories_set_of[1] = {
939 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SecurityCategories_item },
943 dissect_x411_SecurityCategories(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
944 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
945 SecurityCategories_set_of, hf_index, ett_x411_SecurityCategories);
949 static int dissect_security_categories(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
950 return dissect_x411_SecurityCategories(FALSE, tvb, offset, pinfo, tree, hf_x411_security_categories);
954 static const ber_sequence_t SecurityLabel_set[] = {
955 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_policy_identifier },
956 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_classification },
957 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_privacy_mark },
958 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_categories },
963 dissect_x411_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
964 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
965 SecurityLabel_set, hf_index, ett_x411_SecurityLabel);
969 static int dissect_SecurityContext_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
970 return dissect_x411_SecurityLabel(FALSE, tvb, offset, pinfo, tree, hf_x411_SecurityContext_item);
974 static const ber_sequence_t SecurityContext_set_of[1] = {
975 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_SecurityContext_item },
979 dissect_x411_SecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
980 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
981 SecurityContext_set_of, hf_index, ett_x411_SecurityContext);
985 static int dissect_security_context_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
986 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_security_context);
988 static int dissect_permissible_security_context_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
989 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_security_context);
991 static int dissect_security_labels_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
992 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_security_labels);
996 static const ber_sequence_t AuthenticatedArgument_set[] = {
997 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_initiator_name_impl },
998 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
999 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
1004 dissect_x411_AuthenticatedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1005 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1006 AuthenticatedArgument_set, hf_index, ett_x411_AuthenticatedArgument);
1010 static int dissect_authenticated_argument_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1011 return dissect_x411_AuthenticatedArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_argument);
1015 static const value_string x411_MTABindArgument_vals[] = {
1016 { 0, "unauthenticated" },
1017 { 1, "authenticated" },
1021 static const ber_choice_t MTABindArgument_choice[] = {
1022 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1023 { 1, BER_CLASS_CON, 1, 0, dissect_authenticated_argument_impl },
1024 { 0, 0, 0, 0, NULL }
1028 dissect_x411_MTABindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1029 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1030 MTABindArgument_choice, hf_index, ett_x411_MTABindArgument,
1039 dissect_x411_ResponderCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1040 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1044 static int dissect_responder_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1045 return dissect_x411_ResponderCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_responder_credentials);
1049 static const ber_sequence_t AuthenticatedResult_set[] = {
1050 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_responder_name_impl },
1051 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
1056 dissect_x411_AuthenticatedResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1057 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1058 AuthenticatedResult_set, hf_index, ett_x411_AuthenticatedResult);
1062 static int dissect_authenticated_result_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1063 return dissect_x411_AuthenticatedResult(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_result);
1067 static const value_string x411_MTABindResult_vals[] = {
1068 { 0, "unauthenticated" },
1069 { 1, "authenticated" },
1073 static const ber_choice_t MTABindResult_choice[] = {
1074 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1075 { 1, BER_CLASS_CON, 1, 0, dissect_authenticated_result_impl },
1076 { 0, 0, 0, 0, NULL }
1080 dissect_x411_MTABindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1081 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1082 MTABindResult_choice, hf_index, ett_x411_MTABindResult,
1089 static const value_string x411_MTABindError_vals[] = {
1091 { 2, "authentication-error" },
1092 { 3, "unacceptable-dialogue-mode" },
1093 { 4, "unacceptable-security-context" },
1094 { 5, "inadequate-association-confidentiality" },
1100 dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1101 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1110 dissect_x411_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1111 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1112 pinfo, tree, tvb, offset, hf_index,
1117 static int dissect_x121_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1118 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_x121_address);
1120 static int dissect_numeric(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1121 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_numeric);
1123 static int dissect_x121_dcc_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1124 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_x121_dcc_code);
1126 static int dissect_numeric_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1127 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_numeric_code);
1129 static int dissect_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1130 return dissect_x411_NumericString(TRUE, tvb, offset, pinfo, tree, hf_x411_number);
1132 static int dissect_sub_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1133 return dissect_x411_NumericString(TRUE, tvb, offset, pinfo, tree, hf_x411_sub_address);
1139 dissect_x411_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1140 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1141 pinfo, tree, tvb, offset, hf_index,
1146 static int dissect_tsap_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1147 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_tsap_id);
1149 static int dissect_printable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1150 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable);
1152 static int dissect_iso_3166_alpha2_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1153 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_iso_3166_alpha2_code);
1155 static int dissect_printable_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1156 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_surname);
1158 static int dissect_printable_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1159 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_given_name);
1161 static int dissect_printable_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1162 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_initials);
1164 static int dissect_printable_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1165 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_generation_qualifier);
1167 static int dissect_printable_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1168 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_type);
1170 static int dissect_printable_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1171 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_value);
1173 static int dissect_iso_639_language_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1174 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_iso_639_language_code);
1176 static int dissect_printable_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1177 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_code);
1179 static int dissect_printable_address_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1180 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_address_item);
1182 static int dissect_printable_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1183 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_string);
1187 static const value_string x411_CountryName_vals[] = {
1188 { 0, "x121-dcc-code" },
1189 { 1, "iso-3166-alpha2-code" },
1193 static const ber_choice_t CountryName_choice[] = {
1194 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
1195 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
1196 { 0, 0, 0, 0, NULL }
1200 dissect_x411_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1202 gboolean pc, ind_field;
1207 /* XXX asn2eth can not yet handle tagged assignment yes so this
1208 * XXX is some conformance file magic to work around that bug
1210 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1211 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1213 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1214 CountryName_choice, hf_index, ett_x411_CountryName, NULL);
1219 static int dissect_country_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1220 return dissect_x411_CountryName(FALSE, tvb, offset, pinfo, tree, hf_x411_country_name);
1224 static const value_string x411_AdministrationDomainName_vals[] = {
1230 static const ber_choice_t AdministrationDomainName_choice[] = {
1231 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1232 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1233 { 0, 0, 0, 0, NULL }
1237 dissect_x411_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1239 gboolean pc, ind_field;
1244 /* XXX asn2eth can not yet handle tagged assignment yes so this
1245 * XXX is some conformance file magic to work around that bug
1247 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1248 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1251 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1252 AdministrationDomainName_choice, hf_index, ett_x411_AdministrationDomainName, NULL);
1257 static int dissect_administration_domain_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1258 return dissect_x411_AdministrationDomainName(FALSE, tvb, offset, pinfo, tree, hf_x411_administration_domain_name);
1260 static int dissect_administration_domain_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1261 return dissect_x411_AdministrationDomainName(TRUE, tvb, offset, pinfo, tree, hf_x411_administration_domain_name);
1265 static const value_string x411_PrivateDomainIdentifier_vals[] = {
1271 static const ber_choice_t PrivateDomainIdentifier_choice[] = {
1272 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1273 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1274 { 0, 0, 0, 0, NULL }
1278 dissect_x411_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1279 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1280 PrivateDomainIdentifier_choice, hf_index, ett_x411_PrivateDomainIdentifier,
1285 static int dissect_private_domain_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1286 return dissect_x411_PrivateDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_private_domain_identifier);
1288 static int dissect_private_domain_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1289 return dissect_x411_PrivateDomainIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_private_domain_identifier);
1293 static const ber_sequence_t GlobalDomainIdentifier_sequence[] = {
1294 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
1295 { BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1296 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier },
1301 dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1302 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1303 GlobalDomainIdentifier_sequence, hf_index, ett_x411_GlobalDomainIdentifier);
1307 static int dissect_global_domain_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1308 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_global_domain_identifier);
1310 static int dissect_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1311 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_domain);
1313 static int dissect_attempted_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1314 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_attempted_domain);
1320 dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1321 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1322 pinfo, tree, tvb, offset, hf_index,
1327 static int dissect_local_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1328 return dissect_x411_LocalIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_local_identifier);
1332 static const ber_sequence_t MTSIdentifier_sequence[] = {
1333 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
1334 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_local_identifier },
1339 dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1340 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1341 MTSIdentifier_sequence, hf_index, ett_x411_MTSIdentifier);
1349 dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1350 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1354 static int dissect_message_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1355 return dissect_x411_MessageIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_identifier);
1361 dissect_x411_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1362 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1363 pinfo, tree, tvb, offset, hf_index,
1372 dissect_x411_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1373 offset = dissect_x411_X121Address(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1377 static int dissect_network_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1378 return dissect_x411_NetworkAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_network_address);
1384 dissect_x411_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1385 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1386 pinfo, tree, tvb, offset, hf_index,
1391 static int dissect_terminal_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1392 return dissect_x411_TerminalIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_terminal_identifier);
1396 static const value_string x411_PrivateDomainName_vals[] = {
1402 static const ber_choice_t PrivateDomainName_choice[] = {
1403 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1404 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1405 { 0, 0, 0, 0, NULL }
1409 dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1410 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1411 PrivateDomainName_choice, hf_index, ett_x411_PrivateDomainName,
1416 static int dissect_private_domain_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1417 return dissect_x411_PrivateDomainName(TRUE, tvb, offset, pinfo, tree, hf_x411_private_domain_name);
1423 dissect_x411_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1424 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1425 pinfo, tree, tvb, offset, hf_index,
1430 static int dissect_organization_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1431 return dissect_x411_OrganizationName(TRUE, tvb, offset, pinfo, tree, hf_x411_organization_name);
1437 dissect_x411_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1438 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1439 pinfo, tree, tvb, offset, hf_index,
1444 static int dissect_numeric_user_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1445 return dissect_x411_NumericUserIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_numeric_user_identifier);
1449 static const ber_sequence_t PersonalName_set[] = {
1450 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_printable_surname_impl },
1451 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_given_name_impl },
1452 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_initials_impl },
1453 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_generation_qualifier_impl },
1458 dissect_x411_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1459 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1460 PersonalName_set, hf_index, ett_x411_PersonalName);
1464 static int dissect_personal_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1465 return dissect_x411_PersonalName(TRUE, tvb, offset, pinfo, tree, hf_x411_personal_name);
1471 dissect_x411_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1472 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1473 pinfo, tree, tvb, offset, hf_index,
1478 static int dissect_OrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1479 return dissect_x411_OrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_OrganizationalUnitNames_item);
1483 static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = {
1484 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_OrganizationalUnitNames_item },
1488 dissect_x411_OrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1489 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1490 OrganizationalUnitNames_sequence_of, hf_index, ett_x411_OrganizationalUnitNames);
1494 static int dissect_organizational_unit_names_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1495 return dissect_x411_OrganizationalUnitNames(TRUE, tvb, offset, pinfo, tree, hf_x411_organizational_unit_names);
1499 static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
1500 { BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_country_name },
1501 { BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1502 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_network_address_impl },
1503 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminal_identifier_impl },
1504 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_name_impl },
1505 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organization_name_impl },
1506 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numeric_user_identifier_impl },
1507 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_personal_name_impl },
1508 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organizational_unit_names_impl },
1513 dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1514 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1515 BuiltInStandardAttributes_sequence, hf_index, ett_x411_BuiltInStandardAttributes);
1519 static int dissect_built_in_standard_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1520 return dissect_x411_BuiltInStandardAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in_standard_attributes);
1524 static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
1525 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_type },
1526 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_value },
1531 dissect_x411_BuiltInDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1532 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1533 BuiltInDomainDefinedAttribute_sequence, hf_index, ett_x411_BuiltInDomainDefinedAttribute);
1537 static int dissect_BuiltInDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1538 return dissect_x411_BuiltInDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_BuiltInDomainDefinedAttributes_item);
1542 static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = {
1543 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BuiltInDomainDefinedAttributes_item },
1547 dissect_x411_BuiltInDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1548 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1549 BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_x411_BuiltInDomainDefinedAttributes);
1553 static int dissect_built_in_domain_defined_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1554 return dissect_x411_BuiltInDomainDefinedAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in_domain_defined_attributes);
1560 dissect_x411_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1562 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1568 static int dissect_messages_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1569 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_messages);
1571 static int dissect_delivery_queue_octets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1572 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_queue_octets);
1574 static int dissect_standard_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1575 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_standard_extension);
1577 static int dissect_extension_attribute_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1578 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_attribute_type);
1584 dissect_x411_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1586 offset=call_x411_oid_callback("x411.extension-attribute", tvb, offset, pinfo, tree);
1591 static int dissect_extension_attribute_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1592 return dissect_x411_T_extension_attribute_value(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_attribute_value);
1596 static const ber_sequence_t ExtensionAttribute_sequence[] = {
1597 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_attribute_type_impl },
1598 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_extension_attribute_value_impl },
1603 dissect_x411_ExtensionAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1604 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1605 ExtensionAttribute_sequence, hf_index, ett_x411_ExtensionAttribute);
1609 static int dissect_ExtensionAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1610 return dissect_x411_ExtensionAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtensionAttributes_item);
1614 static const ber_sequence_t ExtensionAttributes_set_of[1] = {
1615 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExtensionAttributes_item },
1619 dissect_x411_ExtensionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1620 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1621 ExtensionAttributes_set_of, hf_index, ett_x411_ExtensionAttributes);
1625 static int dissect_extension_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1626 return dissect_x411_ExtensionAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_extension_attributes);
1630 static const ber_sequence_t ORName_sequence[] = {
1631 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
1632 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
1633 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
1634 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_directory_name_impl },
1639 dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1640 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1641 ORName_sequence, hf_index, ett_x411_ORName);
1645 static int dissect_exact_match_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1646 return dissect_x411_ORName(TRUE, tvb, offset, pinfo, tree, hf_x411_exact_match);
1648 static int dissect_pattern_match_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1649 return dissect_x411_ORName(TRUE, tvb, offset, pinfo, tree, hf_x411_pattern_match);
1655 dissect_x411_ORAddressAndOptionalDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1656 offset = dissect_x411_ORName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1660 static int dissect_user_agent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1661 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_user_agent);
1663 static int dissect_message_store_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1664 return dissect_x411_ORAddressAndOptionalDirectoryName(TRUE, tvb, offset, pinfo, tree, hf_x411_message_store);
1666 static int dissect_intended_recipient(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1667 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_intended_recipient);
1669 static int dissect_dl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1670 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_dl);
1672 static int dissect_originator_or_dl_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1673 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_originator_or_dl_name);
1679 dissect_x411_MTAOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1680 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1684 static int dissect_mta_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1685 return dissect_x411_MTAOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_originator_name);
1689 static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = {
1690 { 0, &hf_x411_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL },
1691 { 2, &hf_x411_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL },
1692 { 3, &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL },
1693 { 4, &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL },
1694 { 5, &hf_x411_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL },
1695 { 6, &hf_x411_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL },
1696 { 7, &hf_x411_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL },
1697 { 8, &hf_x411_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL },
1698 { 9, &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL },
1699 { 0, NULL, 0, 0, NULL, NULL }
1703 dissect_x411_BuiltInEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1704 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1705 BuiltInEncodedInformationTypes_bits, hf_index, ett_x411_BuiltInEncodedInformationTypes,
1710 static int dissect_built_in_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1711 return dissect_x411_BuiltInEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in_encoded_information_types);
1715 static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = {
1716 { 8, &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL },
1717 { 9, &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL },
1718 { 20, &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL },
1719 { 21, &hf_x411_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL },
1720 { 22, &hf_x411_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL },
1721 { 23, &hf_x411_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL },
1722 { 25, &hf_x411_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL },
1723 { 30, &hf_x411_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL },
1724 { 37, &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL },
1725 { 38, &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL },
1726 { 44, &hf_x411_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL },
1727 { 45, &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL },
1728 { 46, &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL },
1729 { 47, &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL },
1730 { 49, &hf_x411_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL },
1731 { 50, &hf_x411_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL },
1732 { 51, &hf_x411_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL },
1733 { 58, &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL },
1734 { 60, &hf_x411_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL },
1735 { 65, &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL },
1736 { 66, &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL },
1737 { 67, &hf_x411_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL },
1738 { 68, &hf_x411_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL },
1739 { 71, &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL },
1740 { 0, NULL, 0, 0, NULL, NULL }
1744 dissect_x411_G3FacsimileNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1745 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1746 G3FacsimileNonBasicParameters_bits, hf_index, ett_x411_G3FacsimileNonBasicParameters,
1751 static int dissect_g3_facsimile_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1752 return dissect_x411_G3FacsimileNonBasicParameters(TRUE, tvb, offset, pinfo, tree, hf_x411_g3_facsimile);
1758 dissect_x411_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1759 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1760 pinfo, tree, tvb, offset, hf_index,
1765 static int dissect_teletex_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1766 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_surname);
1768 static int dissect_teletex_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1769 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_given_name);
1771 static int dissect_teletex_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1772 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_initials);
1774 static int dissect_teletex_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1775 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_generation_qualifier);
1777 static int dissect_teletex_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1778 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_teletex_string);
1780 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1781 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_type);
1783 static int dissect_teletex_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1784 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_teletex_value);
1786 static int dissect_graphic_character_sets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1787 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_graphic_character_sets);
1789 static int dissect_control_character_sets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1790 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_control_character_sets);
1792 static int dissect_miscellaneous_terminal_capabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1793 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_miscellaneous_terminal_capabilities);
1797 static const ber_sequence_t TeletexNonBasicParameters_set[] = {
1798 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_graphic_character_sets_impl },
1799 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_control_character_sets_impl },
1800 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_page_formats_impl },
1801 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscellaneous_terminal_capabilities_impl },
1802 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_private_use_impl },
1807 dissect_x411_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1808 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1809 TeletexNonBasicParameters_set, hf_index, ett_x411_TeletexNonBasicParameters);
1813 static int dissect_teletex_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1814 return dissect_x411_TeletexNonBasicParameters(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex);
1820 dissect_x411_ExtendedEncodedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1821 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1826 static int dissect_ExtendedEncodedInformationTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1827 return dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtendedEncodedInformationTypes_item);
1831 static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = {
1832 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ExtendedEncodedInformationTypes_item },
1836 dissect_x411_ExtendedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1837 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1838 ExtendedEncodedInformationTypes_set_of, hf_index, ett_x411_ExtendedEncodedInformationTypes);
1842 static int dissect_unacceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1843 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_unacceptable_eits);
1845 static int dissect_acceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1846 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_acceptable_eits);
1848 static int dissect_exclusively_acceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1849 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_exclusively_acceptable_eits);
1851 static int dissect_extended_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1852 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_extended_encoded_information_types);
1856 static const ber_sequence_t EncodedInformationTypes_set[] = {
1857 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_built_in_encoded_information_types_impl },
1858 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
1859 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
1860 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extended_encoded_information_types_impl },
1865 dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1866 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1867 EncodedInformationTypes_set, hf_index, ett_x411_EncodedInformationTypes);
1871 static int dissect_waiting_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1872 return dissect_x411_EncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_waiting_encoded_information_types);
1878 dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1879 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1883 static int dissect_original_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1884 return dissect_x411_OriginalEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_original_encoded_information_types);
1886 static int dissect_original_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1887 return dissect_x411_OriginalEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_original_encoded_information_types);
1891 static const value_string x411_BuiltInContentType_vals[] = {
1892 { 0, "unidentified" },
1894 { 2, "interpersonal-messaging-1984" },
1895 { 22, "interpersonal-messaging-1988" },
1896 { 35, "edi-messaging" },
1897 { 40, "voice-messaging" },
1903 dissect_x411_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1906 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1909 /* convert integer content type to oid for dispatch when the content is found */
1912 strcpy(object_identifier_id, "2.6.1.10.0");
1915 strcpy(object_identifier_id, "2.6.1.10.1");
1924 static int dissect_built_in(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1925 return dissect_x411_BuiltInContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in);
1927 static int dissect_built_in_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1928 return dissect_x411_BuiltInContentType(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in);
1934 dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1935 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset,
1936 hf_index, object_identifier_id);
1942 static int dissect_extended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1943 return dissect_x411_ExtendedContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_extended);
1947 static const value_string x411_ContentType_vals[] = {
1953 static const ber_choice_t ContentType_choice[] = {
1954 { 0, BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_built_in },
1955 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
1956 { 0, 0, 0, 0, NULL }
1960 dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1961 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1962 ContentType_choice, hf_index, ett_x411_ContentType,
1967 static int dissect_content_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1968 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_content_type);
1970 static int dissect_waiting_content_types_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1971 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_waiting_content_types_item);
1973 static int dissect_ContentTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1974 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_ContentTypes_item);
1980 dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1982 gboolean pc, ind_field;
1987 /* XXX asn2eth can not yet handle tagged assignment yes so this
1988 * XXX is some conformance file magic to work around that bug
1990 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1991 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1994 /* this is magic I haven't seen used before - I've stripped the tag - but now I'm going to say it is IMPLICIT! */
1995 offset = dissect_ber_restricted_string(TRUE, BER_UNI_TAG_PrintableString,
1996 pinfo, tree, tvb, offset, hf_index,
2003 static int dissect_content_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2004 return dissect_x411_ContentIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_content_identifier);
2006 static int dissect_content_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2007 return dissect_x411_ContentIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_content_identifier);
2011 static const value_string x411_Priority_vals[] = {
2013 { 1, "non-urgent" },
2020 dissect_x411_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2021 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2026 static int dissect_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2027 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_priority);
2029 static int dissect_permissible_lowest_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2030 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_permissible_lowest_priority);
2032 static int dissect_priority_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2033 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_priority_item);
2037 static const asn_namedbit PerMessageIndicators_bits[] = {
2038 { 0, &hf_x411_PerMessageIndicators_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL },
2039 { 1, &hf_x411_PerMessageIndicators_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
2040 { 2, &hf_x411_PerMessageIndicators_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL },
2041 { 3, &hf_x411_PerMessageIndicators_content_return_request, -1, -1, "content-return-request", NULL },
2042 { 4, &hf_x411_PerMessageIndicators_reserved, -1, -1, "reserved", NULL },
2043 { 5, &hf_x411_PerMessageIndicators_bit_5, -1, -1, "bit-5", NULL },
2044 { 6, &hf_x411_PerMessageIndicators_bit_6, -1, -1, "bit-6", NULL },
2045 { 7, &hf_x411_PerMessageIndicators_service_message, -1, -1, "service-message", NULL },
2046 { 0, NULL, 0, 0, NULL, NULL }
2050 dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2051 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2052 PerMessageIndicators_bits, hf_index, ett_x411_PerMessageIndicators,
2057 static int dissect_per_message_indicators(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2058 return dissect_x411_PerMessageIndicators(FALSE, tvb, offset, pinfo, tree, hf_x411_per_message_indicators);
2064 dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2065 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
2066 pinfo, tree, tvb, offset, hf_index,
2071 static int dissect_redirection_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2072 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_time);
2074 static int dissect_dl_expansion_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2075 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_dl_expansion_time);
2077 static int dissect_origination_or_expansion_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2078 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_origination_or_expansion_time);
2084 dissect_x411_DeferredDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2085 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2089 static int dissect_deferred_delivery_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2090 return dissect_x411_DeferredDeliveryTime(TRUE, tvb, offset, pinfo, tree, hf_x411_deferred_delivery_time);
2094 static const ber_sequence_t T_private_domain_sequence[] = {
2095 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_administration_domain_name_impl },
2096 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier_impl },
2101 dissect_x411_T_private_domain(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2102 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2103 T_private_domain_sequence, hf_index, ett_x411_T_private_domain);
2107 static int dissect_private_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2108 return dissect_x411_T_private_domain(FALSE, tvb, offset, pinfo, tree, hf_x411_private_domain);
2112 static const value_string x411_T_domain_vals[] = {
2113 { 0, "administration-domain-name" },
2114 { 1, "private-domain" },
2118 static const ber_choice_t T_domain_choice[] = {
2119 { 0, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
2120 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_private_domain },
2121 { 0, 0, 0, 0, NULL }
2125 dissect_x411_T_domain(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2126 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2127 T_domain_choice, hf_index, ett_x411_T_domain,
2132 static int dissect_bilateral_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2133 return dissect_x411_T_domain(FALSE, tvb, offset, pinfo, tree, hf_x411_bilateral_domain);
2137 static const ber_sequence_t PerDomainBilateralInformation_sequence[] = {
2138 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
2139 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_bilateral_domain },
2144 dissect_x411_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2145 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2146 PerDomainBilateralInformation_sequence, hf_index, ett_x411_PerDomainBilateralInformation);
2150 static int dissect_per_domain_bilateral_information_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2151 return dissect_x411_PerDomainBilateralInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_per_domain_bilateral_information_item);
2155 static const ber_sequence_t SEQUENCE_OF_PerDomainBilateralInformation_sequence_of[1] = {
2156 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_domain_bilateral_information_item },
2160 dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2161 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2162 SEQUENCE_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerDomainBilateralInformation);
2166 static int dissect_per_domain_bilateral_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2167 return dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_per_domain_bilateral_information);
2173 dissect_x411_ArrivalTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2174 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2178 static int dissect_arrival_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2179 return dissect_x411_ArrivalTime(TRUE, tvb, offset, pinfo, tree, hf_x411_arrival_time);
2183 static const value_string x411_RoutingAction_vals[] = {
2191 dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2192 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2197 static int dissect_routing_action_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2198 return dissect_x411_RoutingAction(TRUE, tvb, offset, pinfo, tree, hf_x411_routing_action);
2204 dissect_x411_DeferredTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2205 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2209 static int dissect_deferred_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2210 return dissect_x411_DeferredTime(TRUE, tvb, offset, pinfo, tree, hf_x411_deferred_time);
2216 dissect_x411_ConvertedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2217 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2221 static int dissect_converted_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2222 return dissect_x411_ConvertedEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_converted_encoded_information_types);
2224 static int dissect_converted_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2225 return dissect_x411_ConvertedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_converted_encoded_information_types);
2229 static const asn_namedbit OtherActions_bits[] = {
2230 { 0, &hf_x411_OtherActions_redirected, -1, -1, "redirected", NULL },
2231 { 1, &hf_x411_OtherActions_dl_operation, -1, -1, "dl-operation", NULL },
2232 { 0, NULL, 0, 0, NULL, NULL }
2236 dissect_x411_OtherActions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2237 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2238 OtherActions_bits, hf_index, ett_x411_OtherActions,
2243 static int dissect_other_actions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2244 return dissect_x411_OtherActions(TRUE, tvb, offset, pinfo, tree, hf_x411_other_actions);
2248 static const ber_sequence_t DomainSuppliedInformation_set[] = {
2249 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
2250 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
2251 { BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attempted_domain },
2252 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
2253 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
2254 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
2259 dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2260 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2261 DomainSuppliedInformation_set, hf_index, ett_x411_DomainSuppliedInformation);
2265 static int dissect_domain_supplied_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2266 return dissect_x411_DomainSuppliedInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_domain_supplied_information);
2270 static const ber_sequence_t TraceInformationElement_sequence[] = {
2271 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
2272 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_domain_supplied_information },
2277 dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2278 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2279 TraceInformationElement_sequence, hf_index, ett_x411_TraceInformationElement);
2283 static int dissect_TraceInformation_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2284 return dissect_x411_TraceInformationElement(FALSE, tvb, offset, pinfo, tree, hf_x411_TraceInformation_item);
2288 static const ber_sequence_t TraceInformation_sequence_of[1] = {
2289 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TraceInformation_item },
2293 dissect_x411_TraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2294 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2295 TraceInformation_sequence_of, hf_index, ett_x411_TraceInformation);
2299 static int dissect_trace_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2300 return dissect_x411_TraceInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_trace_information);
2304 static const value_string x411_ExtensionType_vals[] = {
2305 { 0, "standard-extension" },
2306 { 3, "private-extension" },
2310 static const ber_choice_t ExtensionType_choice[] = {
2311 { 0, BER_CLASS_CON, 0, 0, dissect_standard_extension_impl },
2312 { 3, BER_CLASS_CON, 3, 0, dissect_private_extension_impl },
2313 { 0, 0, 0, 0, NULL }
2317 dissect_x411_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2318 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2319 ExtensionType_choice, hf_index, ett_x411_ExtensionType,
2324 static int dissect_extension_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2325 return dissect_x411_ExtensionType(FALSE, tvb, offset, pinfo, tree, hf_x411_extension_type);
2329 static const asn_namedbit Criticality_bits[] = {
2330 { 0, &hf_x411_Criticality_for_submission, -1, -1, "for-submission", NULL },
2331 { 1, &hf_x411_Criticality_for_transfer, -1, -1, "for-transfer", NULL },
2332 { 2, &hf_x411_Criticality_for_delivery, -1, -1, "for-delivery", NULL },
2333 { 0, NULL, 0, 0, NULL, NULL }
2337 dissect_x411_Criticality(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2338 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2339 Criticality_bits, hf_index, ett_x411_Criticality,
2344 static int dissect_criticality_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2345 return dissect_x411_Criticality(TRUE, tvb, offset, pinfo, tree, hf_x411_criticality);
2351 dissect_x411_ExtensionValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2353 offset=call_x411_oid_callback("x411.extension", tvb, offset, pinfo, tree);
2358 static int dissect_extension_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2359 return dissect_x411_ExtensionValue(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_value);
2363 static const ber_sequence_t ExtensionField_sequence[] = {
2364 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extension_type },
2365 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_criticality_impl },
2366 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_extension_value_impl },
2371 dissect_x411_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2372 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2373 ExtensionField_sequence, hf_index, ett_x411_ExtensionField);
2377 static int dissect_extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2378 return dissect_x411_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_x411_extensions_item);
2382 static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = {
2383 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensions_item },
2387 dissect_x411_SET_OF_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2388 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2389 SET_OF_ExtensionField_set_of, hf_index, ett_x411_SET_OF_ExtensionField);
2393 static int dissect_extensions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2394 return dissect_x411_SET_OF_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_x411_extensions);
2396 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2397 return dissect_x411_SET_OF_ExtensionField(TRUE, tvb, offset, pinfo, tree, hf_x411_extensions);
2403 dissect_x411_MTARecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2404 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2408 static int dissect_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2409 return dissect_x411_MTARecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_recipient_name);
2415 dissect_x411_OriginallySpecifiedRecipientNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2416 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2421 static int dissect_originally_specified_recipient_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2422 return dissect_x411_OriginallySpecifiedRecipientNumber(TRUE, tvb, offset, pinfo, tree, hf_x411_originally_specified_recipient_number);
2426 static const asn_namedbit PerRecipientIndicators_bits[] = {
2427 { 0, &hf_x411_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL },
2428 { 1, &hf_x411_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL },
2429 { 2, &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL },
2430 { 3, &hf_x411_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL },
2431 { 4, &hf_x411_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL },
2432 { 5, &hf_x411_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL },
2433 { 6, &hf_x411_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL },
2434 { 7, &hf_x411_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL },
2435 { 0, NULL, 0, 0, NULL, NULL }
2439 dissect_x411_PerRecipientIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2440 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2441 PerRecipientIndicators_bits, hf_index, ett_x411_PerRecipientIndicators,
2446 static int dissect_per_recipient_indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2447 return dissect_x411_PerRecipientIndicators(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_indicators);
2451 static const value_string x411_ExplicitConversion_vals[] = {
2452 { 0, "ia5-text-to-teletex" },
2453 { 8, "ia5-text-to-g3-facsimile" },
2454 { 9, "ia5-text-to-g4-class-1" },
2455 { 10, "ia5-text-to-videotex" },
2456 { 11, "teletex-to-ia5-text" },
2457 { 12, "teletex-to-g3-facsimile" },
2458 { 13, "teletex-to-g4-class-1" },
2459 { 14, "teletex-to-videotex" },
2460 { 16, "videotex-to-ia5-text" },
2461 { 17, "videotex-to-teletex" },
2467 dissect_x411_ExplicitConversion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2468 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2473 static int dissect_explicit_conversion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2474 return dissect_x411_ExplicitConversion(TRUE, tvb, offset, pinfo, tree, hf_x411_explicit_conversion);
2478 static const ber_sequence_t PerRecipientMessageTransferFields_set[] = {
2479 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
2480 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
2481 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
2482 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
2483 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2488 dissect_x411_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2489 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2490 PerRecipientMessageTransferFields_set, hf_index, ett_x411_PerRecipientMessageTransferFields);
2494 static int dissect_per_recipient_message_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2495 return dissect_x411_PerRecipientMessageTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_fields_item);
2499 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of[1] = {
2500 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_fields_item },
2504 dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2505 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2506 SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields);
2510 static int dissect_per_recipient_message_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2511 return dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_fields);
2515 static const ber_sequence_t MessageTransferEnvelope_set[] = {
2516 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_identifier },
2517 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
2518 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
2519 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
2520 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
2521 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
2522 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
2523 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
2524 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
2525 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
2526 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2527 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_fields_impl },
2532 dissect_x411_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2533 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2534 MessageTransferEnvelope_set, hf_index, ett_x411_MessageTransferEnvelope);
2538 static int dissect_message_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2539 return dissect_x411_MessageTransferEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_message_envelope);
2545 dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2548 /* we can do this now constructed octet strings are supported */
2549 offset = dissect_ber_octet_string(FALSE, pinfo, tree, tvb, offset, hf_index, &next_tvb);
2551 (void) call_ber_oid_callback(object_identifier_id, next_tvb, 0, pinfo, tree);
2556 static int dissect_content(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2557 return dissect_x411_Content(FALSE, tvb, offset, pinfo, tree, hf_x411_content);
2559 static int dissect_returned_content_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2560 return dissect_x411_Content(TRUE, tvb, offset, pinfo, tree, hf_x411_returned_content);
2564 static const ber_sequence_t Message_sequence[] = {
2565 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_envelope },
2566 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
2571 dissect_x411_Message(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2572 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2573 Message_sequence, hf_index, ett_x411_Message);
2577 static int dissect_message_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2578 return dissect_x411_Message(TRUE, tvb, offset, pinfo, tree, hf_x411_message);
2584 dissect_x411_ProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2585 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2589 static int dissect_probe_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2590 return dissect_x411_ProbeIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_identifier);
2596 dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2597 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2602 static int dissect_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2603 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_content_length);
2605 static int dissect_permissible_maximum_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2606 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_maximum_content_length);
2608 static int dissect_maximum_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2609 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_maximum_content_length);
2613 static const ber_sequence_t PerRecipientProbeTransferFields_set[] = {
2614 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
2615 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
2616 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
2617 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
2618 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2623 dissect_x411_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2624 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2625 PerRecipientProbeTransferFields_set, hf_index, ett_x411_PerRecipientProbeTransferFields);
2629 static int dissect_per_recipient_probe_transfer_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2630 return dissect_x411_PerRecipientProbeTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_transfer_fields_item);
2634 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of[1] = {
2635 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_transfer_fields_item },
2639 dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2640 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2641 SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields);
2645 static int dissect_per_recipient_probe_transfer_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2646 return dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_transfer_fields);
2650 static const ber_sequence_t ProbeTransferEnvelope_set[] = {
2651 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_identifier },
2652 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
2653 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
2654 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
2655 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
2656 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
2657 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
2658 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
2659 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
2660 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2661 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_transfer_fields_impl },
2666 dissect_x411_ProbeTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2667 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2668 ProbeTransferEnvelope_set, hf_index, ett_x411_ProbeTransferEnvelope);
2676 dissect_x411_Probe(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2677 offset = dissect_x411_ProbeTransferEnvelope(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2681 static int dissect_probe_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2682 return dissect_x411_Probe(TRUE, tvb, offset, pinfo, tree, hf_x411_probe);
2688 dissect_x411_ReportIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2689 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2693 static int dissect_report_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2694 return dissect_x411_ReportIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_report_identifier);
2700 dissect_x411_ReportDestinationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2701 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2705 static int dissect_report_destination_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2706 return dissect_x411_ReportDestinationName(FALSE, tvb, offset, pinfo, tree, hf_x411_report_destination_name);
2710 static const ber_sequence_t ReportTransferEnvelope_set[] = {
2711 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_report_identifier },
2712 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_report_destination_name },
2713 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
2714 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
2719 dissect_x411_ReportTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2720 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2721 ReportTransferEnvelope_set, hf_index, ett_x411_ReportTransferEnvelope);
2725 static int dissect_report_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2726 return dissect_x411_ReportTransferEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_report_envelope);
2732 dissect_x411_MessageOrProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2733 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2741 dissect_x411_SubjectIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2742 offset = dissect_x411_MessageOrProbeIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2746 static int dissect_subject_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2747 return dissect_x411_SubjectIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_identifier);
2753 dissect_x411_SubjectIntermediateTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2754 offset = dissect_x411_TraceInformation(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2758 static int dissect_subject_intermediate_trace_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2759 return dissect_x411_SubjectIntermediateTraceInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_intermediate_trace_information);
2765 dissect_x411_AdditionalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2766 /*XXX not implemented yet */
2771 static int dissect_additional_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2772 return dissect_x411_AdditionalInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_additional_information);
2778 dissect_x411_MTAActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2779 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2783 static int dissect_mta_actual_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2784 return dissect_x411_MTAActualRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_mta_actual_recipient_name);
2790 dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2791 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2795 static int dissect_message_delivery_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2796 return dissect_x411_MessageDeliveryTime(FALSE, tvb, offset, pinfo, tree, hf_x411_message_delivery_time);
2798 static int dissect_message_delivery_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2799 return dissect_x411_MessageDeliveryTime(TRUE, tvb, offset, pinfo, tree, hf_x411_message_delivery_time);
2803 static const value_string x411_TypeOfMTSUser_vals[] = {
2809 { 5, "physical-recipient" },
2816 dissect_x411_TypeOfMTSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2817 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2822 static int dissect_type_of_MTS_user(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2823 return dissect_x411_TypeOfMTSUser(FALSE, tvb, offset, pinfo, tree, hf_x411_type_of_MTS_user);
2825 static int dissect_type_of_MTS_user_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2826 return dissect_x411_TypeOfMTSUser(TRUE, tvb, offset, pinfo, tree, hf_x411_type_of_MTS_user);
2830 static const ber_sequence_t DeliveryReport_set[] = {
2831 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_delivery_time_impl },
2832 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_of_MTS_user_impl },
2837 dissect_x411_DeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2838 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2839 DeliveryReport_set, hf_index, ett_x411_DeliveryReport);
2843 static int dissect_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2844 return dissect_x411_DeliveryReport(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery);
2848 static const value_string x411_NonDeliveryReasonCode_vals[] = {
2849 { 0, "transfer-failure" },
2850 { 1, "unable-to-transfer" },
2851 { 2, "conversion-not-performed" },
2852 { 3, "physical-rendition-not-performed" },
2853 { 4, "physical-delivery-not-performed" },
2854 { 5, "restricted-delivery" },
2855 { 6, "directory-operation-unsuccessful" },
2856 { 7, "deferred-delivery-not-performed" },
2857 { 8, "transfer-failure-for-security-reason" },
2863 dissect_x411_NonDeliveryReasonCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2864 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2869 static int dissect_non_delivery_reason_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2870 return dissect_x411_NonDeliveryReasonCode(FALSE, tvb, offset, pinfo, tree, hf_x411_non_delivery_reason_code);
2872 static int dissect_non_delivery_reason_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2873 return dissect_x411_NonDeliveryReasonCode(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_reason_code);
2877 static const value_string x411_NonDeliveryDiagnosticCode_vals[] = {
2878 { 0, "unrecognised-OR-name" },
2879 { 1, "ambiguous-OR-name" },
2880 { 2, "mts-congestion" },
2881 { 3, "loop-detected" },
2882 { 4, "recipient-unavailable" },
2883 { 5, "maximum-time-expired" },
2884 { 6, "encoded-information-types-unsupported" },
2885 { 7, "content-too-long" },
2886 { 8, "conversion-impractical" },
2887 { 9, "implicit-conversion-prohibited" },
2888 { 10, "implicit-conversion-not-subscribed" },
2889 { 11, "invalid-arguments" },
2890 { 12, "content-syntax-error" },
2891 { 13, "size-constraint-violation" },
2892 { 14, "protocol-violation" },
2893 { 15, "content-type-not-supported" },
2894 { 16, "too-many-recipients" },
2895 { 17, "no-bilateral-agreement" },
2896 { 18, "unsupported-critical-function" },
2897 { 19, "conversion-with-loss-prohibited" },
2898 { 20, "line-too-long" },
2899 { 21, "page-split" },
2900 { 22, "pictorial-symbol-loss" },
2901 { 23, "punctuation-symbol-loss" },
2902 { 24, "alphabetic-character-loss" },
2903 { 25, "multiple-information-loss" },
2904 { 26, "recipient-reassignment-prohibited" },
2905 { 27, "redirection-loop-detected" },
2906 { 28, "dl-expansion-prohibited" },
2907 { 29, "no-dl-submit-permission" },
2908 { 30, "dl-expansion-failure" },
2909 { 31, "physical-rendition-attributes-not-supported" },
2910 { 32, "undeliverable-mail-physical-delivery-address-incorrect" },
2911 { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" },
2912 { 34, "undeliverable-mail-physical-delivery-address-incomplete" },
2913 { 35, "undeliverable-mail-recipient-unknown" },
2914 { 36, "undeliverable-mail-recipient-deceased" },
2915 { 37, "undeliverable-mail-organization-expired" },
2916 { 38, "undeliverable-mail-recipient-refused-to-accept" },
2917 { 39, "undeliverable-mail-recipient-did-not-claim" },
2918 { 40, "undeliverable-mail-recipient-changed-address-permanently" },
2919 { 41, "undeliverable-mail-recipient-changed-address-temporarily" },
2920 { 42, "undeliverable-mail-recipient-changed-temporary-address" },
2921 { 43, "undeliverable-mail-new-address-unknown" },
2922 { 44, "undeliverable-mail-recipient-did-not-want-forwarding" },
2923 { 45, "undeliverable-mail-originator-prohibited-forwarding" },
2924 { 46, "secure-messaging-error" },
2925 { 47, "unable-to-downgrade" },
2926 { 48, "unable-to-complete-transfer" },
2927 { 49, "transfer-attempts-limit-reached" },
2928 { 50, "incorrect-notification-type" },
2929 { 51, "dl-expansion-prohibited-by-security-policy" },
2930 { 52, "forbidden-alternate-recipient" },
2931 { 53, "security-policy-violation" },
2932 { 54, "security-services-refusal" },
2933 { 55, "unauthorised-dl-member" },
2934 { 56, "unauthorised-dl-name" },
2935 { 57, "unauthorised-originally-intended-recipient-name" },
2936 { 58, "unauthorised-originator-name" },
2937 { 59, "unauthorised-recipient-name" },
2938 { 60, "unreliable-system" },
2939 { 61, "authentication-failure-on-subject-message" },
2940 { 62, "decryption-failed" },
2941 { 63, "decryption-key-unobtainable" },
2942 { 64, "double-envelope-creation-failure" },
2943 { 65, "double-enveloping-message-restoring-failure" },
2944 { 66, "failure-of-proof-of-message" },
2945 { 67, "integrity-failure-on-subject-message" },
2946 { 68, "invalid-security-label" },
2947 { 69, "key-failure" },
2948 { 70, "mandatory-parameter-absence" },
2949 { 71, "operation-security-failure" },
2950 { 72, "repudiation-failure-of-message" },
2951 { 73, "security-context-failure" },
2952 { 74, "token-decryption-failed" },
2953 { 75, "token-error" },
2954 { 76, "unknown-security-label" },
2955 { 77, "unsupported-algorithm-identifier" },
2956 { 78, "unsupported-security-policy" },
2962 dissect_x411_NonDeliveryDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2963 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2968 static int dissect_non_delivery_diagnostic_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2969 return dissect_x411_NonDeliveryDiagnosticCode(FALSE, tvb, offset, pinfo, tree, hf_x411_non_delivery_diagnostic_code);
2971 static int dissect_non_delivery_diagnostic_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2972 return dissect_x411_NonDeliveryDiagnosticCode(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_diagnostic_code);
2976 static const ber_sequence_t NonDeliveryReport_set[] = {
2977 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_non_delivery_reason_code_impl },
2978 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_non_delivery_diagnostic_code_impl },
2983 dissect_x411_NonDeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2984 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2985 NonDeliveryReport_set, hf_index, ett_x411_NonDeliveryReport);
2989 static int dissect_non_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2990 return dissect_x411_NonDeliveryReport(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery);
2994 static const value_string x411_ReportType_vals[] = {
2996 { 1, "non-delivery" },
3000 static const ber_choice_t ReportType_choice[] = {
3001 { 0, BER_CLASS_CON, 0, 0, dissect_delivery_impl },
3002 { 1, BER_CLASS_CON, 1, 0, dissect_non_delivery_impl },
3003 { 0, 0, 0, 0, NULL }
3007 dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3008 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3009 ReportType_choice, hf_index, ett_x411_ReportType,
3014 static int dissect_trace_report_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3015 return dissect_x411_ReportType(TRUE, tvb, offset, pinfo, tree, hf_x411_trace_report_type);
3017 static int dissect_delivery_report_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3018 return dissect_x411_ReportType(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_report_type);
3022 static const ber_sequence_t LastTraceInformation_set[] = {
3023 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3024 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3025 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_trace_report_type_impl },
3030 dissect_x411_LastTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3031 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3032 LastTraceInformation_set, hf_index, ett_x411_LastTraceInformation);
3036 static int dissect_last_trace_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3037 return dissect_x411_LastTraceInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_last_trace_information);
3043 dissect_x411_MTAOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3044 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3048 static int dissect_report_originally_intended_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3049 return dissect_x411_MTAOriginallyIntendedRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_report_originally_intended_recipient_name);
3055 dissect_x411_SupplementaryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3056 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
3057 pinfo, tree, tvb, offset, hf_index,
3062 static int dissect_supplementary_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3063 return dissect_x411_SupplementaryInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_supplementary_information);
3067 static const ber_sequence_t PerRecipientReportTransferFields_set[] = {
3068 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mta_actual_recipient_name_impl },
3069 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3070 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3071 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_last_trace_information_impl },
3072 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_report_originally_intended_recipient_name_impl },
3073 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
3074 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3079 dissect_x411_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3080 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3081 PerRecipientReportTransferFields_set, hf_index, ett_x411_PerRecipientReportTransferFields);
3085 static int dissect_per_recipient_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3086 return dissect_x411_PerRecipientReportTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_fields_item);
3090 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of[1] = {
3091 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_fields_item },
3095 dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3096 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3097 SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields);
3101 static int dissect_per_recipient_report_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3102 return dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_fields);
3106 static const ber_sequence_t ReportTransferContent_set[] = {
3107 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_identifier },
3108 { BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_subject_intermediate_trace_information },
3109 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3110 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3111 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3112 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
3113 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additional_information_impl },
3114 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3115 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_per_recipient_report_fields_impl },
3120 dissect_x411_ReportTransferContent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3121 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3122 ReportTransferContent_set, hf_index, ett_x411_ReportTransferContent);
3126 static int dissect_report_content(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3127 return dissect_x411_ReportTransferContent(FALSE, tvb, offset, pinfo, tree, hf_x411_report_content);
3131 static const ber_sequence_t Report_sequence[] = {
3132 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_envelope },
3133 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_content },
3138 dissect_x411_Report(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3139 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3140 Report_sequence, hf_index, ett_x411_Report);
3144 static int dissect_report_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3145 return dissect_x411_Report(TRUE, tvb, offset, pinfo, tree, hf_x411_report);
3149 static const value_string x411_MTS_APDU_vals[] = {
3156 static const ber_choice_t MTS_APDU_choice[] = {
3157 { 0, BER_CLASS_CON, 0, 0, dissect_message_impl },
3158 { 2, BER_CLASS_CON, 2, 0, dissect_probe_impl },
3159 { 1, BER_CLASS_CON, 1, 0, dissect_report_impl },
3160 { 0, 0, 0, 0, NULL }
3164 dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3165 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3166 MTS_APDU_choice, hf_index, ett_x411_MTS_APDU,
3175 dissect_x411_MTAOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3176 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3182 static const value_string x411_T_attempted_vals[] = {
3188 static const ber_choice_t T_attempted_choice[] = {
3189 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta },
3190 { 1, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
3191 { 0, 0, 0, 0, NULL }
3195 dissect_x411_T_attempted(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3196 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3197 T_attempted_choice, hf_index, ett_x411_T_attempted,
3202 static int dissect_attempted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3203 return dissect_x411_T_attempted(FALSE, tvb, offset, pinfo, tree, hf_x411_attempted);
3207 static const ber_sequence_t MTASuppliedInformation_set[] = {
3208 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3209 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
3210 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attempted },
3211 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
3212 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3213 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
3218 dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3219 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3220 MTASuppliedInformation_set, hf_index, ett_x411_MTASuppliedInformation);
3224 static int dissect_mta_supplied_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3225 return dissect_x411_MTASuppliedInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_supplied_information);
3229 static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
3230 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
3231 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
3232 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_mta_supplied_information },
3237 dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3238 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3239 InternalTraceInformationElement_sequence, hf_index, ett_x411_InternalTraceInformationElement);
3243 static int dissect_InternalTraceInformation_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3244 return dissect_x411_InternalTraceInformationElement(FALSE, tvb, offset, pinfo, tree, hf_x411_InternalTraceInformation_item);
3248 static const ber_sequence_t InternalTraceInformation_sequence_of[1] = {
3249 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_InternalTraceInformation_item },
3253 dissect_x411_InternalTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3254 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3255 InternalTraceInformation_sequence_of, hf_index, ett_x411_InternalTraceInformation);
3261 static const value_string x411_ObjectName_vals[] = {
3262 { 0, "user-agent" },
3264 { 2, "message-store" },
3268 static const ber_choice_t ObjectName_choice[] = {
3269 { 0, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_user_agent },
3270 { 1, BER_CLASS_CON, 0, 0, dissect_mTA_impl },
3271 { 2, BER_CLASS_CON, 4, 0, dissect_message_store_impl },
3272 { 0, 0, 0, 0, NULL }
3276 dissect_x411_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3277 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3278 ObjectName_choice, hf_index, ett_x411_ObjectName,
3283 static int dissect_initiator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3284 return dissect_x411_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_x411_initiator_name);
3286 static int dissect_responder_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3287 return dissect_x411_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_x411_responder_name);
3291 static const ber_sequence_t DeliveryQueue_set[] = {
3292 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messages_impl },
3293 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_queue_octets_impl },
3298 dissect_x411_DeliveryQueue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3299 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3300 DeliveryQueue_set, hf_index, ett_x411_DeliveryQueue);
3304 static int dissect_urgent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3305 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_urgent);
3307 static int dissect_normal_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3308 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_normal);
3310 static int dissect_non_urgent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3311 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_non_urgent);
3315 static const ber_sequence_t MessagesWaiting_set[] = {
3316 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_urgent_impl },
3317 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_normal_impl },
3318 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_non_urgent_impl },
3323 dissect_x411_MessagesWaiting(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3324 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3325 MessagesWaiting_set, hf_index, ett_x411_MessagesWaiting);
3329 static int dissect_messages_waiting(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3330 return dissect_x411_MessagesWaiting(FALSE, tvb, offset, pinfo, tree, hf_x411_messages_waiting);
3334 static const ber_sequence_t MTSBindArgument_set[] = {
3335 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_name },
3336 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
3337 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
3338 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
3339 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3344 dissect_x411_MTSBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3345 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3346 MTSBindArgument_set, hf_index, ett_x411_MTSBindArgument);
3352 static const ber_sequence_t MTSBindResult_set[] = {
3353 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_name },
3354 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
3355 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
3356 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3361 dissect_x411_MTSBindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3362 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3363 MTSBindResult_set, hf_index, ett_x411_MTSBindResult);
3369 static const value_string x411_MTSBindError_vals[] = {
3371 { 2, "authentication-error" },
3372 { 3, "unacceptable-dialogue-mode" },
3373 { 4, "unacceptable-security-context" },
3374 { 5, "inadequate-association-confidentiality" },
3380 dissect_x411_MTSBindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3381 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3390 dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3391 offset = dissect_x411_ORName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3395 static int dissect_DLExemptedRecipients_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3396 return dissect_x411_ORAddressAndOrDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_DLExemptedRecipients_item);
3402 dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3403 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3407 static int dissect_mts_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3408 return dissect_x411_MTSOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_mts_originator_name);
3414 dissect_x411_MTSRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3415 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3419 static int dissect_ImproperlySpecifiedRecipients_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3420 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_ImproperlySpecifiedRecipients_item);
3422 static int dissect_submission_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3423 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_submission_recipient_name);
3425 static int dissect_probe_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3426 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_recipient_name);
3430 static const asn_namedbit OriginatorReportRequest_bits[] = {
3431 { 3, &hf_x411_OriginatorReportRequest_report, -1, -1, "report", NULL },
3432 { 4, &hf_x411_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL },
3433 { 0, NULL, 0, 0, NULL, NULL }
3437 dissect_x411_OriginatorReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3438 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3439 OriginatorReportRequest_bits, hf_index, ett_x411_OriginatorReportRequest,
3444 static int dissect_originator_report_request_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3445 return dissect_x411_OriginatorReportRequest(TRUE, tvb, offset, pinfo, tree, hf_x411_originator_report_request);
3449 static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = {
3450 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_submission_recipient_name },
3451 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
3452 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3453 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3458 dissect_x411_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3459 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3460 PerRecipientMessageSubmissionFields_set, hf_index, ett_x411_PerRecipientMessageSubmissionFields);
3464 static int dissect_per_recipient_message_submission_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3465 return dissect_x411_PerRecipientMessageSubmissionFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_submission_fields_item);
3469 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = {
3470 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_submission_fields_item },
3474 dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3475 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3476 SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields);
3480 static int dissect_per_recipient_message_submission_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3481 return dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_submission_fields);
3485 static const ber_sequence_t MessageSubmissionEnvelope_set[] = {
3486 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
3487 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3488 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3489 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3490 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
3491 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3492 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
3493 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3494 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_submission_fields_impl },
3499 dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3500 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3501 MessageSubmissionEnvelope_set, hf_index, ett_x411_MessageSubmissionEnvelope);
3505 static int dissect_message_submission_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3506 return dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_message_submission_envelope);
3510 static const ber_sequence_t MessageSubmissionArgument_sequence[] = {
3511 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_submission_envelope },
3512 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
3517 dissect_x411_MessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3518 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3519 MessageSubmissionArgument_sequence, hf_index, ett_x411_MessageSubmissionArgument);
3527 dissect_x411_MessageSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3528 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3532 static int dissect_message_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3533 return dissect_x411_MessageSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_submission_identifier);
3539 dissect_x411_MessageSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3540 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3544 static int dissect_message_submission_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3545 return dissect_x411_MessageSubmissionTime(TRUE, tvb, offset, pinfo, tree, hf_x411_message_submission_time);
3549 static const ber_sequence_t MessageSubmissionResult_set[] = {
3550 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_submission_identifier },
3551 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
3552 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3553 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3558 dissect_x411_MessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3559 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3560 MessageSubmissionResult_set, hf_index, ett_x411_MessageSubmissionResult);
3566 static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = {
3567 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_probe_recipient_name },
3568 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
3569 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3570 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3575 dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3576 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3577 PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields);
3581 static int dissect_per_recipient_probe_submission_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3582 return dissect_x411_PerRecipientProbeSubmissionFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_submission_fields_item);
3586 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
3587 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_submission_fields_item },
3591 dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3592 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3593 SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
3597 static int dissect_per_recipient_probe_submission_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3598 return dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_submission_fields);
3602 static const ber_sequence_t ProbeSubmissionEnvelope_set[] = {
3603 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
3604 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3605 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3606 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3607 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
3608 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3609 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3610 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_submission_fields_impl },
3615 dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3616 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3617 ProbeSubmissionEnvelope_set, hf_index, ett_x411_ProbeSubmissionEnvelope);
3625 dissect_x411_ProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3626 offset = dissect_x411_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3634 dissect_x411_ProbeSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3635 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3639 static int dissect_probe_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3640 return dissect_x411_ProbeSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_submission_identifier);
3646 dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3647 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3651 static int dissect_probe_submission_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3652 return dissect_x411_ProbeSubmissionTime(TRUE, tvb, offset, pinfo, tree, hf_x411_probe_submission_time);
3656 static const ber_sequence_t ProbeSubmissionResult_set[] = {
3657 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_submission_identifier },
3658 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_probe_submission_time_impl },
3659 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3660 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3665 dissect_x411_ProbeSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3666 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3667 ProbeSubmissionResult_set, hf_index, ett_x411_ProbeSubmissionResult);
3675 dissect_x411_CancelDeferredDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3676 offset = dissect_x411_MessageSubmissionIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3684 dissect_x411_CancelDeferredDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3685 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
3693 dissect_x411_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3694 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
3698 static int dissect_restrict_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3699 return dissect_x411_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_x411_restrict);
3701 static int dissect_permitted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3702 return dissect_x411_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x411_permitted);
3706 static const asn_namedbit Operations_bits[] = {
3707 { 0, &hf_x411_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL },
3708 { 1, &hf_x411_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL },
3709 { 0, NULL, 0, 0, NULL, NULL }
3713 dissect_x411_Operations(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3714 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3715 Operations_bits, hf_index, ett_x411_Operations,
3720 static int dissect_waiting_operations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3721 return dissect_x411_Operations(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_operations);
3723 static int dissect_permissible_operations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3724 return dissect_x411_Operations(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_operations);
3728 static const ber_sequence_t ContentTypes_set_of[1] = {
3729 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ContentTypes_item },
3733 dissect_x411_ContentTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3734 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3735 ContentTypes_set_of, hf_index, ett_x411_ContentTypes);
3739 static int dissect_permissible_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3740 return dissect_x411_ContentTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_content_types);
3742 static int dissect_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3743 return dissect_x411_ContentTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_content_types);
3747 static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = {
3748 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unacceptable_eits_impl },
3749 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptable_eits_impl },
3750 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_exclusively_acceptable_eits_impl },
3755 dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3756 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3757 EncodedInformationTypesConstraints_sequence, hf_index, ett_x411_EncodedInformationTypesConstraints);
3761 static int dissect_encoded_information_types_constraints_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3762 return dissect_x411_EncodedInformationTypesConstraints(TRUE, tvb, offset, pinfo, tree, hf_x411_encoded_information_types_constraints);
3768 dissect_x411_PermissibleEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3769 offset = dissect_x411_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3773 static int dissect_permissible_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3774 return dissect_x411_PermissibleEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_permissible_encoded_information_types);
3778 static const ber_sequence_t Controls_set[] = {
3779 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
3780 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
3781 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
3782 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
3783 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
3784 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
3785 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
3790 dissect_x411_Controls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3791 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3792 Controls_set, hf_index, ett_x411_Controls);
3800 dissect_x411_SubmissionControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3801 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3809 dissect_x411_SubmissionControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3810 offset = dissect_x411_SubmissionControls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3816 static const asn_namedbit WaitingMessages_bits[] = {
3817 { 0, &hf_x411_WaitingMessages_long_content, -1, -1, "long-content", NULL },
3818 { 1, &hf_x411_WaitingMessages_low_priority, -1, -1, "low-priority", NULL },
3819 { 2, &hf_x411_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL },
3820 { 0, NULL, 0, 0, NULL, NULL }
3824 dissect_x411_WaitingMessages(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3825 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3826 WaitingMessages_bits, hf_index, ett_x411_WaitingMessages,
3831 static int dissect_waiting_messages_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3832 return dissect_x411_WaitingMessages(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_messages);
3836 static const ber_sequence_t SET_OF_ContentType_set_of[1] = {
3837 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_waiting_content_types_item },
3841 dissect_x411_SET_OF_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3842 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3843 SET_OF_ContentType_set_of, hf_index, ett_x411_SET_OF_ContentType);
3847 static int dissect_waiting_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3848 return dissect_x411_SET_OF_ContentType(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_content_types);
3852 static const ber_sequence_t Waiting_set[] = {
3853 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
3854 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
3855 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
3856 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
3861 dissect_x411_Waiting(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3862 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3863 Waiting_set, hf_index, ett_x411_Waiting);
3871 dissect_x411_SubmissionControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3872 offset = dissect_x411_Waiting(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3878 static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = {
3879 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ImproperlySpecifiedRecipients_item },
3883 dissect_x411_ImproperlySpecifiedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3884 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3885 ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_x411_ImproperlySpecifiedRecipients);
3891 static const value_string x411_SecurityProblem_vals[] = {
3892 { 0, "assemby-instructions-conflict-with-security-services" },
3893 { 1, "authentication-problem" },
3894 { 2, "authentication-failure-on-subject-message" },
3895 { 3, "confidentiality-association-problem" },
3896 { 4, "decryption-failed" },
3897 { 5, "decryption-key-unobtainable" },
3898 { 6, "failure-of-proof-of-message" },
3899 { 7, "forbidden-user-security-label-register" },
3900 { 8, "incompatible-change-with-original-security-context" },
3901 { 9, "integrity-failure-on-subject-message" },
3902 { 10, "invalid-security-label" },
3903 { 11, "invalid-security-label-update" },
3904 { 12, "key-failure" },
3905 { 13, "mandatory-parameter-absence" },
3906 { 14, "operation-security-failure" },
3907 { 15, "redirection-prohibited" },
3908 { 16, "refused-alternate-recipient-name" },
3909 { 17, "repudiation-failure-of-message" },
3910 { 18, "responder-credentials-checking-problem" },
3911 { 19, "security-context-failure" },
3912 { 20, "security-context-problem" },
3913 { 21, "security-policy-violation" },
3914 { 22, "security-services-refusal" },
3915 { 23, "token-decryption-failed" },
3916 { 24, "token-error" },
3917 { 25, "unable-to-aggregate-security-labels" },
3918 { 26, "unauthorised-dl-name" },
3919 { 27, "unauthorised-entry-class" },
3920 { 28, "unauthorised-originally-intended-recipient-name" },
3921 { 29, "unauthorised-originator-name" },
3922 { 30, "unauthorised-recipient-name" },
3923 { 31, "unauthorised-security-label-update" },
3924 { 32, "unauthorised-user-name" },
3925 { 33, "unknown-security-label" },
3926 { 34, "unsupported-algorithm-identifier" },
3927 { 35, "unsupported-security-policy" },
3933 dissect_x411_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3934 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3943 dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3944 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3948 static int dissect_message_delivery_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3949 return dissect_x411_MessageDeliveryIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_delivery_identifier);
3953 static const value_string x411_DeliveredContentType_vals[] = {
3959 static const ber_choice_t DeliveredContentType_choice[] = {
3960 { 0, BER_CLASS_CON, 0, 0, dissect_built_in_impl },
3961 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
3962 { 0, 0, 0, 0, NULL }
3966 dissect_x411_DeliveredContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3967 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3968 DeliveredContentType_choice, hf_index, ett_x411_DeliveredContentType,
3973 static int dissect_delivered_content_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3974 return dissect_x411_DeliveredContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_delivered_content_type);
3980 dissect_x411_DeliveredOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3981 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3985 static int dissect_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3986 return dissect_x411_DeliveredOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_originator_name);
3990 static const asn_namedbit DeliveryFlags_bits[] = {
3991 { 1, &hf_x411_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
3992 { 0, NULL, 0, 0, NULL, NULL }
3996 dissect_x411_DeliveryFlags(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3997 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3998 DeliveryFlags_bits, hf_index, ett_x411_DeliveryFlags,
4003 static int dissect_delivery_flags_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4004 return dissect_x411_DeliveryFlags(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_flags);
4010 dissect_x411_OtherRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4011 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4015 static int dissect_OtherRecipientNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4016 return dissect_x411_OtherRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_OtherRecipientNames_item);
4020 static const ber_sequence_t OtherRecipientNames_sequence_of[1] = {
4021 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_OtherRecipientNames_item },
4025 dissect_x411_OtherRecipientNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4026 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4027 OtherRecipientNames_sequence_of, hf_index, ett_x411_OtherRecipientNames);
4031 static int dissect_other_recipient_names_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4032 return dissect_x411_OtherRecipientNames(TRUE, tvb, offset, pinfo, tree, hf_x411_other_recipient_names);
4038 dissect_x411_ThisRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4039 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4043 static int dissect_this_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4044 return dissect_x411_ThisRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_this_recipient_name);
4050 dissect_x411_MTSOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4051 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4055 static int dissect_originally_intended_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4056 return dissect_x411_MTSOriginallyIntendedRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_originally_intended_recipient_name);
4058 static int dissect_originally_intended_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4059 return dissect_x411_MTSOriginallyIntendedRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_originally_intended_recipient_name);
4063 static const ber_sequence_t OtherMessageDeliveryFields_set[] = {
4064 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_delivered_content_type },
4065 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_name },
4066 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_original_encoded_information_types_impl },
4067 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
4068 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_flags_impl },
4069 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_recipient_names_impl },
4070 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_this_recipient_name_impl },
4071 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4072 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_converted_encoded_information_types_impl },
4073 { BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
4074 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_identifier_impl },
4075 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4080 dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4081 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4082 OtherMessageDeliveryFields_set, hf_index, ett_x411_OtherMessageDeliveryFields);
4086 static int dissect_other_fields(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4087 return dissect_x411_OtherMessageDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_other_fields);
4091 static const ber_sequence_t MessageDeliveryArgument_sequence[] = {
4092 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
4093 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
4094 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
4095 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
4100 dissect_x411_MessageDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4101 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4102 MessageDeliveryArgument_sequence, hf_index, ett_x411_MessageDeliveryArgument);
4110 dissect_x411_RecipientCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4111 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4115 static int dissect_recipient_certificate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4116 return dissect_x411_RecipientCertificate(TRUE, tvb, offset, pinfo, tree, hf_x411_recipient_certificate);
4120 static const ber_sequence_t MessageDeliveryResult_set[] = {
4121 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
4122 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4127 dissect_x411_MessageDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4128 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4129 MessageDeliveryResult_set, hf_index, ett_x411_MessageDeliveryResult);
4137 dissect_x411_SubjectSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4138 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4142 static int dissect_subject_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4143 return dissect_x411_SubjectSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_submission_identifier);
4149 dissect_x411_MTSActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4150 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4154 static int dissect_actual_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4155 return dissect_x411_MTSActualRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_actual_recipient_name);
4157 static int dissect_actual_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4158 return dissect_x411_MTSActualRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_actual_recipient_name);
4162 static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = {
4163 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actual_recipient_name_impl },
4164 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_delivery_report_type_impl },
4165 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
4166 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4167 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
4168 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4173 dissect_x411_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4174 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4175 PerRecipientReportDeliveryFields_set, hf_index, ett_x411_PerRecipientReportDeliveryFields);
4179 static int dissect_per_recipient_report_delivery_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4180 return dissect_x411_PerRecipientReportDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_delivery_fields_item);
4184 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of[1] = {
4185 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields_item },
4189 dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4190 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4191 SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields);
4195 static int dissect_per_recipient_report_delivery_fields(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4196 return dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_delivery_fields);
4200 static const ber_sequence_t ReportDeliveryArgument_set[] = {
4201 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
4202 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4203 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4204 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4205 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4206 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
4207 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
4212 dissect_x411_ReportDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4213 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4214 ReportDeliveryArgument_set, hf_index, ett_x411_ReportDeliveryArgument);
4220 static const value_string x411_ReportDeliveryResult_vals[] = {
4221 { 0, "empty-result" },
4222 { 1, "extensions" },
4223 { 2, "extensions" },
4227 static const ber_choice_t ReportDeliveryResult_choice[] = {
4228 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
4229 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4230 { 2, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4231 { 3, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4232 { 0, 0, 0, 0, NULL }
4236 dissect_x411_ReportDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4237 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4238 ReportDeliveryResult_choice, hf_index, ett_x411_ReportDeliveryResult,
4245 static const ber_sequence_t DeliveryControlArgument_set[] = {
4246 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
4247 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
4248 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
4249 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
4250 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
4251 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
4252 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
4253 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4258 dissect_x411_DeliveryControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4259 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4260 DeliveryControlArgument_set, hf_index, ett_x411_DeliveryControlArgument);
4266 static const ber_sequence_t DeliveryControlResult_set[] = {
4267 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
4268 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
4269 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
4270 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
4271 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4276 dissect_x411_DeliveryControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4277 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4278 DeliveryControlResult_set, hf_index, ett_x411_DeliveryControlResult);
4284 static const value_string x411_RefusedArgument_vals[] = {
4286 { 1, "user-address" },
4287 { 2, "deliverable-content-types" },
4288 { 3, "deliverable-maximum-content-length" },
4289 { 4, "deliverable-encoded-information-types-constraints" },
4290 { 5, "deliverable-security-labels" },
4291 { 6, "recipient-assigned-redirections" },
4292 { 7, "restricted-delivery" },
4293 { 8, "retrieve-registrations" },
4295 { 11, "permissible-operations" },
4296 { 12, "permissible-lowest-priority" },
4297 { 13, "permissible-encoded-information-types" },
4298 { 14, "permissible-content-types" },
4299 { 15, "permissible-maximum-content-length" },
4300 { 16, "permissible-security-context" },
4306 dissect_x411_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4307 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4312 static int dissect_built_in_argument_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4313 return dissect_x411_RefusedArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in_argument);
4319 dissect_x411_T_refused_extension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4320 /*XXX not implemented yet */
4325 static int dissect_refused_extension(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4326 return dissect_x411_T_refused_extension(FALSE, tvb, offset, pinfo, tree, hf_x411_refused_extension);
4330 static const value_string x411_T_refused_argument_vals[] = {
4331 { 0, "built-in-argument" },
4332 { 1, "refused-extension" },
4336 static const ber_choice_t T_refused_argument_choice[] = {
4337 { 0, BER_CLASS_CON, 1, 0, dissect_built_in_argument_impl },
4338 { 1, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_refused_extension },
4339 { 0, 0, 0, 0, NULL }
4343 dissect_x411_T_refused_argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4344 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4345 T_refused_argument_choice, hf_index, ett_x411_T_refused_argument,
4350 static int dissect_refused_argument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4351 return dissect_x411_T_refused_argument(FALSE, tvb, offset, pinfo, tree, hf_x411_refused_argument);
4355 static const value_string x411_RefusalReason_vals[] = {
4356 { 0, "facility-unavailable" },
4357 { 1, "facility-not-subscribed" },
4358 { 2, "parameter-unacceptable" },
4364 dissect_x411_RefusalReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4365 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4370 static int dissect_refusal_reason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4371 return dissect_x411_RefusalReason(TRUE, tvb, offset, pinfo, tree, hf_x411_refusal_reason);
4375 static const ber_sequence_t RefusedOperation_set[] = {
4376 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_refused_argument },
4377 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_refusal_reason_impl },
4382 dissect_x411_RefusedOperation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4383 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4384 RefusedOperation_set, hf_index, ett_x411_RefusedOperation);
4392 dissect_x411_ProofOfDeliveryAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4393 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4401 dissect_x411_DeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4402 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4410 dissect_x411_UserName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4411 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4415 static int dissect_user_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4416 return dissect_x411_UserName(FALSE, tvb, offset, pinfo, tree, hf_x411_user_name);
4420 static const ber_sequence_t T_x121_sequence[] = {
4421 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x121_address },
4422 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_tsap_id },
4427 dissect_x411_T_x121(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4428 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4429 T_x121_sequence, hf_index, ett_x411_T_x121);
4433 static int dissect_x121_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4434 return dissect_x411_T_x121(TRUE, tvb, offset, pinfo, tree, hf_x411_x121);
4440 dissect_x411_PSAPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4441 offset = dissect_x509sat_PresentationAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4445 static int dissect_presentation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4446 return dissect_x411_PSAPAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_presentation);
4450 static const value_string x411_UserAddress_vals[] = {
4452 { 1, "presentation" },
4456 static const ber_choice_t UserAddress_choice[] = {
4457 { 0, BER_CLASS_CON, 0, 0, dissect_x121_impl },
4458 { 1, BER_CLASS_CON, 1, 0, dissect_presentation_impl },
4459 { 0, 0, 0, 0, NULL }
4463 dissect_x411_UserAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4464 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4465 UserAddress_choice, hf_index, ett_x411_UserAddress,
4470 static int dissect_user_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4471 return dissect_x411_UserAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_user_address);
4475 static const ber_sequence_t SET_OF_Priority_set_of[1] = {
4476 { BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_priority_item },
4480 dissect_x411_SET_OF_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4481 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4482 SET_OF_Priority_set_of, hf_index, ett_x411_SET_OF_Priority);
4486 static int dissect_class_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4487 return dissect_x411_SET_OF_Priority(TRUE, tvb, offset, pinfo, tree, hf_x411_class_priority);
4491 static const value_string x411_T_objects_vals[] = {
4500 dissect_x411_T_objects(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4501 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4506 static int dissect_objects_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4507 return dissect_x411_T_objects(TRUE, tvb, offset, pinfo, tree, hf_x411_objects);
4511 static const asn_namedbit T_source_type_bits[] = {
4512 { 0, &hf_x411_T_source_type_originated_by, -1, -1, "originated-by", NULL },
4513 { 1, &hf_x411_T_source_type_redirected_by, -1, -1, "redirected-by", NULL },
4514 { 2, &hf_x411_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL },
4515 { 0, NULL, 0, 0, NULL, NULL }
4519 dissect_x411_T_source_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4520 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4521 T_source_type_bits, hf_index, ett_x411_T_source_type,
4526 static int dissect_source_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4527 return dissect_x411_T_source_type(FALSE, tvb, offset, pinfo, tree, hf_x411_source_type);
4531 static const value_string x411_ExactOrPattern_vals[] = {
4532 { 0, "exact-match" },
4533 { 1, "pattern-match" },
4537 static const ber_choice_t ExactOrPattern_choice[] = {
4538 { 0, BER_CLASS_CON, 0, 0, dissect_exact_match_impl },
4539 { 1, BER_CLASS_CON, 1, 0, dissect_pattern_match_impl },
4540 { 0, 0, 0, 0, NULL }
4544 dissect_x411_ExactOrPattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4545 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4546 ExactOrPattern_choice, hf_index, ett_x411_ExactOrPattern,
4551 static int dissect_source_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4552 return dissect_x411_ExactOrPattern(FALSE, tvb, offset, pinfo, tree, hf_x411_source_name);
4556 static const ber_sequence_t Restriction_set[] = {
4557 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permitted },
4558 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_source_type },
4559 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_source_name },
4564 dissect_x411_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4565 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4566 Restriction_set, hf_index, ett_x411_Restriction);
4570 static int dissect_applies_only_to_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4571 return dissect_x411_Restriction(FALSE, tvb, offset, pinfo, tree, hf_x411_applies_only_to_item);
4573 static int dissect_RestrictedDelivery_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4574 return dissect_x411_Restriction(FALSE, tvb, offset, pinfo, tree, hf_x411_RestrictedDelivery_item);
4578 static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = {
4579 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_applies_only_to_item },
4583 dissect_x411_SEQUENCE_OF_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4584 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4585 SEQUENCE_OF_Restriction_sequence_of, hf_index, ett_x411_SEQUENCE_OF_Restriction);
4589 static int dissect_applies_only_to_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4590 return dissect_x411_SEQUENCE_OF_Restriction(TRUE, tvb, offset, pinfo, tree, hf_x411_applies_only_to);
4594 static const ber_sequence_t MessageClass_set[] = {
4595 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_types_impl },
4596 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximum_content_length_impl },
4597 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encoded_information_types_constraints_impl },
4598 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_labels_impl },
4599 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_class_priority_impl },
4600 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_objects_impl },
4601 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_applies_only_to_impl },
4602 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4607 dissect_x411_MessageClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4608 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4609 MessageClass_set, hf_index, ett_x411_MessageClass);
4617 dissect_x411_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4618 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4622 static int dissect_deliverable_class_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4623 return dissect_x411_DeliverableClass(FALSE, tvb, offset, pinfo, tree, hf_x411_deliverable_class_item);
4627 static const ber_sequence_t SET_OF_DeliverableClass_set_of[1] = {
4628 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_deliverable_class_item },
4632 dissect_x411_SET_OF_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4633 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4634 SET_OF_DeliverableClass_set_of, hf_index, ett_x411_SET_OF_DeliverableClass);
4638 static int dissect_deliverable_class(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4639 return dissect_x411_SET_OF_DeliverableClass(FALSE, tvb, offset, pinfo, tree, hf_x411_deliverable_class);
4645 dissect_x411_DefaultDeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4646 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4650 static int dissect_default_delivery_controls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4651 return dissect_x411_DefaultDeliveryControls(FALSE, tvb, offset, pinfo, tree, hf_x411_default_delivery_controls);
4657 dissect_x411_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4658 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4662 static int dissect_redirection_classes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4663 return dissect_x411_RedirectionClass(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_classes_item);
4667 static const ber_sequence_t SET_OF_RedirectionClass_set_of[1] = {
4668 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_redirection_classes_item },
4672 dissect_x411_SET_OF_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4673 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4674 SET_OF_RedirectionClass_set_of, hf_index, ett_x411_SET_OF_RedirectionClass);
4678 static int dissect_redirection_classes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4679 return dissect_x411_SET_OF_RedirectionClass(TRUE, tvb, offset, pinfo, tree, hf_x411_redirection_classes);
4685 dissect_x411_RecipientAssignedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4686 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4690 static int dissect_recipient_assigned_alternate_recipient_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4691 return dissect_x411_RecipientAssignedAlternateRecipient(TRUE, tvb, offset, pinfo, tree, hf_x411_recipient_assigned_alternate_recipient);
4695 static const ber_sequence_t RecipientRedirection_set[] = {
4696 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirection_classes_impl },
4697 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_assigned_alternate_recipient_impl },
4702 dissect_x411_RecipientRedirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4703 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4704 RecipientRedirection_set, hf_index, ett_x411_RecipientRedirection);
4708 static int dissect_Redirections_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4709 return dissect_x411_RecipientRedirection(FALSE, tvb, offset, pinfo, tree, hf_x411_Redirections_item);
4713 static const ber_sequence_t Redirections_sequence_of[1] = {
4714 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_Redirections_item },
4718 dissect_x411_Redirections(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4719 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4720 Redirections_sequence_of, hf_index, ett_x411_Redirections);
4724 static int dissect_redirections_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4725 return dissect_x411_Redirections(TRUE, tvb, offset, pinfo, tree, hf_x411_redirections);
4729 static const ber_sequence_t RestrictedDelivery_sequence_of[1] = {
4730 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RestrictedDelivery_item },
4734 dissect_x411_RestrictedDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4735 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4736 RestrictedDelivery_sequence_of, hf_index, ett_x411_RestrictedDelivery);
4740 static int dissect_restricted_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4741 return dissect_x411_RestrictedDelivery(TRUE, tvb, offset, pinfo, tree, hf_x411_restricted_delivery);
4745 static const asn_namedbit T_standard_parameters_bits[] = {
4746 { 0, &hf_x411_T_standard_parameters_user_name, -1, -1, "user-name", NULL },
4747 { 1, &hf_x411_T_standard_parameters_user_address, -1, -1, "user-address", NULL },
4748 { 2, &hf_x411_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL },
4749 { 3, &hf_x411_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL },
4750 { 4, &hf_x411_T_standard_parameters_redirections, -1, -1, "redirections", NULL },
4751 { 5, &hf_x411_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL },
4752 { 0, NULL, 0, 0, NULL, NULL }
4756 dissect_x411_T_standard_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4757 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4758 T_standard_parameters_bits, hf_index, ett_x411_T_standard_parameters,
4763 static int dissect_standard_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4764 return dissect_x411_T_standard_parameters(TRUE, tvb, offset, pinfo, tree, hf_x411_standard_parameters);
4770 dissect_x411_T_extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4771 /*XXX not implemented yet */
4776 static int dissect_type_extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4777 return dissect_x411_T_extensions_item(FALSE, tvb, offset, pinfo, tree, hf_x411_type_extensions_item);
4781 static const ber_sequence_t T_extensions_set_of[1] = {
4782 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_type_extensions_item },
4786 dissect_x411_T_extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4787 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4788 T_extensions_set_of, hf_index, ett_x411_T_extensions);
4792 static int dissect_type_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4793 return dissect_x411_T_extensions(TRUE, tvb, offset, pinfo, tree, hf_x411_type_extensions);
4797 static const ber_sequence_t RegistrationTypes_sequence[] = {
4798 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_standard_parameters_impl },
4799 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_extensions_impl },
4804 dissect_x411_RegistrationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4805 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4806 RegistrationTypes_sequence, hf_index, ett_x411_RegistrationTypes);
4810 static int dissect_retrieve_registrations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4811 return dissect_x411_RegistrationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_retrieve_registrations);
4815 static const ber_sequence_t RegisterArgument_set[] = {
4816 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_user_name },
4817 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_user_address_impl },
4818 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_deliverable_class },
4819 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_default_delivery_controls },
4820 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirections_impl },
4821 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restricted_delivery_impl },
4822 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_retrieve_registrations_impl },
4823 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4828 dissect_x411_RegisterArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4829 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4830 RegisterArgument_set, hf_index, ett_x411_RegisterArgument);
4834 static int dissect_registered_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4835 return dissect_x411_RegisterArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_registered_information);
4839 static const ber_sequence_t T_non_empty_result_set[] = {
4840 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_registered_information_impl },
4841 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4846 dissect_x411_T_non_empty_result(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4847 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4848 T_non_empty_result_set, hf_index, ett_x411_T_non_empty_result);
4852 static int dissect_non_empty_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4853 return dissect_x411_T_non_empty_result(FALSE, tvb, offset, pinfo, tree, hf_x411_non_empty_result);
4857 static const value_string x411_RegisterResult_vals[] = {
4858 { 0, "empty-result" },
4859 { 1, "non-empty-result" },
4863 static const ber_choice_t RegisterResult_choice[] = {
4864 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
4865 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_non_empty_result },
4866 { 0, 0, 0, 0, NULL }
4870 dissect_x411_RegisterResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4871 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4872 RegisterResult_choice, hf_index, ett_x411_RegisterResult,
4879 static const ber_sequence_t ChangeCredentialsArgument_set[] = {
4880 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_old_credentials_impl },
4881 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_new_credentials_impl },
4886 dissect_x411_ChangeCredentialsArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4887 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4888 ChangeCredentialsArgument_set, hf_index, ett_x411_ChangeCredentialsArgument);
4894 static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = {
4895 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
4896 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
4897 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
4902 dissect_x411_MessageDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4903 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4904 MessageDeliveryEnvelope_sequence, hf_index, ett_x411_MessageDeliveryEnvelope);
4910 static const ber_sequence_t ReportDeliveryEnvelope_set[] = {
4911 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
4912 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4913 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4914 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4915 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4916 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
4921 dissect_x411_ReportDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4922 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4923 ReportDeliveryEnvelope_set, hf_index, ett_x411_ReportDeliveryEnvelope);
4929 static const value_string x411_RecipientReassignmentProhibited_vals[] = {
4930 { 0, "recipient-reassignment-allowed" },
4931 { 1, "recipient-reassignment-prohibited" },
4937 dissect_x411_RecipientReassignmentProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4938 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4947 dissect_x411_MTSOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4948 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4954 static const value_string x411_DLExpansionProhibited_vals[] = {
4955 { 0, "dl-expansion-allowed" },
4956 { 1, "dl-expansion-prohibited" },
4962 dissect_x411_DLExpansionProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4963 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4970 static const value_string x411_ConversionWithLossProhibited_vals[] = {
4971 { 0, "conversion-with-loss-allowed" },
4972 { 1, "conversion-with-loss-prohibited" },
4978 dissect_x411_ConversionWithLossProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4979 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4988 dissect_x411_LatestDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4989 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4995 static const value_string x411_RequestedDeliveryMethod_item_vals[] = {
4996 { 0, "any-delivery-method" },
4997 { 1, "mhs-delivery" },
4998 { 2, "physical-delivery" },
4999 { 3, "telex-delivery" },
5000 { 4, "teletex-delivery" },
5001 { 5, "g3-facsimile-delivery" },
5002 { 6, "g4-facsimile-delivery" },
5003 { 7, "ia5-terminal-delivery" },
5004 { 8, "videotex-delivery" },
5005 { 9, "telephone-delivery" },
5011 dissect_x411_RequestedDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5012 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5017 static int dissect_RequestedDeliveryMethod_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5018 return dissect_x411_RequestedDeliveryMethod_item(FALSE, tvb, offset, pinfo, tree, hf_x411_RequestedDeliveryMethod_item);
5022 static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = {
5023 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_RequestedDeliveryMethod_item },
5027 dissect_x411_RequestedDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5028 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5029 RequestedDeliveryMethod_sequence_of, hf_index, ett_x411_RequestedDeliveryMethod);
5035 static const value_string x411_PhysicalForwardingProhibited_vals[] = {
5036 { 0, "physical-forwarding-allowed" },
5037 { 1, "physical-forwarding-prohibited" },
5043 dissect_x411_PhysicalForwardingProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5044 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5051 static const value_string x411_PhysicalForwardingAddressRequest_vals[] = {
5052 { 0, "physical-forwarding-address-not-requested" },
5053 { 1, "physical-forwarding-address-requested" },
5059 dissect_x411_PhysicalForwardingAddressRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5060 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5067 static const asn_namedbit PhysicalDeliveryModes_bits[] = {
5068 { 0, &hf_x411_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL },
5069 { 1, &hf_x411_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL },
5070 { 2, &hf_x411_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL },
5071 { 3, &hf_x411_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL },
5072 { 4, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL },
5073 { 5, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL },
5074 { 6, &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL },
5075 { 7, &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL },
5076 { 0, NULL, 0, 0, NULL, NULL }
5080 dissect_x411_PhysicalDeliveryModes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5081 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5082 PhysicalDeliveryModes_bits, hf_index, ett_x411_PhysicalDeliveryModes,
5089 static const value_string x411_RegisteredMailType_vals[] = {
5090 { 0, "non-registered-mail" },
5091 { 1, "registered-mail" },
5092 { 2, "registered-mail-to-addressee-in-person" },
5098 dissect_x411_RegisteredMailType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5099 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5108 dissect_x411_RecipientNumberForAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5109 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5110 pinfo, tree, tvb, offset, hf_index,
5119 dissect_x411_PhysicalRenditionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5120 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5127 static const ber_sequence_t ORAddress_sequence[] = {
5128 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
5129 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
5130 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
5135 dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5136 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5137 ORAddress_sequence, hf_index, ett_x411_ORAddress);
5145 dissect_x411_OriginatorReturnAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5146 offset = dissect_x411_ORAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5152 static const value_string x411_PhysicalDeliveryReportRequest_vals[] = {
5153 { 0, "return-of-undeliverable-mail-by-PDS" },
5154 { 1, "return-of-notification-by-PDS" },
5155 { 2, "return-of-notification-by-MHS" },
5156 { 3, "return-of-notification-by-MHS-and-PDS" },
5162 dissect_x411_PhysicalDeliveryReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5163 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5172 dissect_x411_OriginatorCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5173 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5181 dissect_x411_ContentConfidentialityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5182 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5190 dissect_x411_ContentIntegrityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5191 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5199 dissect_x411_MessageOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5200 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5208 dissect_x411_MessageSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5209 offset = dissect_x411_SecurityLabel(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5215 static const value_string x411_ProofOfSubmissionRequest_vals[] = {
5216 { 0, "proof-of-submission-not-requested" },
5217 { 1, "proof-of-submission-requested" },
5223 dissect_x411_ProofOfSubmissionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5224 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5231 static const value_string x411_ProofOfDeliveryRequest_vals[] = {
5232 { 0, "proof-of-delivery-not-requested" },
5233 { 1, "proof-of-delivery-requested" },
5239 dissect_x411_ProofOfDeliveryRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5240 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5247 static const value_string x411_ContentCorrelator_vals[] = {
5253 static const ber_choice_t ContentCorrelator_choice[] = {
5254 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5text },
5255 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octets },
5256 { 0, 0, 0, 0, NULL }
5260 dissect_x411_ContentCorrelator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5261 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5262 ContentCorrelator_choice, hf_index, ett_x411_ContentCorrelator,
5271 dissect_x411_ProbeOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5272 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5278 static const ber_sequence_t IntendedRecipientName_sequence[] = {
5279 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_intended_recipient },
5280 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_redirection_time },
5285 dissect_x411_IntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5286 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5287 IntendedRecipientName_sequence, hf_index, ett_x411_IntendedRecipientName);
5291 static int dissect_intended_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5292 return dissect_x411_IntendedRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_intended_recipient_name);
5296 static const value_string x411_RedirectionReason_vals[] = {
5297 { 0, "recipient-assigned-alternate-recipient" },
5298 { 1, "originator-requested-alternate-recipient" },
5299 { 2, "recipient-MD-assigned-alternate-recipient" },
5300 { 3, "directory-look-up" },
5307 dissect_x411_RedirectionReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5308 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5313 static int dissect_redirection_reason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5314 return dissect_x411_RedirectionReason(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_reason);
5318 static const ber_sequence_t Redirection_sequence[] = {
5319 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_intended_recipient_name },
5320 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_redirection_reason },
5325 dissect_x411_Redirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5326 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5327 Redirection_sequence, hf_index, ett_x411_Redirection);
5331 static int dissect_RedirectionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5332 return dissect_x411_Redirection(FALSE, tvb, offset, pinfo, tree, hf_x411_RedirectionHistory_item);
5336 static const ber_sequence_t RedirectionHistory_sequence_of[1] = {
5337 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RedirectionHistory_item },
5341 dissect_x411_RedirectionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5342 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5343 RedirectionHistory_sequence_of, hf_index, ett_x411_RedirectionHistory);
5349 static const ber_sequence_t DLExpansion_sequence[] = {
5350 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_dl },
5351 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dl_expansion_time },
5356 dissect_x411_DLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5357 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5358 DLExpansion_sequence, hf_index, ett_x411_DLExpansion);
5362 static int dissect_DLExpansionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5363 return dissect_x411_DLExpansion(FALSE, tvb, offset, pinfo, tree, hf_x411_DLExpansionHistory_item);
5367 static const ber_sequence_t DLExpansionHistory_sequence_of[1] = {
5368 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_DLExpansionHistory_item },
5372 dissect_x411_DLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5373 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5374 DLExpansionHistory_sequence_of, hf_index, ett_x411_DLExpansionHistory);
5382 dissect_x411_PhysicalForwardingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5383 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5389 static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = {
5390 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_or_dl_name },
5391 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_origination_or_expansion_time },
5396 dissect_x411_OriginatorAndDLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5397 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5398 OriginatorAndDLExpansion_sequence, hf_index, ett_x411_OriginatorAndDLExpansion);
5402 static int dissect_OriginatorAndDLExpansionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5403 return dissect_x411_OriginatorAndDLExpansion(FALSE, tvb, offset, pinfo, tree, hf_x411_OriginatorAndDLExpansionHistory_item);
5407 static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = {
5408 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_OriginatorAndDLExpansionHistory_item },
5412 dissect_x411_OriginatorAndDLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5413 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5414 OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_x411_OriginatorAndDLExpansionHistory);
5422 dissect_x411_ReportingDLName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5423 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5431 dissect_x411_ReportingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5432 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5440 dissect_x411_ReportOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5441 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5447 static const ber_sequence_t PerRecipientDeliveryReportFields_sequence[] = {
5448 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
5449 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type_of_MTS_user },
5450 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
5455 dissect_x411_PerRecipientDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5456 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5457 PerRecipientDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientDeliveryReportFields);
5461 static int dissect_report_type_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5462 return dissect_x411_PerRecipientDeliveryReportFields(TRUE, tvb, offset, pinfo, tree, hf_x411_report_type_delivery);
5466 static const ber_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = {
5467 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_non_delivery_reason_code },
5468 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_non_delivery_diagnostic_code },
5473 dissect_x411_PerRecipientNonDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5474 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5475 PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientNonDeliveryReportFields);
5479 static int dissect_non_delivery_report_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5480 return dissect_x411_PerRecipientNonDeliveryReportFields(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_report);
5484 static const value_string x411_T_report_type_vals[] = {
5486 { 1, "non-delivery" },
5490 static const ber_choice_t T_report_type_choice[] = {
5491 { 0, BER_CLASS_CON, 0, 0, dissect_report_type_delivery_impl },
5492 { 1, BER_CLASS_CON, 1, 0, dissect_non_delivery_report_impl },
5493 { 0, 0, 0, 0, NULL }
5497 dissect_x411_T_report_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5498 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5499 T_report_type_choice, hf_index, ett_x411_T_report_type,
5504 static int dissect_report_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5505 return dissect_x411_T_report_type(FALSE, tvb, offset, pinfo, tree, hf_x411_report_type);
5509 static const ber_sequence_t PerRecipientReportFields_sequence[] = {
5510 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_actual_recipient_name },
5511 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_originally_intended_recipient_name },
5512 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_report_type },
5517 dissect_x411_PerRecipientReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5518 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5519 PerRecipientReportFields_sequence, hf_index, ett_x411_PerRecipientReportFields);
5527 dissect_x411_OriginatingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5528 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5536 dissect_x411_ProofOfSubmissionAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5537 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5543 static const ber_sequence_t ReportingMTAName_sequence[] = {
5544 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
5545 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
5546 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mta_directory_name_impl },
5551 dissect_x411_ReportingMTAName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5552 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5553 ReportingMTAName_sequence, hf_index, ett_x411_ReportingMTAName);
5559 static const value_string x411_ExtendedCertificate_vals[] = {
5560 { 0, "directory-entry" },
5561 { 1, "certificate" },
5565 static const ber_choice_t ExtendedCertificate_choice[] = {
5566 { 0, BER_CLASS_CON, 0, 0, dissect_directory_entry_impl },
5567 { 1, BER_CLASS_CON, 1, 0, dissect_certificate_impl },
5568 { 0, 0, 0, 0, NULL }
5572 dissect_x411_ExtendedCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5573 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5574 ExtendedCertificate_choice, hf_index, ett_x411_ExtendedCertificate,
5579 static int dissect_ExtendedCertificates_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5580 return dissect_x411_ExtendedCertificate(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtendedCertificates_item);
5584 static const ber_sequence_t ExtendedCertificates_set_of[1] = {
5585 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ExtendedCertificates_item },
5589 dissect_x411_ExtendedCertificates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5590 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5591 ExtendedCertificates_set_of, hf_index, ett_x411_ExtendedCertificates);
5597 static const ber_sequence_t DLExemptedRecipients_set_of[1] = {
5598 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_DLExemptedRecipients_item },
5602 dissect_x411_DLExemptedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5603 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5604 DLExemptedRecipients_set_of, hf_index, ett_x411_DLExemptedRecipients);
5610 static const ber_sequence_t CertificateSelectors_set[] = {
5611 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_recipient_impl },
5612 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_originator_impl },
5613 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_check_impl },
5614 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_token_signature_impl },
5615 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_origin_authentication_impl },
5620 dissect_x411_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5621 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5622 CertificateSelectors_set, hf_index, ett_x411_CertificateSelectors);
5630 dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5631 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
5632 pinfo, tree, tvb, offset, hf_index,
5641 dissect_x411_TeletexCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5642 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5643 pinfo, tree, tvb, offset, hf_index,
5652 dissect_x411_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5653 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
5654 pinfo, tree, tvb, offset, hf_index,
5659 static int dissect_two_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5660 return dissect_x411_BMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_two_octets);
5666 dissect_x411_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5667 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
5668 pinfo, tree, tvb, offset, hf_index,
5673 static int dissect_four_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5674 return dissect_x411_UniversalString(FALSE, tvb, offset, pinfo, tree, hf_x411_four_octets);
5678 static const value_string x411_T_character_encoding_vals[] = {
5679 { 0, "two-octets" },
5680 { 1, "four-octets" },
5684 static const ber_choice_t T_character_encoding_choice[] = {
5685 { 0, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_two_octets },
5686 { 1, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_four_octets },
5687 { 0, 0, 0, 0, NULL }
5691 dissect_x411_T_character_encoding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5692 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5693 T_character_encoding_choice, hf_index, ett_x411_T_character_encoding,
5698 static int dissect_character_encoding(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5699 return dissect_x411_T_character_encoding(FALSE, tvb, offset, pinfo, tree, hf_x411_character_encoding);
5703 static const ber_sequence_t UniversalOrBMPString_set[] = {
5704 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_character_encoding },
5705 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_iso_639_language_code },
5710 dissect_x411_UniversalOrBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5711 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5712 UniversalOrBMPString_set, hf_index, ett_x411_UniversalOrBMPString);
5716 static int dissect_universal_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5717 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_surname);
5719 static int dissect_universal_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5720 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_given_name);
5722 static int dissect_universal_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5723 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_initials);
5725 static int dissect_universal_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5726 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_generation_qualifier);
5728 static int dissect_universal_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5729 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_universal_type);
5731 static int dissect_universal_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5732 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_universal_value);
5738 dissect_x411_UniversalCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5739 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5747 dissect_x411_TeletexOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5748 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5749 pinfo, tree, tvb, offset, hf_index,
5758 dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5759 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5765 static const ber_sequence_t TeletexPersonalName_set[] = {
5766 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_teletex_surname_impl },
5767 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_given_name_impl },
5768 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_initials_impl },
5769 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_generation_qualifier_impl },
5774 dissect_x411_TeletexPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5775 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5776 TeletexPersonalName_set, hf_index, ett_x411_TeletexPersonalName);
5782 static const ber_sequence_t UniversalPersonalName_set[] = {
5783 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_universal_surname_impl },
5784 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_given_name_impl },
5785 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_initials_impl },
5786 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_generation_qualifier_impl },
5791 dissect_x411_UniversalPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5792 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5793 UniversalPersonalName_set, hf_index, ett_x411_UniversalPersonalName);
5801 dissect_x411_TeletexOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5802 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5803 pinfo, tree, tvb, offset, hf_index,
5808 static int dissect_TeletexOrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5809 return dissect_x411_TeletexOrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_TeletexOrganizationalUnitNames_item);
5813 static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = {
5814 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_TeletexOrganizationalUnitNames_item },
5818 dissect_x411_TeletexOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5819 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5820 TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_x411_TeletexOrganizationalUnitNames);
5828 dissect_x411_UniversalOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5829 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5833 static int dissect_UniversalOrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5834 return dissect_x411_UniversalOrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_UniversalOrganizationalUnitNames_item);
5838 static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = {
5839 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_UniversalOrganizationalUnitNames_item },
5843 dissect_x411_UniversalOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5844 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5845 UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_x411_UniversalOrganizationalUnitNames);
5853 dissect_x411_PDSName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5854 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
5855 pinfo, tree, tvb, offset, hf_index,
5862 static const value_string x411_PhysicalDeliveryCountryName_vals[] = {
5863 { 0, "x121-dcc-code" },
5864 { 1, "iso-3166-alpha2-code" },
5868 static const ber_choice_t PhysicalDeliveryCountryName_choice[] = {
5869 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
5870 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
5871 { 0, 0, 0, 0, NULL }
5875 dissect_x411_PhysicalDeliveryCountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5876 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5877 PhysicalDeliveryCountryName_choice, hf_index, ett_x411_PhysicalDeliveryCountryName,
5884 static const value_string x411_PostalCode_vals[] = {
5885 { 0, "numeric-code" },
5886 { 1, "printable-code" },
5890 static const ber_choice_t PostalCode_choice[] = {
5891 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric_code },
5892 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_code },
5893 { 0, 0, 0, 0, NULL }
5897 dissect_x411_PostalCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5898 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5899 PostalCode_choice, hf_index, ett_x411_PostalCode,
5906 static const ber_sequence_t PDSParameter_set[] = {
5907 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_string },
5908 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
5913 dissect_x411_PDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5914 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5915 PDSParameter_set, hf_index, ett_x411_PDSParameter);
5923 dissect_x411_PhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5924 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5932 dissect_x411_UniversalPDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5933 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5941 dissect_x411_UniversalPhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5942 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5950 dissect_x411_PhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5951 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5959 dissect_x411_UniversalPhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5960 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5968 dissect_x411_ExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5969 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5977 dissect_x411_UniversalExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5978 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5986 dissect_x411_PhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5987 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5995 dissect_x411_UniversalPhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5996 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6004 dissect_x411_PhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6005 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6013 dissect_x411_UniversalPhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6014 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6022 dissect_x411_ExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6023 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6031 dissect_x411_UniversalExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6032 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6038 static const ber_sequence_t T_printable_address_sequence_of[1] = {
6039 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_address_item },
6043 dissect_x411_T_printable_address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6044 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6045 T_printable_address_sequence_of, hf_index, ett_x411_T_printable_address);
6049 static int dissect_printable_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6050 return dissect_x411_T_printable_address(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_address);
6054 static const ber_sequence_t UnformattedPostalAddress_set[] = {
6055 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_address },
6056 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6061 dissect_x411_UnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6062 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6063 UnformattedPostalAddress_set, hf_index, ett_x411_UnformattedPostalAddress);
6071 dissect_x411_UniversalUnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6072 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6080 dissect_x411_StreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6081 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6089 dissect_x411_UniversalStreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6090 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6098 dissect_x411_PostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6099 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6107 dissect_x411_UniversalPostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6108 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6116 dissect_x411_UniversalPosteRestanteAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6117 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6125 dissect_x411_UniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6126 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6134 dissect_x411_UniversalUniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6135 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6143 dissect_x411_LocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6144 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6152 dissect_x411_UniversalLocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6153 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6159 static const ber_sequence_t T_e163_4_address_sequence[] = {
6160 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_number_impl },
6161 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sub_address_impl },
6166 dissect_x411_T_e163_4_address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6167 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6168 T_e163_4_address_sequence, hf_index, ett_x411_T_e163_4_address);
6172 static int dissect_e163_4_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6173 return dissect_x411_T_e163_4_address(FALSE, tvb, offset, pinfo, tree, hf_x411_e163_4_address);
6177 static const value_string x411_ExtendedNetworkAddress_vals[] = {
6178 { 0, "e163-4-address" },
6179 { 1, "psap-address" },
6183 static const ber_choice_t ExtendedNetworkAddress_choice[] = {
6184 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_e163_4_address },
6185 { 1, BER_CLASS_CON, 0, 0, dissect_psap_address_impl },
6186 { 0, 0, 0, 0, NULL }
6190 dissect_x411_ExtendedNetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6191 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6192 ExtendedNetworkAddress_choice, hf_index, ett_x411_ExtendedNetworkAddress,
6199 static const value_string x411_TerminalType_vals[] = {
6202 { 5, "g3-facsimile" },
6203 { 6, "g4-facsimile" },
6204 { 7, "ia5-terminal" },
6211 dissect_x411_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6212 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6219 static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
6220 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_type },
6221 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletex_value },
6226 dissect_x411_TeletexDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6227 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6228 TeletexDomainDefinedAttribute_sequence, hf_index, ett_x411_TeletexDomainDefinedAttribute);
6232 static int dissect_TeletexDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6233 return dissect_x411_TeletexDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_TeletexDomainDefinedAttributes_item);
6237 static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = {
6238 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TeletexDomainDefinedAttributes_item },
6242 dissect_x411_TeletexDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6243 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6244 TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_x411_TeletexDomainDefinedAttributes);
6250 static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = {
6251 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_type },
6252 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_value },
6257 dissect_x411_UniversalDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6258 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6259 UniversalDomainDefinedAttribute_sequence, hf_index, ett_x411_UniversalDomainDefinedAttribute);
6263 static int dissect_UniversalDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6264 return dissect_x411_UniversalDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_UniversalDomainDefinedAttributes_item);
6268 static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = {
6269 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_UniversalDomainDefinedAttributes_item },
6273 dissect_x411_UniversalDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6274 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6275 UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_x411_UniversalDomainDefinedAttributes);
6281 static const ber_sequence_t NonBasicParameters_set[] = {
6282 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
6283 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
6288 dissect_x411_NonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6289 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6290 NonBasicParameters_set, hf_index, ett_x411_NonBasicParameters);
6297 static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6298 dissect_x411_InternalTraceInformation(FALSE, tvb, 0, pinfo, tree, hf_x411_InternalTraceInformation_PDU);
6300 static void dissect_TraceInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6301 dissect_x411_TraceInformation(TRUE, tvb, 0, pinfo, tree, hf_x411_TraceInformation_PDU);
6303 static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6304 dissect_x411_RecipientReassignmentProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientReassignmentProhibited_PDU);
6306 static void dissect_MTSOriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6307 dissect_x411_MTSOriginatorRequestedAlternateRecipient(FALSE, tvb, 0, pinfo, tree, hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU);
6309 static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6310 dissect_x411_DLExpansionProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExpansionProhibited_PDU);
6312 static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6313 dissect_x411_ConversionWithLossProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_ConversionWithLossProhibited_PDU);
6315 static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6316 dissect_x411_LatestDeliveryTime(FALSE, tvb, 0, pinfo, tree, hf_x411_LatestDeliveryTime_PDU);
6318 static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6319 dissect_x411_RequestedDeliveryMethod(FALSE, tvb, 0, pinfo, tree, hf_x411_RequestedDeliveryMethod_PDU);
6321 static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6322 dissect_x411_PhysicalForwardingProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingProhibited_PDU);
6324 static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6325 dissect_x411_PhysicalForwardingAddressRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingAddressRequest_PDU);
6327 static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6328 dissect_x411_PhysicalDeliveryModes(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryModes_PDU);
6330 static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6331 dissect_x411_RegisteredMailType(FALSE, tvb, 0, pinfo, tree, hf_x411_RegisteredMailType_PDU);
6333 static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6334 dissect_x411_RecipientNumberForAdvice(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientNumberForAdvice_PDU);
6336 static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6337 dissect_x411_PhysicalRenditionAttributes(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalRenditionAttributes_PDU);
6339 static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6340 dissect_x411_OriginatorReturnAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorReturnAddress_PDU);
6342 static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6343 dissect_x411_PhysicalDeliveryReportRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryReportRequest_PDU);
6345 static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6346 dissect_x411_OriginatorCertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorCertificate_PDU);
6348 static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6349 dissect_x411_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU);
6351 static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6352 dissect_x411_MessageSecurityLabel(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageSecurityLabel_PDU);
6354 static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6355 dissect_x411_ProofOfSubmissionRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfSubmissionRequest_PDU);
6357 static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6358 dissect_x411_ProofOfDeliveryRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfDeliveryRequest_PDU);
6360 static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6361 dissect_x411_ContentCorrelator(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentCorrelator_PDU);
6363 static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6364 dissect_x411_RedirectionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_RedirectionHistory_PDU);
6366 static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6367 dissect_x411_DLExpansionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExpansionHistory_PDU);
6369 static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6370 dissect_x411_PhysicalForwardingAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingAddress_PDU);
6372 static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6373 dissect_x411_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorAndDLExpansionHistory_PDU);
6375 static void dissect_ReportingDLName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6376 dissect_x411_ReportingDLName(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingDLName_PDU);
6378 static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6379 dissect_x411_ReportingMTACertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingMTACertificate_PDU);
6381 static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6382 dissect_x411_ReportingMTAName(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingMTAName_PDU);
6384 static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6385 dissect_x411_ExtendedCertificates(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedCertificates_PDU);
6387 static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6388 dissect_x411_DLExemptedRecipients(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExemptedRecipients_PDU);
6390 static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6391 dissect_x411_CertificateSelectors(FALSE, tvb, 0, pinfo, tree, hf_x411_CertificateSelectors_PDU);
6393 static void dissect_CommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6394 dissect_x411_CommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_CommonName_PDU);
6396 static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6397 dissect_x411_TeletexCommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexCommonName_PDU);
6399 static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6400 dissect_x411_UniversalCommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalCommonName_PDU);
6402 static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6403 dissect_x411_TeletexOrganizationName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexOrganizationName_PDU);
6405 static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6406 dissect_x411_UniversalOrganizationName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalOrganizationName_PDU);
6408 static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6409 dissect_x411_TeletexPersonalName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexPersonalName_PDU);
6411 static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6412 dissect_x411_UniversalPersonalName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalPersonalName_PDU);
6414 static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6415 dissect_x411_TeletexOrganizationalUnitNames(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexOrganizationalUnitNames_PDU);
6417 static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6418 dissect_x411_UniversalOrganizationalUnitNames(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalOrganizationalUnitNames_PDU);
6420 static void dissect_PDSName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6421 dissect_x411_PDSName(FALSE, tvb, 0, pinfo, tree, hf_x411_PDSName_PDU);
6423 static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6424 dissect_x411_PhysicalDeliveryCountryName(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryCountryName_PDU);
6426 static void dissect_PostalCode_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6427 dissect_x411_PostalCode(FALSE, tvb, 0, pinfo, tree, hf_x411_PostalCode_PDU);
6429 static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
6430 dissect_x411_PhysicalDeliveryOfficeName(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryOfficeName_PDU);
6434 /*--- End of included file: packet-x411-fn.c ---*/
6438 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
6441 char extension_oid[BER_MAX_OID_STR_LEN];
6443 sprintf(extension_oid, "%s.%d", base_oid, extension_id);
6445 return call_ber_oid_callback(extension_oid, tvb, offset, pinfo, tree);
6451 * Dissect X411 PDUs inside a PPDU.
6454 dissect_x411(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
6458 proto_item *item=NULL;
6459 proto_tree *tree=NULL;
6460 int (*x411_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) = NULL;
6463 /* do we have operation information from the ROS dissector? */
6464 if( !pinfo->private_data ){
6466 proto_tree_add_text(parent_tree, tvb, offset, -1,
6467 "Internal error: can't get operation information from ROS dissector.");
6471 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
6475 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
6476 tree = proto_item_add_subtree(item, ett_x411);
6478 if (check_col(pinfo->cinfo, COL_PROTOCOL))
6479 col_set_str(pinfo->cinfo, COL_PROTOCOL, "X411");
6480 if (check_col(pinfo->cinfo, COL_INFO))
6481 col_clear(pinfo->cinfo, COL_INFO);
6483 switch(session->ros_op & ROS_OP_MASK) {
6484 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
6485 x411_dissector = dissect_x411_MTABindArgument;
6486 x411_op_name = "MTA-Bind-Argument";
6488 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
6489 x411_dissector = dissect_x411_MTABindResult;
6490 x411_op_name = "MTA-Bind-Result";
6492 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
6493 x411_dissector = dissect_x411_MTS_APDU;
6494 x411_op_name = "MTA-Transfer";
6497 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported X411 PDU");
6501 if (check_col(pinfo->cinfo, COL_INFO))
6502 col_add_str(pinfo->cinfo, COL_INFO, x411_op_name);
6504 while (tvb_reported_length_remaining(tvb, offset) > 0){
6506 offset=(*x411_dissector)(TRUE, tvb, offset, pinfo , tree, -1);
6507 if(offset == old_offset){
6508 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte X411 PDU");
6509 offset = tvb_length(tvb);
6516 /*--- proto_register_x411 -------------------------------------------*/
6517 void proto_register_x411(void) {
6519 /* List of fields */
6520 static hf_register_info hf[] =
6523 /*--- Included file: packet-x411-hfarr.c ---*/
6525 { &hf_x411_InternalTraceInformation_PDU,
6526 { "InternalTraceInformation", "x411.InternalTraceInformation",
6527 FT_UINT32, BASE_DEC, NULL, 0,
6528 "InternalTraceInformation", HFILL }},
6529 { &hf_x411_TraceInformation_PDU,
6530 { "TraceInformation", "x411.TraceInformation",
6531 FT_UINT32, BASE_DEC, NULL, 0,
6532 "TraceInformation", HFILL }},
6533 { &hf_x411_RecipientReassignmentProhibited_PDU,
6534 { "RecipientReassignmentProhibited", "x411.RecipientReassignmentProhibited",
6535 FT_UINT32, BASE_DEC, VALS(x411_RecipientReassignmentProhibited_vals), 0,
6536 "RecipientReassignmentProhibited", HFILL }},
6537 { &hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU,
6538 { "MTSOriginatorRequestedAlternateRecipient", "x411.MTSOriginatorRequestedAlternateRecipient",
6539 FT_NONE, BASE_NONE, NULL, 0,
6540 "MTSOriginatorRequestedAlternateRecipient", HFILL }},
6541 { &hf_x411_DLExpansionProhibited_PDU,
6542 { "DLExpansionProhibited", "x411.DLExpansionProhibited",
6543 FT_UINT32, BASE_DEC, VALS(x411_DLExpansionProhibited_vals), 0,
6544 "DLExpansionProhibited", HFILL }},
6545 { &hf_x411_ConversionWithLossProhibited_PDU,
6546 { "ConversionWithLossProhibited", "x411.ConversionWithLossProhibited",
6547 FT_UINT32, BASE_DEC, VALS(x411_ConversionWithLossProhibited_vals), 0,
6548 "ConversionWithLossProhibited", HFILL }},
6549 { &hf_x411_LatestDeliveryTime_PDU,
6550 { "LatestDeliveryTime", "x411.LatestDeliveryTime",
6551 FT_STRING, BASE_NONE, NULL, 0,
6552 "LatestDeliveryTime", HFILL }},
6553 { &hf_x411_RequestedDeliveryMethod_PDU,
6554 { "RequestedDeliveryMethod", "x411.RequestedDeliveryMethod",
6555 FT_UINT32, BASE_DEC, NULL, 0,
6556 "RequestedDeliveryMethod", HFILL }},
6557 { &hf_x411_PhysicalForwardingProhibited_PDU,
6558 { "PhysicalForwardingProhibited", "x411.PhysicalForwardingProhibited",
6559 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingProhibited_vals), 0,
6560 "PhysicalForwardingProhibited", HFILL }},
6561 { &hf_x411_PhysicalForwardingAddressRequest_PDU,
6562 { "PhysicalForwardingAddressRequest", "x411.PhysicalForwardingAddressRequest",
6563 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingAddressRequest_vals), 0,
6564 "PhysicalForwardingAddressRequest", HFILL }},
6565 { &hf_x411_PhysicalDeliveryModes_PDU,
6566 { "PhysicalDeliveryModes", "x411.PhysicalDeliveryModes",
6567 FT_BYTES, BASE_HEX, NULL, 0,
6568 "PhysicalDeliveryModes", HFILL }},
6569 { &hf_x411_RegisteredMailType_PDU,
6570 { "RegisteredMailType", "x411.RegisteredMailType",
6571 FT_UINT32, BASE_DEC, VALS(x411_RegisteredMailType_vals), 0,
6572 "RegisteredMailType", HFILL }},
6573 { &hf_x411_RecipientNumberForAdvice_PDU,
6574 { "RecipientNumberForAdvice", "x411.RecipientNumberForAdvice",
6575 FT_STRING, BASE_NONE, NULL, 0,
6576 "RecipientNumberForAdvice", HFILL }},
6577 { &hf_x411_PhysicalRenditionAttributes_PDU,
6578 { "PhysicalRenditionAttributes", "x411.PhysicalRenditionAttributes",
6579 FT_STRING, BASE_NONE, NULL, 0,
6580 "PhysicalRenditionAttributes", HFILL }},
6581 { &hf_x411_OriginatorReturnAddress_PDU,
6582 { "OriginatorReturnAddress", "x411.OriginatorReturnAddress",
6583 FT_NONE, BASE_NONE, NULL, 0,
6584 "OriginatorReturnAddress", HFILL }},
6585 { &hf_x411_PhysicalDeliveryReportRequest_PDU,
6586 { "PhysicalDeliveryReportRequest", "x411.PhysicalDeliveryReportRequest",
6587 FT_INT32, BASE_DEC, VALS(x411_PhysicalDeliveryReportRequest_vals), 0,
6588 "PhysicalDeliveryReportRequest", HFILL }},
6589 { &hf_x411_OriginatorCertificate_PDU,
6590 { "OriginatorCertificate", "x411.OriginatorCertificate",
6591 FT_NONE, BASE_NONE, NULL, 0,
6592 "OriginatorCertificate", HFILL }},
6593 { &hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU,
6594 { "ContentConfidentialityAlgorithmIdentifier", "x411.ContentConfidentialityAlgorithmIdentifier",
6595 FT_NONE, BASE_NONE, NULL, 0,
6596 "ContentConfidentialityAlgorithmIdentifier", HFILL }},
6597 { &hf_x411_MessageSecurityLabel_PDU,
6598 { "MessageSecurityLabel", "x411.MessageSecurityLabel",
6599 FT_NONE, BASE_NONE, NULL, 0,
6600 "MessageSecurityLabel", HFILL }},
6601 { &hf_x411_ProofOfSubmissionRequest_PDU,
6602 { "ProofOfSubmissionRequest", "x411.ProofOfSubmissionRequest",
6603 FT_UINT32, BASE_DEC, VALS(x411_ProofOfSubmissionRequest_vals), 0,
6604 "ProofOfSubmissionRequest", HFILL }},
6605 { &hf_x411_ProofOfDeliveryRequest_PDU,
6606 { "ProofOfDeliveryRequest", "x411.ProofOfDeliveryRequest",
6607 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
6608 "ProofOfDeliveryRequest", HFILL }},
6609 { &hf_x411_ContentCorrelator_PDU,
6610 { "ContentCorrelator", "x411.ContentCorrelator",
6611 FT_UINT32, BASE_DEC, VALS(x411_ContentCorrelator_vals), 0,
6612 "ContentCorrelator", HFILL }},
6613 { &hf_x411_RedirectionHistory_PDU,
6614 { "RedirectionHistory", "x411.RedirectionHistory",
6615 FT_UINT32, BASE_DEC, NULL, 0,
6616 "RedirectionHistory", HFILL }},
6617 { &hf_x411_DLExpansionHistory_PDU,
6618 { "DLExpansionHistory", "x411.DLExpansionHistory",
6619 FT_UINT32, BASE_DEC, NULL, 0,
6620 "DLExpansionHistory", HFILL }},
6621 { &hf_x411_PhysicalForwardingAddress_PDU,
6622 { "PhysicalForwardingAddress", "x411.PhysicalForwardingAddress",
6623 FT_NONE, BASE_NONE, NULL, 0,
6624 "PhysicalForwardingAddress", HFILL }},
6625 { &hf_x411_OriginatorAndDLExpansionHistory_PDU,
6626 { "OriginatorAndDLExpansionHistory", "x411.OriginatorAndDLExpansionHistory",
6627 FT_UINT32, BASE_DEC, NULL, 0,
6628 "OriginatorAndDLExpansionHistory", HFILL }},
6629 { &hf_x411_ReportingDLName_PDU,
6630 { "ReportingDLName", "x411.ReportingDLName",
6631 FT_NONE, BASE_NONE, NULL, 0,
6632 "ReportingDLName", HFILL }},
6633 { &hf_x411_ReportingMTACertificate_PDU,
6634 { "ReportingMTACertificate", "x411.ReportingMTACertificate",
6635 FT_NONE, BASE_NONE, NULL, 0,
6636 "ReportingMTACertificate", HFILL }},
6637 { &hf_x411_ReportingMTAName_PDU,
6638 { "ReportingMTAName", "x411.ReportingMTAName",
6639 FT_NONE, BASE_NONE, NULL, 0,
6640 "ReportingMTAName", HFILL }},
6641 { &hf_x411_ExtendedCertificates_PDU,
6642 { "ExtendedCertificates", "x411.ExtendedCertificates",
6643 FT_UINT32, BASE_DEC, NULL, 0,
6644 "ExtendedCertificates", HFILL }},
6645 { &hf_x411_DLExemptedRecipients_PDU,
6646 { "DLExemptedRecipients", "x411.DLExemptedRecipients",
6647 FT_UINT32, BASE_DEC, NULL, 0,
6648 "DLExemptedRecipients", HFILL }},
6649 { &hf_x411_CertificateSelectors_PDU,
6650 { "CertificateSelectors", "x411.CertificateSelectors",
6651 FT_NONE, BASE_NONE, NULL, 0,
6652 "CertificateSelectors", HFILL }},
6653 { &hf_x411_CommonName_PDU,
6654 { "CommonName", "x411.CommonName",
6655 FT_STRING, BASE_NONE, NULL, 0,
6656 "CommonName", HFILL }},
6657 { &hf_x411_TeletexCommonName_PDU,
6658 { "TeletexCommonName", "x411.TeletexCommonName",
6659 FT_STRING, BASE_NONE, NULL, 0,
6660 "TeletexCommonName", HFILL }},
6661 { &hf_x411_UniversalCommonName_PDU,
6662 { "UniversalCommonName", "x411.UniversalCommonName",
6663 FT_NONE, BASE_NONE, NULL, 0,
6664 "UniversalCommonName", HFILL }},
6665 { &hf_x411_TeletexOrganizationName_PDU,
6666 { "TeletexOrganizationName", "x411.TeletexOrganizationName",
6667 FT_STRING, BASE_NONE, NULL, 0,
6668 "TeletexOrganizationName", HFILL }},
6669 { &hf_x411_UniversalOrganizationName_PDU,
6670 { "UniversalOrganizationName", "x411.UniversalOrganizationName",
6671 FT_NONE, BASE_NONE, NULL, 0,
6672 "UniversalOrganizationName", HFILL }},
6673 { &hf_x411_TeletexPersonalName_PDU,
6674 { "TeletexPersonalName", "x411.TeletexPersonalName",
6675 FT_NONE, BASE_NONE, NULL, 0,
6676 "TeletexPersonalName", HFILL }},
6677 { &hf_x411_UniversalPersonalName_PDU,
6678 { "UniversalPersonalName", "x411.UniversalPersonalName",
6679 FT_NONE, BASE_NONE, NULL, 0,
6680 "UniversalPersonalName", HFILL }},
6681 { &hf_x411_TeletexOrganizationalUnitNames_PDU,
6682 { "TeletexOrganizationalUnitNames", "x411.TeletexOrganizationalUnitNames",
6683 FT_UINT32, BASE_DEC, NULL, 0,
6684 "TeletexOrganizationalUnitNames", HFILL }},
6685 { &hf_x411_UniversalOrganizationalUnitNames_PDU,
6686 { "UniversalOrganizationalUnitNames", "x411.UniversalOrganizationalUnitNames",
6687 FT_UINT32, BASE_DEC, NULL, 0,
6688 "UniversalOrganizationalUnitNames", HFILL }},
6689 { &hf_x411_PDSName_PDU,
6690 { "PDSName", "x411.PDSName",
6691 FT_STRING, BASE_NONE, NULL, 0,
6692 "PDSName", HFILL }},
6693 { &hf_x411_PhysicalDeliveryCountryName_PDU,
6694 { "PhysicalDeliveryCountryName", "x411.PhysicalDeliveryCountryName",
6695 FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryCountryName_vals), 0,
6696 "PhysicalDeliveryCountryName", HFILL }},
6697 { &hf_x411_PostalCode_PDU,
6698 { "PostalCode", "x411.PostalCode",
6699 FT_UINT32, BASE_DEC, VALS(x411_PostalCode_vals), 0,
6700 "PostalCode", HFILL }},
6701 { &hf_x411_PhysicalDeliveryOfficeName_PDU,
6702 { "PhysicalDeliveryOfficeName", "x411.PhysicalDeliveryOfficeName",
6703 FT_NONE, BASE_NONE, NULL, 0,
6704 "PhysicalDeliveryOfficeName", HFILL }},
6705 { &hf_x411_unauthenticated,
6706 { "unauthenticated", "x411.unauthenticated",
6707 FT_NONE, BASE_NONE, NULL, 0,
6709 { &hf_x411_authenticated_argument,
6710 { "authenticated", "x411.authenticated",
6711 FT_NONE, BASE_NONE, NULL, 0,
6712 "MTABindArgument/authenticated", HFILL }},
6713 { &hf_x411_authenticated_initiator_name,
6714 { "initiator-name", "x411.initiator_name",
6715 FT_STRING, BASE_NONE, NULL, 0,
6716 "MTABindArgument/authenticated/initiator-name", HFILL }},
6717 { &hf_x411_initiator_credentials,
6718 { "initiator-credentials", "x411.initiator_credentials",
6719 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
6721 { &hf_x411_security_context,
6722 { "security-context", "x411.security_context",
6723 FT_UINT32, BASE_DEC, NULL, 0,
6725 { &hf_x411_authenticated_result,
6726 { "authenticated", "x411.authenticated",
6727 FT_NONE, BASE_NONE, NULL, 0,
6728 "MTABindResult/authenticated", HFILL }},
6729 { &hf_x411_authenticated_responder_name,
6730 { "responder-name", "x411.responder_name",
6731 FT_STRING, BASE_NONE, NULL, 0,
6732 "MTABindResult/authenticated/responder-name", HFILL }},
6733 { &hf_x411_responder_credentials,
6734 { "responder-credentials", "x411.responder_credentials",
6735 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
6738 { "message", "x411.message",
6739 FT_NONE, BASE_NONE, NULL, 0,
6740 "MTS-APDU/message", HFILL }},
6742 { "probe", "x411.probe",
6743 FT_NONE, BASE_NONE, NULL, 0,
6744 "MTS-APDU/probe", HFILL }},
6746 { "report", "x411.report",
6747 FT_NONE, BASE_NONE, NULL, 0,
6748 "MTS-APDU/report", HFILL }},
6749 { &hf_x411_message_envelope,
6750 { "envelope", "x411.envelope",
6751 FT_NONE, BASE_NONE, NULL, 0,
6752 "Message/envelope", HFILL }},
6754 { "content", "x411.content",
6755 FT_BYTES, BASE_HEX, NULL, 0,
6757 { &hf_x411_report_envelope,
6758 { "envelope", "x411.envelope",
6759 FT_NONE, BASE_NONE, NULL, 0,
6760 "Report/envelope", HFILL }},
6761 { &hf_x411_report_content,
6762 { "content", "x411.content",
6763 FT_NONE, BASE_NONE, NULL, 0,
6764 "Report/content", HFILL }},
6765 { &hf_x411_message_identifier,
6766 { "message-identifier", "x411.message_identifier",
6767 FT_NONE, BASE_NONE, NULL, 0,
6768 "MessageTransferEnvelope/message-identifier", HFILL }},
6769 { &hf_x411_mta_originator_name,
6770 { "originator-name", "x411.originator_name",
6771 FT_NONE, BASE_NONE, NULL, 0,
6773 { &hf_x411_original_encoded_information_types,
6774 { "original-encoded-information-types", "x411.original_encoded_information_types",
6775 FT_NONE, BASE_NONE, NULL, 0,
6777 { &hf_x411_content_type,
6778 { "content-type", "x411.content_type",
6779 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
6781 { &hf_x411_content_identifier,
6782 { "content-identifier", "x411.content_identifier",
6783 FT_STRING, BASE_NONE, NULL, 0,
6785 { &hf_x411_priority,
6786 { "priority", "x411.priority",
6787 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
6789 { &hf_x411_per_message_indicators,
6790 { "per-message-indicators", "x411.per_message_indicators",
6791 FT_BYTES, BASE_HEX, NULL, 0,
6793 { &hf_x411_deferred_delivery_time,
6794 { "deferred-delivery-time", "x411.deferred_delivery_time",
6795 FT_STRING, BASE_NONE, NULL, 0,
6797 { &hf_x411_per_domain_bilateral_information,
6798 { "per-domain-bilateral-information", "x411.per_domain_bilateral_information",
6799 FT_UINT32, BASE_DEC, NULL, 0,
6801 { &hf_x411_per_domain_bilateral_information_item,
6802 { "Item", "x411.per_domain_bilateral_information_item",
6803 FT_NONE, BASE_NONE, NULL, 0,
6805 { &hf_x411_trace_information,
6806 { "trace-information", "x411.trace_information",
6807 FT_UINT32, BASE_DEC, NULL, 0,
6809 { &hf_x411_extensions,
6810 { "extensions", "x411.extensions",
6811 FT_UINT32, BASE_DEC, NULL, 0,
6813 { &hf_x411_extensions_item,
6814 { "Item", "x411.extensions_item",
6815 FT_NONE, BASE_NONE, NULL, 0,
6817 { &hf_x411_per_recipient_message_fields,
6818 { "per-recipient-fields", "x411.per_recipient_fields",
6819 FT_UINT32, BASE_DEC, NULL, 0,
6820 "MessageTransferEnvelope/per-recipient-fields", HFILL }},
6821 { &hf_x411_per_recipient_message_fields_item,
6822 { "Item", "x411.per_recipient_fields_item",
6823 FT_NONE, BASE_NONE, NULL, 0,
6824 "MessageTransferEnvelope/per-recipient-fields/_item", HFILL }},
6825 { &hf_x411_recipient_name,
6826 { "recipient-name", "x411.recipient_name",
6827 FT_NONE, BASE_NONE, NULL, 0,
6829 { &hf_x411_originally_specified_recipient_number,
6830 { "originally-specified-recipient-number", "x411.originally_specified_recipient_number",
6831 FT_INT32, BASE_DEC, NULL, 0,
6833 { &hf_x411_per_recipient_indicators,
6834 { "per-recipient-indicators", "x411.per_recipient_indicators",
6835 FT_BYTES, BASE_HEX, NULL, 0,
6837 { &hf_x411_explicit_conversion,
6838 { "explicit-conversion", "x411.explicit_conversion",
6839 FT_UINT32, BASE_DEC, VALS(x411_ExplicitConversion_vals), 0,
6841 { &hf_x411_probe_identifier,
6842 { "probe-identifier", "x411.probe_identifier",
6843 FT_NONE, BASE_NONE, NULL, 0,
6844 "ProbeTransferEnvelope/probe-identifier", HFILL }},
6845 { &hf_x411_content_length,
6846 { "content-length", "x411.content_length",
6847 FT_UINT32, BASE_DEC, NULL, 0,
6849 { &hf_x411_per_recipient_probe_transfer_fields,
6850 { "per-recipient-fields", "x411.per_recipient_fields",
6851 FT_UINT32, BASE_DEC, NULL, 0,
6852 "ProbeTransferEnvelope/per-recipient-fields", HFILL }},
6853 { &hf_x411_per_recipient_probe_transfer_fields_item,
6854 { "Item", "x411.per_recipient_fields_item",
6855 FT_NONE, BASE_NONE, NULL, 0,
6856 "ProbeTransferEnvelope/per-recipient-fields/_item", HFILL }},
6857 { &hf_x411_report_identifier,
6858 { "report-identifier", "x411.report_identifier",
6859 FT_NONE, BASE_NONE, NULL, 0,
6860 "ReportTransferEnvelope/report-identifier", HFILL }},
6861 { &hf_x411_report_destination_name,
6862 { "report-destination-name", "x411.report_destination_name",
6863 FT_NONE, BASE_NONE, NULL, 0,
6864 "ReportTransferEnvelope/report-destination-name", HFILL }},
6865 { &hf_x411_subject_identifier,
6866 { "subject-identifier", "x411.subject_identifier",
6867 FT_NONE, BASE_NONE, NULL, 0,
6868 "ReportTransferContent/subject-identifier", HFILL }},
6869 { &hf_x411_subject_intermediate_trace_information,
6870 { "subject-intermediate-trace-information", "x411.subject_intermediate_trace_information",
6871 FT_UINT32, BASE_DEC, NULL, 0,
6872 "ReportTransferContent/subject-intermediate-trace-information", HFILL }},
6873 { &hf_x411_returned_content,
6874 { "returned-content", "x411.returned_content",
6875 FT_BYTES, BASE_HEX, NULL, 0,
6877 { &hf_x411_additional_information,
6878 { "additional-information", "x411.additional_information",
6879 FT_NONE, BASE_NONE, NULL, 0,
6880 "ReportTransferContent/additional-information", HFILL }},
6881 { &hf_x411_per_recipient_report_fields,
6882 { "per-recipient-fields", "x411.per_recipient_fields",
6883 FT_UINT32, BASE_DEC, NULL, 0,
6884 "ReportTransferContent/per-recipient-fields", HFILL }},
6885 { &hf_x411_per_recipient_fields_item,
6886 { "Item", "x411.per_recipient_fields_item",
6887 FT_NONE, BASE_NONE, NULL, 0,
6888 "ReportTransferContent/per-recipient-fields/_item", HFILL }},
6889 { &hf_x411_mta_actual_recipient_name,
6890 { "actual-recipient-name", "x411.actual_recipient_name",
6891 FT_NONE, BASE_NONE, NULL, 0,
6892 "PerRecipientReportTransferFields/actual-recipient-name", HFILL }},
6893 { &hf_x411_last_trace_information,
6894 { "last-trace-information", "x411.last_trace_information",
6895 FT_NONE, BASE_NONE, NULL, 0,
6896 "PerRecipientReportTransferFields/last-trace-information", HFILL }},
6897 { &hf_x411_report_originally_intended_recipient_name,
6898 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
6899 FT_NONE, BASE_NONE, NULL, 0,
6900 "PerRecipientReportTransferFields/originally-intended-recipient-name", HFILL }},
6901 { &hf_x411_supplementary_information,
6902 { "supplementary-information", "x411.supplementary_information",
6903 FT_STRING, BASE_NONE, NULL, 0,
6905 { &hf_x411_country_name,
6906 { "country-name", "x411.country_name",
6907 FT_UINT32, BASE_DEC, VALS(x411_CountryName_vals), 0,
6909 { &hf_x411_bilateral_domain,
6910 { "domain", "x411.domain",
6911 FT_UINT32, BASE_DEC, VALS(x411_T_domain_vals), 0,
6912 "PerDomainBilateralInformation/domain", HFILL }},
6913 { &hf_x411_administration_domain_name,
6914 { "administration-domain-name", "x411.administration_domain_name",
6915 FT_UINT32, BASE_DEC, VALS(x411_AdministrationDomainName_vals), 0,
6917 { &hf_x411_private_domain,
6918 { "private-domain", "x411.private_domain",
6919 FT_NONE, BASE_NONE, NULL, 0,
6920 "PerDomainBilateralInformation/domain/private-domain", HFILL }},
6921 { &hf_x411_private_domain_identifier,
6922 { "private-domain-identifier", "x411.private_domain_identifier",
6923 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainIdentifier_vals), 0,
6925 { &hf_x411_arrival_time,
6926 { "arrival-time", "x411.arrival_time",
6927 FT_STRING, BASE_NONE, NULL, 0,
6929 { &hf_x411_converted_encoded_information_types,
6930 { "converted-encoded-information-types", "x411.converted_encoded_information_types",
6931 FT_NONE, BASE_NONE, NULL, 0,
6933 { &hf_x411_trace_report_type,
6934 { "report-type", "x411.report_type",
6935 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
6936 "LastTraceInformation/report-type", HFILL }},
6937 { &hf_x411_InternalTraceInformation_item,
6938 { "Item", "x411.InternalTraceInformation_item",
6939 FT_NONE, BASE_NONE, NULL, 0,
6940 "InternalTraceInformation/_item", HFILL }},
6941 { &hf_x411_global_domain_identifier,
6942 { "global-domain-identifier", "x411.global_domain_identifier",
6943 FT_NONE, BASE_NONE, NULL, 0,
6945 { &hf_x411_mta_name,
6946 { "mta-name", "x411.mta_name",
6947 FT_STRING, BASE_NONE, NULL, 0,
6949 { &hf_x411_mta_supplied_information,
6950 { "mta-supplied-information", "x411.mta_supplied_information",
6951 FT_NONE, BASE_NONE, NULL, 0,
6952 "InternalTraceInformationElement/mta-supplied-information", HFILL }},
6953 { &hf_x411_routing_action,
6954 { "routing-action", "x411.routing_action",
6955 FT_UINT32, BASE_DEC, VALS(x411_RoutingAction_vals), 0,
6957 { &hf_x411_attempted,
6958 { "attempted", "x411.attempted",
6959 FT_UINT32, BASE_DEC, VALS(x411_T_attempted_vals), 0,
6960 "MTASuppliedInformation/attempted", HFILL }},
6962 { "mta", "x411.mta",
6963 FT_STRING, BASE_NONE, NULL, 0,
6964 "MTASuppliedInformation/attempted/mta", HFILL }},
6966 { "domain", "x411.domain",
6967 FT_NONE, BASE_NONE, NULL, 0,
6969 { &hf_x411_deferred_time,
6970 { "deferred-time", "x411.deferred_time",
6971 FT_STRING, BASE_NONE, NULL, 0,
6973 { &hf_x411_other_actions,
6974 { "other-actions", "x411.other_actions",
6975 FT_BYTES, BASE_HEX, NULL, 0,
6977 { &hf_x411_TraceInformation_item,
6978 { "Item", "x411.TraceInformation_item",
6979 FT_NONE, BASE_NONE, NULL, 0,
6980 "TraceInformation/_item", HFILL }},
6981 { &hf_x411_domain_supplied_information,
6982 { "domain-supplied-information", "x411.domain_supplied_information",
6983 FT_NONE, BASE_NONE, NULL, 0,
6984 "TraceInformationElement/domain-supplied-information", HFILL }},
6985 { &hf_x411_attempted_domain,
6986 { "attempted-domain", "x411.attempted_domain",
6987 FT_NONE, BASE_NONE, NULL, 0,
6988 "DomainSuppliedInformation/attempted-domain", HFILL }},
6989 { &hf_x411_initiator_name,
6990 { "initiator-name", "x411.initiator_name",
6991 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
6992 "MTSBindArgument/initiator-name", HFILL }},
6993 { &hf_x411_messages_waiting,
6994 { "messages-waiting", "x411.messages_waiting",
6995 FT_NONE, BASE_NONE, NULL, 0,
6997 { &hf_x411_responder_name,
6998 { "responder-name", "x411.responder_name",
6999 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
7000 "MTSBindResult/responder-name", HFILL }},
7001 { &hf_x411_user_agent,
7002 { "user-agent", "x411.user_agent",
7003 FT_NONE, BASE_NONE, NULL, 0,
7004 "ObjectName/user-agent", HFILL }},
7006 { "mTA", "x411.mTA",
7007 FT_STRING, BASE_NONE, NULL, 0,
7008 "ObjectName/mTA", HFILL }},
7009 { &hf_x411_message_store,
7010 { "message-store", "x411.message_store",
7011 FT_NONE, BASE_NONE, NULL, 0,
7012 "ObjectName/message-store", HFILL }},
7014 { "urgent", "x411.urgent",
7015 FT_NONE, BASE_NONE, NULL, 0,
7016 "MessagesWaiting/urgent", HFILL }},
7018 { "normal", "x411.normal",
7019 FT_NONE, BASE_NONE, NULL, 0,
7020 "MessagesWaiting/normal", HFILL }},
7021 { &hf_x411_non_urgent,
7022 { "non-urgent", "x411.non_urgent",
7023 FT_NONE, BASE_NONE, NULL, 0,
7024 "MessagesWaiting/non-urgent", HFILL }},
7025 { &hf_x411_messages,
7026 { "messages", "x411.messages",
7027 FT_INT32, BASE_DEC, NULL, 0,
7028 "DeliveryQueue/messages", HFILL }},
7029 { &hf_x411_delivery_queue_octets,
7030 { "octets", "x411.octets",
7031 FT_INT32, BASE_DEC, NULL, 0,
7032 "DeliveryQueue/octets", HFILL }},
7034 { "simple", "x411.simple",
7035 FT_UINT32, BASE_DEC, VALS(x411_Password_vals), 0,
7036 "Credentials/simple", HFILL }},
7037 { &hf_x411_ia5_string,
7038 { "ia5-string", "x411.ia5_string",
7039 FT_STRING, BASE_NONE, NULL, 0,
7040 "Password/ia5-string", HFILL }},
7041 { &hf_x411_octet_string,
7042 { "octet-string", "x411.octet_string",
7043 FT_BYTES, BASE_HEX, NULL, 0,
7044 "Password/octet-string", HFILL }},
7045 { &hf_x411_SecurityContext_item,
7046 { "Item", "x411.SecurityContext_item",
7047 FT_NONE, BASE_NONE, NULL, 0,
7048 "SecurityContext/_item", HFILL }},
7049 { &hf_x411_message_submission_envelope,
7050 { "envelope", "x411.envelope",
7051 FT_NONE, BASE_NONE, NULL, 0,
7052 "MessageSubmissionArgument/envelope", HFILL }},
7053 { &hf_x411_message_submission_identifier,
7054 { "message-submission-identifier", "x411.message_submission_identifier",
7055 FT_NONE, BASE_NONE, NULL, 0,
7056 "MessageSubmissionResult/message-submission-identifier", HFILL }},
7057 { &hf_x411_message_submission_time,
7058 { "message-submission-time", "x411.message_submission_time",
7059 FT_STRING, BASE_NONE, NULL, 0,
7061 { &hf_x411_probe_submission_identifier,
7062 { "probe-submission-identifier", "x411.probe_submission_identifier",
7063 FT_NONE, BASE_NONE, NULL, 0,
7064 "ProbeSubmissionResult/probe-submission-identifier", HFILL }},
7065 { &hf_x411_probe_submission_time,
7066 { "probe-submission-time", "x411.probe_submission_time",
7067 FT_STRING, BASE_NONE, NULL, 0,
7068 "ProbeSubmissionResult/probe-submission-time", HFILL }},
7069 { &hf_x411_ImproperlySpecifiedRecipients_item,
7070 { "Item", "x411.ImproperlySpecifiedRecipients_item",
7071 FT_NONE, BASE_NONE, NULL, 0,
7072 "ImproperlySpecifiedRecipients/_item", HFILL }},
7073 { &hf_x411_waiting_operations,
7074 { "waiting-operations", "x411.waiting_operations",
7075 FT_BYTES, BASE_HEX, NULL, 0,
7077 { &hf_x411_waiting_messages,
7078 { "waiting-messages", "x411.waiting_messages",
7079 FT_BYTES, BASE_HEX, NULL, 0,
7081 { &hf_x411_waiting_content_types,
7082 { "waiting-content-types", "x411.waiting_content_types",
7083 FT_UINT32, BASE_DEC, NULL, 0,
7085 { &hf_x411_waiting_content_types_item,
7086 { "Item", "x411.waiting_content_types_item",
7087 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
7089 { &hf_x411_waiting_encoded_information_types,
7090 { "waiting-encoded-information-types", "x411.waiting_encoded_information_types",
7091 FT_NONE, BASE_NONE, NULL, 0,
7093 { &hf_x411_message_delivery_identifier,
7094 { "message-delivery-identifier", "x411.message_delivery_identifier",
7095 FT_NONE, BASE_NONE, NULL, 0,
7097 { &hf_x411_message_delivery_time,
7098 { "message-delivery-time", "x411.message_delivery_time",
7099 FT_STRING, BASE_NONE, NULL, 0,
7101 { &hf_x411_other_fields,
7102 { "other-fields", "x411.other_fields",
7103 FT_NONE, BASE_NONE, NULL, 0,
7105 { &hf_x411_recipient_certificate,
7106 { "recipient-certificate", "x411.recipient_certificate",
7107 FT_NONE, BASE_NONE, NULL, 0,
7109 { &hf_x411_subject_submission_identifier,
7110 { "subject-submission-identifier", "x411.subject_submission_identifier",
7111 FT_NONE, BASE_NONE, NULL, 0,
7113 { &hf_x411_per_recipient_report_delivery_fields,
7114 { "per-recipient-fields", "x411.per_recipient_fields",
7115 FT_UINT32, BASE_DEC, NULL, 0,
7117 { &hf_x411_per_recipient_report_delivery_fields_item,
7118 { "Item", "x411.per_recipient_fields_item",
7119 FT_NONE, BASE_NONE, NULL, 0,
7121 { &hf_x411_empty_result,
7122 { "empty-result", "x411.empty_result",
7123 FT_NONE, BASE_NONE, NULL, 0,
7125 { &hf_x411_restrict,
7126 { "restrict", "x411.restrict",
7127 FT_BOOLEAN, 8, NULL, 0,
7129 { &hf_x411_permissible_operations,
7130 { "permissible-operations", "x411.permissible_operations",
7131 FT_BYTES, BASE_HEX, NULL, 0,
7133 { &hf_x411_permissible_maximum_content_length,
7134 { "permissible-maximum-content-length", "x411.permissible_maximum_content_length",
7135 FT_UINT32, BASE_DEC, NULL, 0,
7137 { &hf_x411_permissible_lowest_priority,
7138 { "permissible-lowest-priority", "x411.permissible_lowest_priority",
7139 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
7141 { &hf_x411_permissible_content_types,
7142 { "permissible-content-types", "x411.permissible_content_types",
7143 FT_UINT32, BASE_DEC, NULL, 0,
7145 { &hf_x411_permissible_encoded_information_types,
7146 { "permissible-encoded-information-types", "x411.permissible_encoded_information_types",
7147 FT_NONE, BASE_NONE, NULL, 0,
7149 { &hf_x411_permissible_security_context,
7150 { "permissible-security-context", "x411.permissible_security_context",
7151 FT_UINT32, BASE_DEC, NULL, 0,
7153 { &hf_x411_refused_argument,
7154 { "refused-argument", "x411.refused_argument",
7155 FT_UINT32, BASE_DEC, VALS(x411_T_refused_argument_vals), 0,
7156 "RefusedOperation/refused-argument", HFILL }},
7157 { &hf_x411_built_in_argument,
7158 { "built-in-argument", "x411.built_in_argument",
7159 FT_UINT32, BASE_DEC, VALS(x411_RefusedArgument_vals), 0,
7160 "RefusedOperation/refused-argument/built-in-argument", HFILL }},
7161 { &hf_x411_refused_extension,
7162 { "refused-extension", "x411.refused_extension",
7163 FT_NONE, BASE_NONE, NULL, 0,
7164 "RefusedOperation/refused-argument/refused-extension", HFILL }},
7165 { &hf_x411_refusal_reason,
7166 { "refusal-reason", "x411.refusal_reason",
7167 FT_UINT32, BASE_DEC, VALS(x411_RefusalReason_vals), 0,
7168 "RefusedOperation/refusal-reason", HFILL }},
7169 { &hf_x411_user_name,
7170 { "user-name", "x411.user_name",
7171 FT_NONE, BASE_NONE, NULL, 0,
7172 "RegisterArgument/user-name", HFILL }},
7173 { &hf_x411_user_address,
7174 { "user-address", "x411.user_address",
7175 FT_UINT32, BASE_DEC, VALS(x411_UserAddress_vals), 0,
7176 "RegisterArgument/user-address", HFILL }},
7177 { &hf_x411_deliverable_class,
7178 { "deliverable-class", "x411.deliverable_class",
7179 FT_UINT32, BASE_DEC, NULL, 0,
7180 "RegisterArgument/deliverable-class", HFILL }},
7181 { &hf_x411_deliverable_class_item,
7182 { "Item", "x411.deliverable_class_item",
7183 FT_NONE, BASE_NONE, NULL, 0,
7184 "RegisterArgument/deliverable-class/_item", HFILL }},
7185 { &hf_x411_default_delivery_controls,
7186 { "default-delivery-controls", "x411.default_delivery_controls",
7187 FT_NONE, BASE_NONE, NULL, 0,
7188 "RegisterArgument/default-delivery-controls", HFILL }},
7189 { &hf_x411_redirections,
7190 { "redirections", "x411.redirections",
7191 FT_UINT32, BASE_DEC, NULL, 0,
7192 "RegisterArgument/redirections", HFILL }},
7193 { &hf_x411_restricted_delivery,
7194 { "restricted-delivery", "x411.restricted_delivery",
7195 FT_UINT32, BASE_DEC, NULL, 0,
7196 "RegisterArgument/restricted-delivery", HFILL }},
7197 { &hf_x411_retrieve_registrations,
7198 { "retrieve-registrations", "x411.retrieve_registrations",
7199 FT_NONE, BASE_NONE, NULL, 0,
7200 "RegisterArgument/retrieve-registrations", HFILL }},
7201 { &hf_x411_non_empty_result,
7202 { "non-empty-result", "x411.non_empty_result",
7203 FT_NONE, BASE_NONE, NULL, 0,
7204 "RegisterResult/non-empty-result", HFILL }},
7205 { &hf_x411_registered_information,
7206 { "registered-information", "x411.registered_information",
7207 FT_NONE, BASE_NONE, NULL, 0,
7208 "RegisterResult/non-empty-result/registered-information", HFILL }},
7209 { &hf_x411_old_credentials,
7210 { "old-credentials", "x411.old_credentials",
7211 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7212 "ChangeCredentialsArgument/old-credentials", HFILL }},
7213 { &hf_x411_new_credentials,
7214 { "new-credentials", "x411.new_credentials",
7215 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7216 "ChangeCredentialsArgument/new-credentials", HFILL }},
7218 { "x121", "x411.x121",
7219 FT_NONE, BASE_NONE, NULL, 0,
7220 "UserAddress/x121", HFILL }},
7221 { &hf_x411_x121_address,
7222 { "x121-address", "x411.x121_address",
7223 FT_STRING, BASE_NONE, NULL, 0,
7224 "UserAddress/x121/x121-address", HFILL }},
7226 { "tsap-id", "x411.tsap_id",
7227 FT_STRING, BASE_NONE, NULL, 0,
7228 "UserAddress/x121/tsap-id", HFILL }},
7229 { &hf_x411_presentation,
7230 { "presentation", "x411.presentation",
7231 FT_NONE, BASE_NONE, NULL, 0,
7232 "UserAddress/presentation", HFILL }},
7233 { &hf_x411_Redirections_item,
7234 { "Item", "x411.Redirections_item",
7235 FT_NONE, BASE_NONE, NULL, 0,
7236 "Redirections/_item", HFILL }},
7237 { &hf_x411_redirection_classes,
7238 { "redirection-classes", "x411.redirection_classes",
7239 FT_UINT32, BASE_DEC, NULL, 0,
7240 "RecipientRedirection/redirection-classes", HFILL }},
7241 { &hf_x411_redirection_classes_item,
7242 { "Item", "x411.redirection_classes_item",
7243 FT_NONE, BASE_NONE, NULL, 0,
7244 "RecipientRedirection/redirection-classes/_item", HFILL }},
7245 { &hf_x411_recipient_assigned_alternate_recipient,
7246 { "recipient-assigned-alternate-recipient", "x411.recipient_assigned_alternate_recipient",
7247 FT_NONE, BASE_NONE, NULL, 0,
7248 "RecipientRedirection/recipient-assigned-alternate-recipient", HFILL }},
7249 { &hf_x411_content_types,
7250 { "content-types", "x411.content_types",
7251 FT_UINT32, BASE_DEC, NULL, 0,
7252 "MessageClass/content-types", HFILL }},
7253 { &hf_x411_maximum_content_length,
7254 { "maximum-content-length", "x411.maximum_content_length",
7255 FT_UINT32, BASE_DEC, NULL, 0,
7256 "MessageClass/maximum-content-length", HFILL }},
7257 { &hf_x411_encoded_information_types_constraints,
7258 { "encoded-information-types-constraints", "x411.encoded_information_types_constraints",
7259 FT_NONE, BASE_NONE, NULL, 0,
7260 "MessageClass/encoded-information-types-constraints", HFILL }},
7261 { &hf_x411_security_labels,
7262 { "security-labels", "x411.security_labels",
7263 FT_UINT32, BASE_DEC, NULL, 0,
7264 "MessageClass/security-labels", HFILL }},
7265 { &hf_x411_class_priority,
7266 { "priority", "x411.priority",
7267 FT_UINT32, BASE_DEC, NULL, 0,
7268 "MessageClass/priority", HFILL }},
7269 { &hf_x411_priority_item,
7270 { "Item", "x411.priority_item",
7271 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
7272 "MessageClass/priority/_item", HFILL }},
7274 { "objects", "x411.objects",
7275 FT_UINT32, BASE_DEC, VALS(x411_T_objects_vals), 0,
7276 "MessageClass/objects", HFILL }},
7277 { &hf_x411_applies_only_to,
7278 { "applies-only-to", "x411.applies_only_to",
7279 FT_UINT32, BASE_DEC, NULL, 0,
7280 "MessageClass/applies-only-to", HFILL }},
7281 { &hf_x411_applies_only_to_item,
7282 { "Item", "x411.applies_only_to_item",
7283 FT_NONE, BASE_NONE, NULL, 0,
7284 "MessageClass/applies-only-to/_item", HFILL }},
7285 { &hf_x411_unacceptable_eits,
7286 { "unacceptable-eits", "x411.unacceptable_eits",
7287 FT_UINT32, BASE_DEC, NULL, 0,
7288 "EncodedInformationTypesConstraints/unacceptable-eits", HFILL }},
7289 { &hf_x411_acceptable_eits,
7290 { "acceptable-eits", "x411.acceptable_eits",
7291 FT_UINT32, BASE_DEC, NULL, 0,
7292 "EncodedInformationTypesConstraints/acceptable-eits", HFILL }},
7293 { &hf_x411_exclusively_acceptable_eits,
7294 { "exclusively-acceptable-eits", "x411.exclusively_acceptable_eits",
7295 FT_UINT32, BASE_DEC, NULL, 0,
7296 "EncodedInformationTypesConstraints/exclusively-acceptable-eits", HFILL }},
7297 { &hf_x411_RestrictedDelivery_item,
7298 { "Item", "x411.RestrictedDelivery_item",
7299 FT_NONE, BASE_NONE, NULL, 0,
7300 "RestrictedDelivery/_item", HFILL }},
7301 { &hf_x411_permitted,
7302 { "permitted", "x411.permitted",
7303 FT_BOOLEAN, 8, NULL, 0,
7304 "Restriction/permitted", HFILL }},
7305 { &hf_x411_source_type,
7306 { "source-type", "x411.source_type",
7307 FT_BYTES, BASE_HEX, NULL, 0,
7308 "Restriction/source-type", HFILL }},
7309 { &hf_x411_source_name,
7310 { "source-name", "x411.source_name",
7311 FT_UINT32, BASE_DEC, VALS(x411_ExactOrPattern_vals), 0,
7312 "Restriction/source-name", HFILL }},
7313 { &hf_x411_exact_match,
7314 { "exact-match", "x411.exact_match",
7315 FT_NONE, BASE_NONE, NULL, 0,
7316 "ExactOrPattern/exact-match", HFILL }},
7317 { &hf_x411_pattern_match,
7318 { "pattern-match", "x411.pattern_match",
7319 FT_NONE, BASE_NONE, NULL, 0,
7320 "ExactOrPattern/pattern-match", HFILL }},
7321 { &hf_x411_standard_parameters,
7322 { "standard-parameters", "x411.standard_parameters",
7323 FT_BYTES, BASE_HEX, NULL, 0,
7324 "RegistrationTypes/standard-parameters", HFILL }},
7325 { &hf_x411_type_extensions,
7326 { "extensions", "x411.extensions",
7327 FT_UINT32, BASE_DEC, NULL, 0,
7328 "RegistrationTypes/extensions", HFILL }},
7329 { &hf_x411_type_extensions_item,
7330 { "Item", "x411.extensions_item",
7331 FT_NONE, BASE_NONE, NULL, 0,
7332 "RegistrationTypes/extensions/_item", HFILL }},
7333 { &hf_x411_mts_originator_name,
7334 { "originator-name", "x411.originator_name",
7335 FT_NONE, BASE_NONE, NULL, 0,
7337 { &hf_x411_per_recipient_message_submission_fields,
7338 { "per-recipient-fields", "x411.per_recipient_fields",
7339 FT_UINT32, BASE_DEC, NULL, 0,
7340 "MessageSubmissionEnvelope/per-recipient-fields", HFILL }},
7341 { &hf_x411_per_recipient_message_submission_fields_item,
7342 { "Item", "x411.per_recipient_fields_item",
7343 FT_NONE, BASE_NONE, NULL, 0,
7344 "MessageSubmissionEnvelope/per-recipient-fields/_item", HFILL }},
7345 { &hf_x411_submission_recipient_name,
7346 { "recipient-name", "x411.recipient_name",
7347 FT_NONE, BASE_NONE, NULL, 0,
7348 "PerRecipientMessageSubmissionFields/recipient-name", HFILL }},
7349 { &hf_x411_originator_report_request,
7350 { "originator-report-request", "x411.originator_report_request",
7351 FT_BYTES, BASE_HEX, NULL, 0,
7353 { &hf_x411_per_recipient_probe_submission_fields,
7354 { "per-recipient-fields", "x411.per_recipient_fields",
7355 FT_UINT32, BASE_DEC, NULL, 0,
7356 "ProbeSubmissionEnvelope/per-recipient-fields", HFILL }},
7357 { &hf_x411_per_recipient_probe_submission_fields_item,
7358 { "Item", "x411.per_recipient_fields_item",
7359 FT_NONE, BASE_NONE, NULL, 0,
7360 "ProbeSubmissionEnvelope/per-recipient-fields/_item", HFILL }},
7361 { &hf_x411_probe_recipient_name,
7362 { "recipient-name", "x411.recipient_name",
7363 FT_NONE, BASE_NONE, NULL, 0,
7364 "PerRecipientProbeSubmissionFields/recipient-name", HFILL }},
7365 { &hf_x411_delivered_content_type,
7366 { "content-type", "x411.content_type",
7367 FT_UINT32, BASE_DEC, VALS(x411_DeliveredContentType_vals), 0,
7368 "OtherMessageDeliveryFields/content-type", HFILL }},
7369 { &hf_x411_originator_name,
7370 { "originator-name", "x411.originator_name",
7371 FT_NONE, BASE_NONE, NULL, 0,
7372 "OtherMessageDeliveryFields/originator-name", HFILL }},
7373 { &hf_x411_delivery_flags,
7374 { "delivery-flags", "x411.delivery_flags",
7375 FT_BYTES, BASE_HEX, NULL, 0,
7376 "OtherMessageDeliveryFields/delivery-flags", HFILL }},
7377 { &hf_x411_other_recipient_names,
7378 { "other-recipient-names", "x411.other_recipient_names",
7379 FT_UINT32, BASE_DEC, NULL, 0,
7380 "OtherMessageDeliveryFields/other-recipient-names", HFILL }},
7381 { &hf_x411_this_recipient_name,
7382 { "this-recipient-name", "x411.this_recipient_name",
7383 FT_NONE, BASE_NONE, NULL, 0,
7384 "OtherMessageDeliveryFields/this-recipient-name", HFILL }},
7385 { &hf_x411_originally_intended_recipient_name,
7386 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
7387 FT_NONE, BASE_NONE, NULL, 0,
7389 { &hf_x411_actual_recipient_name,
7390 { "actual-recipient-name", "x411.actual_recipient_name",
7391 FT_NONE, BASE_NONE, NULL, 0,
7393 { &hf_x411_delivery_report_type,
7394 { "report-type", "x411.report_type",
7395 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
7396 "PerRecipientReportDeliveryFields/report-type", HFILL }},
7397 { &hf_x411_delivery,
7398 { "delivery", "x411.delivery",
7399 FT_NONE, BASE_NONE, NULL, 0,
7400 "ReportType/delivery", HFILL }},
7401 { &hf_x411_non_delivery,
7402 { "non-delivery", "x411.non_delivery",
7403 FT_NONE, BASE_NONE, NULL, 0,
7404 "ReportType/non-delivery", HFILL }},
7405 { &hf_x411_type_of_MTS_user,
7406 { "type-of-MTS-user", "x411.type_of_MTS_user",
7407 FT_UINT32, BASE_DEC, VALS(x411_TypeOfMTSUser_vals), 0,
7409 { &hf_x411_non_delivery_reason_code,
7410 { "non-delivery-reason-code", "x411.non_delivery_reason_code",
7411 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryReasonCode_vals), 0,
7413 { &hf_x411_non_delivery_diagnostic_code,
7414 { "non-delivery-diagnostic-code", "x411.non_delivery_diagnostic_code",
7415 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryDiagnosticCode_vals), 0,
7417 { &hf_x411_ContentTypes_item,
7418 { "Item", "x411.ContentTypes_item",
7419 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
7420 "ContentTypes/_item", HFILL }},
7421 { &hf_x411_built_in,
7422 { "built-in", "x411.built_in",
7423 FT_INT32, BASE_DEC, VALS(x411_BuiltInContentType_vals), 0,
7425 { &hf_x411_extended,
7426 { "extended", "x411.extended",
7427 FT_STRING, BASE_NONE, NULL, 0,
7429 { &hf_x411_OtherRecipientNames_item,
7430 { "Item", "x411.OtherRecipientNames_item",
7431 FT_NONE, BASE_NONE, NULL, 0,
7432 "OtherRecipientNames/_item", HFILL }},
7433 { &hf_x411_standard_extension,
7434 { "standard-extension", "x411.standard_extension",
7435 FT_INT32, BASE_DEC, NULL, 0,
7436 "ExtensionType/standard-extension", HFILL }},
7437 { &hf_x411_private_extension,
7438 { "private-extension", "x411.private_extension",
7439 FT_STRING, BASE_NONE, NULL, 0,
7440 "ExtensionType/private-extension", HFILL }},
7441 { &hf_x411_extension_type,
7442 { "type", "x411.type",
7443 FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0,
7444 "ExtensionField/type", HFILL }},
7445 { &hf_x411_criticality,
7446 { "criticality", "x411.criticality",
7447 FT_BYTES, BASE_HEX, NULL, 0,
7448 "ExtensionField/criticality", HFILL }},
7449 { &hf_x411_extension_value,
7450 { "value", "x411.value",
7451 FT_NONE, BASE_NONE, NULL, 0,
7452 "ExtensionField/value", HFILL }},
7453 { &hf_x411_RequestedDeliveryMethod_item,
7454 { "Item", "x411.RequestedDeliveryMethod_item",
7455 FT_UINT32, BASE_DEC, VALS(x411_RequestedDeliveryMethod_item_vals), 0,
7456 "RequestedDeliveryMethod/_item", HFILL }},
7458 { "ia5text", "x411.ia5text",
7459 FT_STRING, BASE_NONE, NULL, 0,
7460 "ContentCorrelator/ia5text", HFILL }},
7462 { "octets", "x411.octets",
7463 FT_BYTES, BASE_HEX, NULL, 0,
7464 "ContentCorrelator/octets", HFILL }},
7465 { &hf_x411_RedirectionHistory_item,
7466 { "Item", "x411.RedirectionHistory_item",
7467 FT_NONE, BASE_NONE, NULL, 0,
7468 "RedirectionHistory/_item", HFILL }},
7469 { &hf_x411_intended_recipient_name,
7470 { "intended-recipient-name", "x411.intended_recipient_name",
7471 FT_NONE, BASE_NONE, NULL, 0,
7472 "Redirection/intended-recipient-name", HFILL }},
7473 { &hf_x411_redirection_reason,
7474 { "redirection-reason", "x411.redirection_reason",
7475 FT_UINT32, BASE_DEC, VALS(x411_RedirectionReason_vals), 0,
7476 "Redirection/redirection-reason", HFILL }},
7477 { &hf_x411_intended_recipient,
7478 { "intended-recipient", "x411.intended_recipient",
7479 FT_NONE, BASE_NONE, NULL, 0,
7480 "IntendedRecipientName/intended-recipient", HFILL }},
7481 { &hf_x411_redirection_time,
7482 { "redirection-time", "x411.redirection_time",
7483 FT_STRING, BASE_NONE, NULL, 0,
7484 "IntendedRecipientName/redirection-time", HFILL }},
7485 { &hf_x411_DLExpansionHistory_item,
7486 { "Item", "x411.DLExpansionHistory_item",
7487 FT_NONE, BASE_NONE, NULL, 0,
7488 "DLExpansionHistory/_item", HFILL }},
7491 FT_NONE, BASE_NONE, NULL, 0,
7492 "DLExpansion/dl", HFILL }},
7493 { &hf_x411_dl_expansion_time,
7494 { "dl-expansion-time", "x411.dl_expansion_time",
7495 FT_STRING, BASE_NONE, NULL, 0,
7496 "DLExpansion/dl-expansion-time", HFILL }},
7497 { &hf_x411_OriginatorAndDLExpansionHistory_item,
7498 { "Item", "x411.OriginatorAndDLExpansionHistory_item",
7499 FT_NONE, BASE_NONE, NULL, 0,
7500 "OriginatorAndDLExpansionHistory/_item", HFILL }},
7501 { &hf_x411_originator_or_dl_name,
7502 { "originator-or-dl-name", "x411.originator_or_dl_name",
7503 FT_NONE, BASE_NONE, NULL, 0,
7504 "OriginatorAndDLExpansion/originator-or-dl-name", HFILL }},
7505 { &hf_x411_origination_or_expansion_time,
7506 { "origination-or-expansion-time", "x411.origination_or_expansion_time",
7507 FT_STRING, BASE_NONE, NULL, 0,
7508 "OriginatorAndDLExpansion/origination-or-expansion-time", HFILL }},
7509 { &hf_x411_report_type,
7510 { "report-type", "x411.report_type",
7511 FT_UINT32, BASE_DEC, VALS(x411_T_report_type_vals), 0,
7512 "PerRecipientReportFields/report-type", HFILL }},
7513 { &hf_x411_report_type_delivery,
7514 { "delivery", "x411.delivery",
7515 FT_NONE, BASE_NONE, NULL, 0,
7516 "PerRecipientReportFields/report-type/delivery", HFILL }},
7517 { &hf_x411_non_delivery_report,
7518 { "non-delivery", "x411.non_delivery",
7519 FT_NONE, BASE_NONE, NULL, 0,
7520 "PerRecipientReportFields/report-type/non-delivery", HFILL }},
7521 { &hf_x411_mta_directory_name,
7522 { "mta-directory-name", "x411.mta_directory_name",
7523 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
7524 "ReportingMTAName/mta-directory-name", HFILL }},
7525 { &hf_x411_ExtendedCertificates_item,
7526 { "Item", "x411.ExtendedCertificates_item",
7527 FT_UINT32, BASE_DEC, VALS(x411_ExtendedCertificate_vals), 0,
7528 "ExtendedCertificates/_item", HFILL }},
7529 { &hf_x411_directory_entry,
7530 { "directory-entry", "x411.directory_entry",
7531 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
7532 "ExtendedCertificate/directory-entry", HFILL }},
7533 { &hf_x411_certificate,
7534 { "certificate", "x411.certificate",
7535 FT_NONE, BASE_NONE, NULL, 0,
7536 "ExtendedCertificate/certificate", HFILL }},
7537 { &hf_x411_DLExemptedRecipients_item,
7538 { "Item", "x411.DLExemptedRecipients_item",
7539 FT_NONE, BASE_NONE, NULL, 0,
7540 "DLExemptedRecipients/_item", HFILL }},
7541 { &hf_x411_encryption_recipient,
7542 { "encryption-recipient", "x411.encryption_recipient",
7543 FT_NONE, BASE_NONE, NULL, 0,
7544 "CertificateSelectors/encryption-recipient", HFILL }},
7545 { &hf_x411_encryption_originator,
7546 { "encryption-originator", "x411.encryption_originator",
7547 FT_NONE, BASE_NONE, NULL, 0,
7548 "CertificateSelectors/encryption-originator", HFILL }},
7549 { &hf_x411_content_integrity_check,
7550 { "content-integrity-check", "x411.content_integrity_check",
7551 FT_NONE, BASE_NONE, NULL, 0,
7552 "CertificateSelectors/content-integrity-check", HFILL }},
7553 { &hf_x411_token_signature,
7554 { "token-signature", "x411.token_signature",
7555 FT_NONE, BASE_NONE, NULL, 0,
7556 "CertificateSelectors/token-signature", HFILL }},
7557 { &hf_x411_message_origin_authentication,
7558 { "message-origin-authentication", "x411.message_origin_authentication",
7559 FT_NONE, BASE_NONE, NULL, 0,
7560 "CertificateSelectors/message-origin-authentication", HFILL }},
7561 { &hf_x411_local_identifier,
7562 { "local-identifier", "x411.local_identifier",
7563 FT_STRING, BASE_NONE, NULL, 0,
7564 "MTSIdentifier/local-identifier", HFILL }},
7566 { "numeric", "x411.numeric",
7567 FT_STRING, BASE_NONE, NULL, 0,
7569 { &hf_x411_printable,
7570 { "printable", "x411.printable",
7571 FT_STRING, BASE_NONE, NULL, 0,
7573 { &hf_x411_built_in_standard_attributes,
7574 { "built-in-standard-attributes", "x411.built_in_standard_attributes",
7575 FT_NONE, BASE_NONE, NULL, 0,
7577 { &hf_x411_built_in_domain_defined_attributes,
7578 { "built-in-domain-defined-attributes", "x411.built_in_domain_defined_attributes",
7579 FT_UINT32, BASE_DEC, NULL, 0,
7581 { &hf_x411_extension_attributes,
7582 { "extension-attributes", "x411.extension_attributes",
7583 FT_UINT32, BASE_DEC, NULL, 0,
7585 { &hf_x411_directory_name,
7586 { "directory-name", "x411.directory_name",
7587 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
7588 "ORName/directory-name", HFILL }},
7589 { &hf_x411_network_address,
7590 { "network-address", "x411.network_address",
7591 FT_STRING, BASE_NONE, NULL, 0,
7592 "BuiltInStandardAttributes/network-address", HFILL }},
7593 { &hf_x411_terminal_identifier,
7594 { "terminal-identifier", "x411.terminal_identifier",
7595 FT_STRING, BASE_NONE, NULL, 0,
7596 "BuiltInStandardAttributes/terminal-identifier", HFILL }},
7597 { &hf_x411_private_domain_name,
7598 { "private-domain-name", "x411.private_domain_name",
7599 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainName_vals), 0,
7600 "BuiltInStandardAttributes/private-domain-name", HFILL }},
7601 { &hf_x411_organization_name,
7602 { "organization-name", "x411.organization_name",
7603 FT_STRING, BASE_NONE, NULL, 0,
7604 "BuiltInStandardAttributes/organization-name", HFILL }},
7605 { &hf_x411_numeric_user_identifier,
7606 { "numeric-user-identifier", "x411.numeric_user_identifier",
7607 FT_STRING, BASE_NONE, NULL, 0,
7608 "BuiltInStandardAttributes/numeric-user-identifier", HFILL }},
7609 { &hf_x411_personal_name,
7610 { "personal-name", "x411.personal_name",
7611 FT_NONE, BASE_NONE, NULL, 0,
7612 "BuiltInStandardAttributes/personal-name", HFILL }},
7613 { &hf_x411_organizational_unit_names,
7614 { "organizational-unit-names", "x411.organizational_unit_names",
7615 FT_UINT32, BASE_DEC, NULL, 0,
7616 "BuiltInStandardAttributes/organizational-unit-names", HFILL }},
7617 { &hf_x411_x121_dcc_code,
7618 { "x121-dcc-code", "x411.x121_dcc_code",
7619 FT_STRING, BASE_NONE, NULL, 0,
7621 { &hf_x411_iso_3166_alpha2_code,
7622 { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code",
7623 FT_STRING, BASE_NONE, NULL, 0,
7625 { &hf_x411_printable_surname,
7626 { "surname", "x411.surname",
7627 FT_STRING, BASE_NONE, NULL, 0,
7628 "PersonalName/surname", HFILL }},
7629 { &hf_x411_printable_given_name,
7630 { "given-name", "x411.given_name",
7631 FT_STRING, BASE_NONE, NULL, 0,
7632 "PersonalName/given-name", HFILL }},
7633 { &hf_x411_printable_initials,
7634 { "initials", "x411.initials",
7635 FT_STRING, BASE_NONE, NULL, 0,
7636 "PersonalName/initials", HFILL }},
7637 { &hf_x411_printable_generation_qualifier,
7638 { "generation-qualifier", "x411.generation_qualifier",
7639 FT_STRING, BASE_NONE, NULL, 0,
7640 "PersonalName/generation-qualifier", HFILL }},
7641 { &hf_x411_OrganizationalUnitNames_item,
7642 { "Item", "x411.OrganizationalUnitNames_item",
7643 FT_STRING, BASE_NONE, NULL, 0,
7644 "OrganizationalUnitNames/_item", HFILL }},
7645 { &hf_x411_BuiltInDomainDefinedAttributes_item,
7646 { "Item", "x411.BuiltInDomainDefinedAttributes_item",
7647 FT_NONE, BASE_NONE, NULL, 0,
7648 "BuiltInDomainDefinedAttributes/_item", HFILL }},
7649 { &hf_x411_printable_type,
7650 { "type", "x411.type",
7651 FT_STRING, BASE_NONE, NULL, 0,
7652 "BuiltInDomainDefinedAttribute/type", HFILL }},
7653 { &hf_x411_printable_value,
7654 { "value", "x411.value",
7655 FT_STRING, BASE_NONE, NULL, 0,
7656 "BuiltInDomainDefinedAttribute/value", HFILL }},
7657 { &hf_x411_ExtensionAttributes_item,
7658 { "Item", "x411.ExtensionAttributes_item",
7659 FT_NONE, BASE_NONE, NULL, 0,
7660 "ExtensionAttributes/_item", HFILL }},
7661 { &hf_x411_extension_attribute_type,
7662 { "extension-attribute-type", "x411.extension_attribute_type",
7663 FT_INT32, BASE_DEC, NULL, 0,
7664 "ExtensionAttribute/extension-attribute-type", HFILL }},
7665 { &hf_x411_extension_attribute_value,
7666 { "extension-attribute-value", "x411.extension_attribute_value",
7667 FT_NONE, BASE_NONE, NULL, 0,
7668 "ExtensionAttribute/extension-attribute-value", HFILL }},
7669 { &hf_x411_teletex_surname,
7670 { "surname", "x411.surname",
7671 FT_STRING, BASE_NONE, NULL, 0,
7672 "TeletexPersonalName/surname", HFILL }},
7673 { &hf_x411_teletex_given_name,
7674 { "given-name", "x411.given_name",
7675 FT_STRING, BASE_NONE, NULL, 0,
7676 "TeletexPersonalName/given-name", HFILL }},
7677 { &hf_x411_teletex_initials,
7678 { "initials", "x411.initials",
7679 FT_STRING, BASE_NONE, NULL, 0,
7680 "TeletexPersonalName/initials", HFILL }},
7681 { &hf_x411_teletex_generation_qualifier,
7682 { "generation-qualifier", "x411.generation_qualifier",
7683 FT_STRING, BASE_NONE, NULL, 0,
7684 "TeletexPersonalName/generation-qualifier", HFILL }},
7685 { &hf_x411_universal_surname,
7686 { "surname", "x411.surname",
7687 FT_NONE, BASE_NONE, NULL, 0,
7688 "UniversalPersonalName/surname", HFILL }},
7689 { &hf_x411_universal_given_name,
7690 { "given-name", "x411.given_name",
7691 FT_NONE, BASE_NONE, NULL, 0,
7692 "UniversalPersonalName/given-name", HFILL }},
7693 { &hf_x411_universal_initials,
7694 { "initials", "x411.initials",
7695 FT_NONE, BASE_NONE, NULL, 0,
7696 "UniversalPersonalName/initials", HFILL }},
7697 { &hf_x411_universal_generation_qualifier,
7698 { "generation-qualifier", "x411.generation_qualifier",
7699 FT_NONE, BASE_NONE, NULL, 0,
7700 "UniversalPersonalName/generation-qualifier", HFILL }},
7701 { &hf_x411_TeletexOrganizationalUnitNames_item,
7702 { "Item", "x411.TeletexOrganizationalUnitNames_item",
7703 FT_STRING, BASE_NONE, NULL, 0,
7704 "TeletexOrganizationalUnitNames/_item", HFILL }},
7705 { &hf_x411_UniversalOrganizationalUnitNames_item,
7706 { "Item", "x411.UniversalOrganizationalUnitNames_item",
7707 FT_NONE, BASE_NONE, NULL, 0,
7708 "UniversalOrganizationalUnitNames/_item", HFILL }},
7709 { &hf_x411_character_encoding,
7710 { "character-encoding", "x411.character_encoding",
7711 FT_UINT32, BASE_DEC, VALS(x411_T_character_encoding_vals), 0,
7712 "UniversalOrBMPString/character-encoding", HFILL }},
7713 { &hf_x411_two_octets,
7714 { "two-octets", "x411.two_octets",
7715 FT_STRING, BASE_NONE, NULL, 0,
7716 "UniversalOrBMPString/character-encoding/two-octets", HFILL }},
7717 { &hf_x411_four_octets,
7718 { "four-octets", "x411.four_octets",
7719 FT_STRING, BASE_NONE, NULL, 0,
7720 "UniversalOrBMPString/character-encoding/four-octets", HFILL }},
7721 { &hf_x411_iso_639_language_code,
7722 { "iso-639-language-code", "x411.iso_639_language_code",
7723 FT_STRING, BASE_NONE, NULL, 0,
7724 "UniversalOrBMPString/iso-639-language-code", HFILL }},
7725 { &hf_x411_numeric_code,
7726 { "numeric-code", "x411.numeric_code",
7727 FT_STRING, BASE_NONE, NULL, 0,
7728 "PostalCode/numeric-code", HFILL }},
7729 { &hf_x411_printable_code,
7730 { "printable-code", "x411.printable_code",
7731 FT_STRING, BASE_NONE, NULL, 0,
7732 "PostalCode/printable-code", HFILL }},
7733 { &hf_x411_printable_address,
7734 { "printable-address", "x411.printable_address",
7735 FT_UINT32, BASE_DEC, NULL, 0,
7736 "UnformattedPostalAddress/printable-address", HFILL }},
7737 { &hf_x411_printable_address_item,
7738 { "Item", "x411.printable_address_item",
7739 FT_STRING, BASE_NONE, NULL, 0,
7740 "UnformattedPostalAddress/printable-address/_item", HFILL }},
7741 { &hf_x411_teletex_string,
7742 { "teletex-string", "x411.teletex_string",
7743 FT_STRING, BASE_NONE, NULL, 0,
7745 { &hf_x411_printable_string,
7746 { "printable-string", "x411.printable_string",
7747 FT_STRING, BASE_NONE, NULL, 0,
7748 "PDSParameter/printable-string", HFILL }},
7749 { &hf_x411_e163_4_address,
7750 { "e163-4-address", "x411.e163_4_address",
7751 FT_NONE, BASE_NONE, NULL, 0,
7752 "ExtendedNetworkAddress/e163-4-address", HFILL }},
7754 { "number", "x411.number",
7755 FT_STRING, BASE_NONE, NULL, 0,
7756 "ExtendedNetworkAddress/e163-4-address/number", HFILL }},
7757 { &hf_x411_sub_address,
7758 { "sub-address", "x411.sub_address",
7759 FT_STRING, BASE_NONE, NULL, 0,
7760 "ExtendedNetworkAddress/e163-4-address/sub-address", HFILL }},
7761 { &hf_x411_psap_address,
7762 { "psap-address", "x411.psap_address",
7763 FT_NONE, BASE_NONE, NULL, 0,
7764 "ExtendedNetworkAddress/psap-address", HFILL }},
7765 { &hf_x411_TeletexDomainDefinedAttributes_item,
7766 { "Item", "x411.TeletexDomainDefinedAttributes_item",
7767 FT_NONE, BASE_NONE, NULL, 0,
7768 "TeletexDomainDefinedAttributes/_item", HFILL }},
7770 { "type", "x411.type",
7771 FT_STRING, BASE_NONE, NULL, 0,
7772 "TeletexDomainDefinedAttribute/type", HFILL }},
7773 { &hf_x411_teletex_value,
7774 { "value", "x411.value",
7775 FT_STRING, BASE_NONE, NULL, 0,
7776 "TeletexDomainDefinedAttribute/value", HFILL }},
7777 { &hf_x411_UniversalDomainDefinedAttributes_item,
7778 { "Item", "x411.UniversalDomainDefinedAttributes_item",
7779 FT_NONE, BASE_NONE, NULL, 0,
7780 "UniversalDomainDefinedAttributes/_item", HFILL }},
7781 { &hf_x411_universal_type,
7782 { "type", "x411.type",
7783 FT_NONE, BASE_NONE, NULL, 0,
7784 "UniversalDomainDefinedAttribute/type", HFILL }},
7785 { &hf_x411_universal_value,
7786 { "value", "x411.value",
7787 FT_NONE, BASE_NONE, NULL, 0,
7788 "UniversalDomainDefinedAttribute/value", HFILL }},
7789 { &hf_x411_built_in_encoded_information_types,
7790 { "built-in-encoded-information-types", "x411.built_in_encoded_information_types",
7791 FT_BYTES, BASE_HEX, NULL, 0,
7792 "EncodedInformationTypes/built-in-encoded-information-types", HFILL }},
7793 { &hf_x411_g3_facsimile,
7794 { "g3-facsimile", "x411.g3_facsimile",
7795 FT_BYTES, BASE_HEX, NULL, 0,
7798 { "teletex", "x411.teletex",
7799 FT_NONE, BASE_NONE, NULL, 0,
7801 { &hf_x411_extended_encoded_information_types,
7802 { "extended-encoded-information-types", "x411.extended_encoded_information_types",
7803 FT_UINT32, BASE_DEC, NULL, 0,
7804 "EncodedInformationTypes/extended-encoded-information-types", HFILL }},
7805 { &hf_x411_ExtendedEncodedInformationTypes_item,
7806 { "Item", "x411.ExtendedEncodedInformationTypes_item",
7807 FT_STRING, BASE_NONE, NULL, 0,
7808 "ExtendedEncodedInformationTypes/_item", HFILL }},
7809 { &hf_x411_graphic_character_sets,
7810 { "graphic-character-sets", "x411.graphic_character_sets",
7811 FT_STRING, BASE_NONE, NULL, 0,
7812 "TeletexNonBasicParameters/graphic-character-sets", HFILL }},
7813 { &hf_x411_control_character_sets,
7814 { "control-character-sets", "x411.control_character_sets",
7815 FT_STRING, BASE_NONE, NULL, 0,
7816 "TeletexNonBasicParameters/control-character-sets", HFILL }},
7817 { &hf_x411_page_formats,
7818 { "page-formats", "x411.page_formats",
7819 FT_BYTES, BASE_HEX, NULL, 0,
7820 "TeletexNonBasicParameters/page-formats", HFILL }},
7821 { &hf_x411_miscellaneous_terminal_capabilities,
7822 { "miscellaneous-terminal-capabilities", "x411.miscellaneous_terminal_capabilities",
7823 FT_STRING, BASE_NONE, NULL, 0,
7824 "TeletexNonBasicParameters/miscellaneous-terminal-capabilities", HFILL }},
7825 { &hf_x411_private_use,
7826 { "private-use", "x411.private_use",
7827 FT_BYTES, BASE_HEX, NULL, 0,
7828 "TeletexNonBasicParameters/private-use", HFILL }},
7829 { &hf_x411_security_policy_identifier,
7830 { "security-policy-identifier", "x411.security_policy_identifier",
7831 FT_STRING, BASE_NONE, NULL, 0,
7832 "SecurityLabel/security-policy-identifier", HFILL }},
7833 { &hf_x411_security_classification,
7834 { "security-classification", "x411.security_classification",
7835 FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0,
7836 "SecurityLabel/security-classification", HFILL }},
7837 { &hf_x411_privacy_mark,
7838 { "privacy-mark", "x411.privacy_mark",
7839 FT_STRING, BASE_NONE, NULL, 0,
7840 "SecurityLabel/privacy-mark", HFILL }},
7841 { &hf_x411_security_categories,
7842 { "security-categories", "x411.security_categories",
7843 FT_UINT32, BASE_DEC, NULL, 0,
7844 "SecurityLabel/security-categories", HFILL }},
7845 { &hf_x411_SecurityCategories_item,
7846 { "Item", "x411.SecurityCategories_item",
7847 FT_NONE, BASE_NONE, NULL, 0,
7848 "SecurityCategories/_item", HFILL }},
7849 { &hf_x411_category_type,
7850 { "type", "x411.type",
7851 FT_STRING, BASE_NONE, NULL, 0,
7852 "SecurityCategory/type", HFILL }},
7853 { &hf_x411_category_value,
7854 { "value", "x411.value",
7855 FT_NONE, BASE_NONE, NULL, 0,
7856 "SecurityCategory/value", HFILL }},
7857 { &hf_x411_PerRecipientIndicators_responsibility,
7858 { "responsibility", "x411.responsibility",
7859 FT_BOOLEAN, 8, NULL, 0x80,
7861 { &hf_x411_PerRecipientIndicators_originating_MTA_report,
7862 { "originating-MTA-report", "x411.originating-MTA-report",
7863 FT_BOOLEAN, 8, NULL, 0x40,
7865 { &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report,
7866 { "originating-MTA-non-delivery-report", "x411.originating-MTA-non-delivery-report",
7867 FT_BOOLEAN, 8, NULL, 0x20,
7869 { &hf_x411_PerRecipientIndicators_originator_report,
7870 { "originator-report", "x411.originator-report",
7871 FT_BOOLEAN, 8, NULL, 0x10,
7873 { &hf_x411_PerRecipientIndicators_originator_non_delivery_report,
7874 { "originator-non-delivery-report", "x411.originator-non-delivery-report",
7875 FT_BOOLEAN, 8, NULL, 0x08,
7877 { &hf_x411_PerRecipientIndicators_reserved_5,
7878 { "reserved-5", "x411.reserved-5",
7879 FT_BOOLEAN, 8, NULL, 0x04,
7881 { &hf_x411_PerRecipientIndicators_reserved_6,
7882 { "reserved-6", "x411.reserved-6",
7883 FT_BOOLEAN, 8, NULL, 0x02,
7885 { &hf_x411_PerRecipientIndicators_reserved_7,
7886 { "reserved-7", "x411.reserved-7",
7887 FT_BOOLEAN, 8, NULL, 0x01,
7889 { &hf_x411_OtherActions_redirected,
7890 { "redirected", "x411.redirected",
7891 FT_BOOLEAN, 8, NULL, 0x80,
7893 { &hf_x411_OtherActions_dl_operation,
7894 { "dl-operation", "x411.dl-operation",
7895 FT_BOOLEAN, 8, NULL, 0x40,
7897 { &hf_x411_Operations_probe_submission_or_report_delivery,
7898 { "probe-submission-or-report-delivery", "x411.probe-submission-or-report-delivery",
7899 FT_BOOLEAN, 8, NULL, 0x80,
7901 { &hf_x411_Operations_message_submission_or_message_delivery,
7902 { "message-submission-or-message-delivery", "x411.message-submission-or-message-delivery",
7903 FT_BOOLEAN, 8, NULL, 0x40,
7905 { &hf_x411_WaitingMessages_long_content,
7906 { "long-content", "x411.long-content",
7907 FT_BOOLEAN, 8, NULL, 0x80,
7909 { &hf_x411_WaitingMessages_low_priority,
7910 { "low-priority", "x411.low-priority",
7911 FT_BOOLEAN, 8, NULL, 0x40,
7913 { &hf_x411_WaitingMessages_other_security_labels,
7914 { "other-security-labels", "x411.other-security-labels",
7915 FT_BOOLEAN, 8, NULL, 0x20,
7917 { &hf_x411_T_source_type_originated_by,
7918 { "originated-by", "x411.originated-by",
7919 FT_BOOLEAN, 8, NULL, 0x80,
7921 { &hf_x411_T_source_type_redirected_by,
7922 { "redirected-by", "x411.redirected-by",
7923 FT_BOOLEAN, 8, NULL, 0x40,
7925 { &hf_x411_T_source_type_dl_expanded_by,
7926 { "dl-expanded-by", "x411.dl-expanded-by",
7927 FT_BOOLEAN, 8, NULL, 0x20,
7929 { &hf_x411_T_standard_parameters_user_name,
7930 { "user-name", "x411.user-name",
7931 FT_BOOLEAN, 8, NULL, 0x80,
7933 { &hf_x411_T_standard_parameters_user_address,
7934 { "user-address", "x411.user-address",
7935 FT_BOOLEAN, 8, NULL, 0x40,
7937 { &hf_x411_T_standard_parameters_deliverable_class,
7938 { "deliverable-class", "x411.deliverable-class",
7939 FT_BOOLEAN, 8, NULL, 0x20,
7941 { &hf_x411_T_standard_parameters_default_delivery_controls,
7942 { "default-delivery-controls", "x411.default-delivery-controls",
7943 FT_BOOLEAN, 8, NULL, 0x10,
7945 { &hf_x411_T_standard_parameters_redirections,
7946 { "redirections", "x411.redirections",
7947 FT_BOOLEAN, 8, NULL, 0x08,
7949 { &hf_x411_T_standard_parameters_restricted_delivery,
7950 { "restricted-delivery", "x411.restricted-delivery",
7951 FT_BOOLEAN, 8, NULL, 0x04,
7953 { &hf_x411_PerMessageIndicators_disclosure_of_other_recipients,
7954 { "disclosure-of-other-recipients", "x411.disclosure-of-other-recipients",
7955 FT_BOOLEAN, 8, NULL, 0x80,
7957 { &hf_x411_PerMessageIndicators_implicit_conversion_prohibited,
7958 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
7959 FT_BOOLEAN, 8, NULL, 0x40,
7961 { &hf_x411_PerMessageIndicators_alternate_recipient_allowed,
7962 { "alternate-recipient-allowed", "x411.alternate-recipient-allowed",
7963 FT_BOOLEAN, 8, NULL, 0x20,
7965 { &hf_x411_PerMessageIndicators_content_return_request,
7966 { "content-return-request", "x411.content-return-request",
7967 FT_BOOLEAN, 8, NULL, 0x10,
7969 { &hf_x411_PerMessageIndicators_reserved,
7970 { "reserved", "x411.reserved",
7971 FT_BOOLEAN, 8, NULL, 0x08,
7973 { &hf_x411_PerMessageIndicators_bit_5,
7974 { "bit-5", "x411.bit-5",
7975 FT_BOOLEAN, 8, NULL, 0x04,
7977 { &hf_x411_PerMessageIndicators_bit_6,
7978 { "bit-6", "x411.bit-6",
7979 FT_BOOLEAN, 8, NULL, 0x02,
7981 { &hf_x411_PerMessageIndicators_service_message,
7982 { "service-message", "x411.service-message",
7983 FT_BOOLEAN, 8, NULL, 0x01,
7985 { &hf_x411_OriginatorReportRequest_report,
7986 { "report", "x411.report",
7987 FT_BOOLEAN, 8, NULL, 0x10,
7989 { &hf_x411_OriginatorReportRequest_non_delivery_report,
7990 { "non-delivery-report", "x411.non-delivery-report",
7991 FT_BOOLEAN, 8, NULL, 0x08,
7993 { &hf_x411_DeliveryFlags_implicit_conversion_prohibited,
7994 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
7995 FT_BOOLEAN, 8, NULL, 0x40,
7997 { &hf_x411_Criticality_for_submission,
7998 { "for-submission", "x411.for-submission",
7999 FT_BOOLEAN, 8, NULL, 0x80,
8001 { &hf_x411_Criticality_for_transfer,
8002 { "for-transfer", "x411.for-transfer",
8003 FT_BOOLEAN, 8, NULL, 0x40,
8005 { &hf_x411_Criticality_for_delivery,
8006 { "for-delivery", "x411.for-delivery",
8007 FT_BOOLEAN, 8, NULL, 0x20,
8009 { &hf_x411_PhysicalDeliveryModes_ordinary_mail,
8010 { "ordinary-mail", "x411.ordinary-mail",
8011 FT_BOOLEAN, 8, NULL, 0x80,
8013 { &hf_x411_PhysicalDeliveryModes_special_delivery,
8014 { "special-delivery", "x411.special-delivery",
8015 FT_BOOLEAN, 8, NULL, 0x40,
8017 { &hf_x411_PhysicalDeliveryModes_express_mail,
8018 { "express-mail", "x411.express-mail",
8019 FT_BOOLEAN, 8, NULL, 0x20,
8021 { &hf_x411_PhysicalDeliveryModes_counter_collection,
8022 { "counter-collection", "x411.counter-collection",
8023 FT_BOOLEAN, 8, NULL, 0x10,
8025 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
8026 { "counter-collection-with-telephone-advice", "x411.counter-collection-with-telephone-advice",
8027 FT_BOOLEAN, 8, NULL, 0x08,
8029 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice,
8030 { "counter-collection-with-telex-advice", "x411.counter-collection-with-telex-advice",
8031 FT_BOOLEAN, 8, NULL, 0x04,
8033 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
8034 { "counter-collection-with-teletex-advice", "x411.counter-collection-with-teletex-advice",
8035 FT_BOOLEAN, 8, NULL, 0x02,
8037 { &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery,
8038 { "bureau-fax-delivery", "x411.bureau-fax-delivery",
8039 FT_BOOLEAN, 8, NULL, 0x01,
8041 { &hf_x411_BuiltInEncodedInformationTypes_unknown,
8042 { "unknown", "x411.unknown",
8043 FT_BOOLEAN, 8, NULL, 0x80,
8045 { &hf_x411_BuiltInEncodedInformationTypes_ia5_text,
8046 { "ia5-text", "x411.ia5-text",
8047 FT_BOOLEAN, 8, NULL, 0x20,
8049 { &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile,
8050 { "g3-facsimile", "x411.g3-facsimile",
8051 FT_BOOLEAN, 8, NULL, 0x10,
8053 { &hf_x411_BuiltInEncodedInformationTypes_g4_class_1,
8054 { "g4-class-1", "x411.g4-class-1",
8055 FT_BOOLEAN, 8, NULL, 0x08,
8057 { &hf_x411_BuiltInEncodedInformationTypes_teletex,
8058 { "teletex", "x411.teletex",
8059 FT_BOOLEAN, 8, NULL, 0x04,
8061 { &hf_x411_BuiltInEncodedInformationTypes_videotex,
8062 { "videotex", "x411.videotex",
8063 FT_BOOLEAN, 8, NULL, 0x02,
8065 { &hf_x411_BuiltInEncodedInformationTypes_voice,
8066 { "voice", "x411.voice",
8067 FT_BOOLEAN, 8, NULL, 0x01,
8069 { &hf_x411_BuiltInEncodedInformationTypes_sfd,
8070 { "sfd", "x411.sfd",
8071 FT_BOOLEAN, 8, NULL, 0x80,
8073 { &hf_x411_BuiltInEncodedInformationTypes_mixed_mode,
8074 { "mixed-mode", "x411.mixed-mode",
8075 FT_BOOLEAN, 8, NULL, 0x40,
8077 { &hf_x411_G3FacsimileNonBasicParameters_two_dimensional,
8078 { "two-dimensional", "x411.two-dimensional",
8079 FT_BOOLEAN, 8, NULL, 0x80,
8081 { &hf_x411_G3FacsimileNonBasicParameters_fine_resolution,
8082 { "fine-resolution", "x411.fine-resolution",
8083 FT_BOOLEAN, 8, NULL, 0x40,
8085 { &hf_x411_G3FacsimileNonBasicParameters_unlimited_length,
8086 { "unlimited-length", "x411.unlimited-length",
8087 FT_BOOLEAN, 8, NULL, 0x08,
8089 { &hf_x411_G3FacsimileNonBasicParameters_b4_length,
8090 { "b4-length", "x411.b4-length",
8091 FT_BOOLEAN, 8, NULL, 0x04,
8093 { &hf_x411_G3FacsimileNonBasicParameters_a3_width,
8094 { "a3-width", "x411.a3-width",
8095 FT_BOOLEAN, 8, NULL, 0x02,
8097 { &hf_x411_G3FacsimileNonBasicParameters_b4_width,
8098 { "b4-width", "x411.b4-width",
8099 FT_BOOLEAN, 8, NULL, 0x01,
8101 { &hf_x411_G3FacsimileNonBasicParameters_t6_coding,
8102 { "t6-coding", "x411.t6-coding",
8103 FT_BOOLEAN, 8, NULL, 0x40,
8105 { &hf_x411_G3FacsimileNonBasicParameters_uncompressed,
8106 { "uncompressed", "x411.uncompressed",
8107 FT_BOOLEAN, 8, NULL, 0x02,
8109 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
8110 { "width-middle-864-of-1728", "x411.width-middle-864-of-1728",
8111 FT_BOOLEAN, 8, NULL, 0x04,
8113 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
8114 { "width-middle-1216-of-1728", "x411.width-middle-1216-of-1728",
8115 FT_BOOLEAN, 8, NULL, 0x02,
8117 { &hf_x411_G3FacsimileNonBasicParameters_resolution_type,
8118 { "resolution-type", "x411.resolution-type",
8119 FT_BOOLEAN, 8, NULL, 0x08,
8121 { &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400,
8122 { "resolution-400x400", "x411.resolution-400x400",
8123 FT_BOOLEAN, 8, NULL, 0x04,
8125 { &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300,
8126 { "resolution-300x300", "x411.resolution-300x300",
8127 FT_BOOLEAN, 8, NULL, 0x02,
8129 { &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15,
8130 { "resolution-8x15", "x411.resolution-8x15",
8131 FT_BOOLEAN, 8, NULL, 0x01,
8133 { &hf_x411_G3FacsimileNonBasicParameters_edi,
8134 { "edi", "x411.edi",
8135 FT_BOOLEAN, 8, NULL, 0x40,
8137 { &hf_x411_G3FacsimileNonBasicParameters_dtm,
8138 { "dtm", "x411.dtm",
8139 FT_BOOLEAN, 8, NULL, 0x20,
8141 { &hf_x411_G3FacsimileNonBasicParameters_bft,
8142 { "bft", "x411.bft",
8143 FT_BOOLEAN, 8, NULL, 0x10,
8145 { &hf_x411_G3FacsimileNonBasicParameters_mixed_mode,
8146 { "mixed-mode", "x411.mixed-mode",
8147 FT_BOOLEAN, 8, NULL, 0x20,
8149 { &hf_x411_G3FacsimileNonBasicParameters_character_mode,
8150 { "character-mode", "x411.character-mode",
8151 FT_BOOLEAN, 8, NULL, 0x08,
8153 { &hf_x411_G3FacsimileNonBasicParameters_twelve_bits,
8154 { "twelve-bits", "x411.twelve-bits",
8155 FT_BOOLEAN, 8, NULL, 0x40,
8157 { &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann,
8158 { "preferred-huffmann", "x411.preferred-huffmann",
8159 FT_BOOLEAN, 8, NULL, 0x20,
8161 { &hf_x411_G3FacsimileNonBasicParameters_full_colour,
8162 { "full-colour", "x411.full-colour",
8163 FT_BOOLEAN, 8, NULL, 0x10,
8165 { &hf_x411_G3FacsimileNonBasicParameters_jpeg,
8166 { "jpeg", "x411.jpeg",
8167 FT_BOOLEAN, 8, NULL, 0x08,
8169 { &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26,
8170 { "processable-mode-26", "x411.processable-mode-26",
8171 FT_BOOLEAN, 8, NULL, 0x01,
8174 /*--- End of included file: packet-x411-hfarr.c ---*/
8178 /* List of subtrees */
8179 static gint *ett[] = {
8182 /*--- Included file: packet-x411-ettarr.c ---*/
8184 &ett_x411_MTABindArgument,
8185 &ett_x411_AuthenticatedArgument,
8186 &ett_x411_MTABindResult,
8187 &ett_x411_AuthenticatedResult,
8191 &ett_x411_MessageTransferEnvelope,
8192 &ett_x411_SEQUENCE_OF_PerDomainBilateralInformation,
8193 &ett_x411_SET_OF_ExtensionField,
8194 &ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields,
8195 &ett_x411_PerRecipientMessageTransferFields,
8196 &ett_x411_ProbeTransferEnvelope,
8197 &ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields,
8198 &ett_x411_PerRecipientProbeTransferFields,
8199 &ett_x411_ReportTransferEnvelope,
8200 &ett_x411_ReportTransferContent,
8201 &ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields,
8202 &ett_x411_PerRecipientReportTransferFields,
8203 &ett_x411_PerDomainBilateralInformation,
8205 &ett_x411_T_private_domain,
8206 &ett_x411_PerRecipientIndicators,
8207 &ett_x411_LastTraceInformation,
8208 &ett_x411_InternalTraceInformation,
8209 &ett_x411_InternalTraceInformationElement,
8210 &ett_x411_MTASuppliedInformation,
8211 &ett_x411_T_attempted,
8212 &ett_x411_TraceInformation,
8213 &ett_x411_TraceInformationElement,
8214 &ett_x411_DomainSuppliedInformation,
8215 &ett_x411_OtherActions,
8216 &ett_x411_MTSBindArgument,
8217 &ett_x411_MTSBindResult,
8218 &ett_x411_ObjectName,
8219 &ett_x411_MessagesWaiting,
8220 &ett_x411_DeliveryQueue,
8221 &ett_x411_Credentials,
8223 &ett_x411_SecurityContext,
8224 &ett_x411_MessageSubmissionArgument,
8225 &ett_x411_MessageSubmissionResult,
8226 &ett_x411_ProbeSubmissionResult,
8227 &ett_x411_ImproperlySpecifiedRecipients,
8229 &ett_x411_SET_OF_ContentType,
8230 &ett_x411_Operations,
8231 &ett_x411_WaitingMessages,
8232 &ett_x411_MessageDeliveryArgument,
8233 &ett_x411_MessageDeliveryResult,
8234 &ett_x411_ReportDeliveryArgument,
8235 &ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields,
8236 &ett_x411_ReportDeliveryResult,
8237 &ett_x411_DeliveryControlArgument,
8238 &ett_x411_DeliveryControlResult,
8239 &ett_x411_RefusedOperation,
8240 &ett_x411_T_refused_argument,
8242 &ett_x411_RegisterArgument,
8243 &ett_x411_SET_OF_DeliverableClass,
8244 &ett_x411_RegisterResult,
8245 &ett_x411_T_non_empty_result,
8246 &ett_x411_ChangeCredentialsArgument,
8247 &ett_x411_UserAddress,
8249 &ett_x411_Redirections,
8250 &ett_x411_RecipientRedirection,
8251 &ett_x411_SET_OF_RedirectionClass,
8252 &ett_x411_MessageClass,
8253 &ett_x411_SET_OF_Priority,
8254 &ett_x411_SEQUENCE_OF_Restriction,
8255 &ett_x411_EncodedInformationTypesConstraints,
8256 &ett_x411_RestrictedDelivery,
8257 &ett_x411_Restriction,
8258 &ett_x411_T_source_type,
8259 &ett_x411_ExactOrPattern,
8260 &ett_x411_RegistrationTypes,
8261 &ett_x411_T_standard_parameters,
8262 &ett_x411_T_extensions,
8263 &ett_x411_MessageSubmissionEnvelope,
8264 &ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields,
8265 &ett_x411_PerRecipientMessageSubmissionFields,
8266 &ett_x411_ProbeSubmissionEnvelope,
8267 &ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
8268 &ett_x411_PerRecipientProbeSubmissionFields,
8269 &ett_x411_MessageDeliveryEnvelope,
8270 &ett_x411_OtherMessageDeliveryFields,
8271 &ett_x411_ReportDeliveryEnvelope,
8272 &ett_x411_PerRecipientReportDeliveryFields,
8273 &ett_x411_ReportType,
8274 &ett_x411_DeliveryReport,
8275 &ett_x411_NonDeliveryReport,
8276 &ett_x411_ContentTypes,
8277 &ett_x411_ContentType,
8278 &ett_x411_DeliveredContentType,
8279 &ett_x411_PerMessageIndicators,
8280 &ett_x411_OriginatorReportRequest,
8281 &ett_x411_DeliveryFlags,
8282 &ett_x411_OtherRecipientNames,
8283 &ett_x411_ExtensionType,
8284 &ett_x411_Criticality,
8285 &ett_x411_ExtensionField,
8286 &ett_x411_RequestedDeliveryMethod,
8287 &ett_x411_PhysicalDeliveryModes,
8288 &ett_x411_ContentCorrelator,
8289 &ett_x411_RedirectionHistory,
8290 &ett_x411_Redirection,
8291 &ett_x411_IntendedRecipientName,
8292 &ett_x411_DLExpansionHistory,
8293 &ett_x411_DLExpansion,
8294 &ett_x411_OriginatorAndDLExpansionHistory,
8295 &ett_x411_OriginatorAndDLExpansion,
8296 &ett_x411_PerRecipientReportFields,
8297 &ett_x411_T_report_type,
8298 &ett_x411_PerRecipientDeliveryReportFields,
8299 &ett_x411_PerRecipientNonDeliveryReportFields,
8300 &ett_x411_ReportingMTAName,
8301 &ett_x411_ExtendedCertificates,
8302 &ett_x411_ExtendedCertificate,
8303 &ett_x411_DLExemptedRecipients,
8304 &ett_x411_CertificateSelectors,
8305 &ett_x411_MTSIdentifier,
8306 &ett_x411_GlobalDomainIdentifier,
8307 &ett_x411_PrivateDomainIdentifier,
8309 &ett_x411_ORAddress,
8310 &ett_x411_BuiltInStandardAttributes,
8311 &ett_x411_CountryName,
8312 &ett_x411_AdministrationDomainName,
8313 &ett_x411_PrivateDomainName,
8314 &ett_x411_PersonalName,
8315 &ett_x411_OrganizationalUnitNames,
8316 &ett_x411_BuiltInDomainDefinedAttributes,
8317 &ett_x411_BuiltInDomainDefinedAttribute,
8318 &ett_x411_ExtensionAttributes,
8319 &ett_x411_ExtensionAttribute,
8320 &ett_x411_TeletexPersonalName,
8321 &ett_x411_UniversalPersonalName,
8322 &ett_x411_TeletexOrganizationalUnitNames,
8323 &ett_x411_UniversalOrganizationalUnitNames,
8324 &ett_x411_UniversalOrBMPString,
8325 &ett_x411_T_character_encoding,
8326 &ett_x411_PhysicalDeliveryCountryName,
8327 &ett_x411_PostalCode,
8328 &ett_x411_UnformattedPostalAddress,
8329 &ett_x411_T_printable_address,
8330 &ett_x411_PDSParameter,
8331 &ett_x411_ExtendedNetworkAddress,
8332 &ett_x411_T_e163_4_address,
8333 &ett_x411_TeletexDomainDefinedAttributes,
8334 &ett_x411_TeletexDomainDefinedAttribute,
8335 &ett_x411_UniversalDomainDefinedAttributes,
8336 &ett_x411_UniversalDomainDefinedAttribute,
8337 &ett_x411_EncodedInformationTypes,
8338 &ett_x411_BuiltInEncodedInformationTypes,
8339 &ett_x411_ExtendedEncodedInformationTypes,
8340 &ett_x411_NonBasicParameters,
8341 &ett_x411_G3FacsimileNonBasicParameters,
8342 &ett_x411_TeletexNonBasicParameters,
8343 &ett_x411_SecurityLabel,
8344 &ett_x411_SecurityCategories,
8345 &ett_x411_SecurityCategory,
8347 /*--- End of included file: packet-x411-ettarr.c ---*/
8351 /* Register protocol */
8352 proto_x411 = proto_register_protocol(PNAME, PSNAME, PFNAME);
8353 register_dissector("x411", dissect_x411, proto_x411);
8354 /* Register fields and subtrees */
8355 proto_register_field_array(proto_x411, hf, array_length(hf));
8356 proto_register_subtree_array(ett, array_length(ett));
8361 /*--- proto_reg_handoff_x411 --- */
8362 void proto_reg_handoff_x411(void) {
8363 dissector_handle_t handle = NULL;
8366 /*--- Included file: packet-x411-dis-tab.c ---*/
8368 register_ber_oid_dissector("x411.extension.1", dissect_RecipientReassignmentProhibited_PDU, proto_x411, "recipient-reassignment-prohibited");
8369 register_ber_oid_dissector("x411.extension.2", dissect_MTSOriginatorRequestedAlternateRecipient_PDU, proto_x411, "originator-requested-alternate-recipient");
8370 register_ber_oid_dissector("x411.extension.3", dissect_DLExpansionProhibited_PDU, proto_x411, "dl-expansion-prohibited");
8371 register_ber_oid_dissector("x411.extension.4", dissect_ConversionWithLossProhibited_PDU, proto_x411, "conversion-with-loss-prohibited");
8372 register_ber_oid_dissector("x411.extension.5", dissect_LatestDeliveryTime_PDU, proto_x411, "latest-delivery-time");
8373 register_ber_oid_dissector("x411.extension.6", dissect_RequestedDeliveryMethod_PDU, proto_x411, "requested-delivery-method");
8374 register_ber_oid_dissector("x411.extension.7", dissect_PhysicalForwardingProhibited_PDU, proto_x411, "physical-forwarding-prohibited");
8375 register_ber_oid_dissector("x411.extension.8", dissect_PhysicalForwardingAddressRequest_PDU, proto_x411, "physical-forwarding-address-request");
8376 register_ber_oid_dissector("x411.extension.9", dissect_PhysicalDeliveryModes_PDU, proto_x411, "physical-delivery-modes");
8377 register_ber_oid_dissector("x411.extension.10", dissect_RegisteredMailType_PDU, proto_x411, "registered-mail-type");
8378 register_ber_oid_dissector("x411.extension.11", dissect_RecipientNumberForAdvice_PDU, proto_x411, "recipient-number-for-advice");
8379 register_ber_oid_dissector("x411.extension.12", dissect_PhysicalRenditionAttributes_PDU, proto_x411, "physical-rendition-attributes");
8380 register_ber_oid_dissector("x411.extension.13", dissect_OriginatorReturnAddress_PDU, proto_x411, "originator-return-address");
8381 register_ber_oid_dissector("x411.extension.14", dissect_PhysicalDeliveryReportRequest_PDU, proto_x411, "physical-delivery-report-request");
8382 register_ber_oid_dissector("x411.extension.15", dissect_OriginatorCertificate_PDU, proto_x411, "originator-certificate");
8383 register_ber_oid_dissector("x411.extension.17", dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_x411, "content-confidentiality-algorithm-identifier");
8384 register_ber_oid_dissector("x411.extension.20", dissect_MessageSecurityLabel_PDU, proto_x411, "message-security-label");
8385 register_ber_oid_dissector("x411.extension.21", dissect_ProofOfSubmissionRequest_PDU, proto_x411, "proof-of-submission-request");
8386 register_ber_oid_dissector("x411.extension.22", dissect_ProofOfDeliveryRequest_PDU, proto_x411, "proof-of-delivery-request");
8387 register_ber_oid_dissector("x411.extension.23", dissect_ContentCorrelator_PDU, proto_x411, "content-correlator");
8388 register_ber_oid_dissector("x411.extension.25", dissect_RedirectionHistory_PDU, proto_x411, "redirection-history");
8389 register_ber_oid_dissector("x411.extension.26", dissect_DLExpansionHistory_PDU, proto_x411, "dl-expansion-history");
8390 register_ber_oid_dissector("x411.extension.27", dissect_PhysicalForwardingAddress_PDU, proto_x411, "physical-forwarding-address");
8391 register_ber_oid_dissector("x411.extension.30", dissect_OriginatorAndDLExpansionHistory_PDU, proto_x411, "originator-and-DL-expansion-history");
8392 register_ber_oid_dissector("x411.extension.31", dissect_ReportingDLName_PDU, proto_x411, "reporting-DL-name");
8393 register_ber_oid_dissector("x411.extension.32", dissect_ReportingMTACertificate_PDU, proto_x411, "reporting-MTA-certificate");
8394 register_ber_oid_dissector("x411.extension.37", dissect_TraceInformation_PDU, proto_x411, "trace-information");
8395 register_ber_oid_dissector("x411.extension.38", dissect_InternalTraceInformation_PDU, proto_x411, "internal-trace-information");
8396 register_ber_oid_dissector("x411.extension.39", dissect_ReportingMTAName_PDU, proto_x411, "reporting-MTA-name");
8397 register_ber_oid_dissector("x411.extension.40", dissect_ExtendedCertificates_PDU, proto_x411, "multiple-originator-certificates");
8398 register_ber_oid_dissector("x411.extension.42", dissect_DLExemptedRecipients_PDU, proto_x411, "dl-exempted-recipients");
8399 register_ber_oid_dissector("x411.extension.45", dissect_CertificateSelectors_PDU, proto_x411, "certificate-selectors");
8400 register_ber_oid_dissector("x411.extension-attribute.1", dissect_CommonName_PDU, proto_x411, "common-name");
8401 register_ber_oid_dissector("x411.extension-attribute.2", dissect_TeletexCommonName_PDU, proto_x411, "teletex-common-name");
8402 register_ber_oid_dissector("x411.extension-attribute.3", dissect_TeletexOrganizationName_PDU, proto_x411, "teletex-organization-name");
8403 register_ber_oid_dissector("x411.extension-attribute.4", dissect_TeletexPersonalName_PDU, proto_x411, "teletex-personal-name");
8404 register_ber_oid_dissector("x411.extension-attribute.5", dissect_TeletexOrganizationalUnitNames_PDU, proto_x411, "teletex-organizational-unit-names");
8405 register_ber_oid_dissector("x411.extension-attribute.7", dissect_PDSName_PDU, proto_x411, "pds-name");
8406 register_ber_oid_dissector("x411.extension-attribute.8", dissect_PhysicalDeliveryCountryName_PDU, proto_x411, "physical-delivery-country-name");
8407 register_ber_oid_dissector("x411.extension-attribute.9", dissect_PostalCode_PDU, proto_x411, "postal-code");
8408 register_ber_oid_dissector("x411.extension-attribute.10", dissect_PhysicalDeliveryOfficeName_PDU, proto_x411, "physical-delivery-office-name");
8409 register_ber_oid_dissector("x411.extension-attribute.24", dissect_UniversalCommonName_PDU, proto_x411, "universal-common-name");
8410 register_ber_oid_dissector("x411.extension-attribute.25", dissect_UniversalOrganizationName_PDU, proto_x411, "universal-organization-name");
8411 register_ber_oid_dissector("x411.extension-attribute.26", dissect_UniversalPersonalName_PDU, proto_x411, "universal-personal-name");
8412 register_ber_oid_dissector("x411.extension-attribute.27", dissect_UniversalOrganizationalUnitNames_PDU, proto_x411, "universal-organizational-unit-names");
8415 /*--- End of included file: packet-x411-dis-tab.c ---*/
8418 register_ber_oid_name("2.6.0.1.6", "id-ac-mts-transfer");
8420 /* we register RTSE with BER (which is used by ACSE) */
8421 if(handle = find_dissector("rtse")) {
8422 register_ber_oid_dissector_handle("2.6.0.2.12", handle, 0 , "id-as-mta-rtse");
8423 register_ber_oid_dissector_handle("2.6.0.2.7", handle, 0 , "id-as-mtse");
8426 /* then register ROS with RTSE */
8427 if(handle = find_dissector("ros")) {
8428 register_rtse_oid_dissector_handle("2.6.0.2.12", handle, 0 , "id-as-mta-rtse");
8431 /* and then finally X411 with ROS and RTSE */
8432 if(handle = find_dissector("x411")) {
8433 register_ros_oid_dissector_handle("2.6.0.2.12", handle, 0, "id-as-mta-rtse");
8434 register_rtse_oid_dissector_handle("2.6.0.2.7", handle, 0, "id-as-mtse");
8436 register_rtse_oid_dissector_handle("applicationProtocol.1", handle, 0, "mts-transfer-protocol-1984");
8437 register_rtse_oid_dissector_handle("applicationProtocol.12", handle, 0, "mta-transfer-protocol");